
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: Inter,Segoe UI,Arial,sans-serif;
  color: #173f39;
  background: #f4f8f7;
}
button,input,select,textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
.hidden {
  display: none!important;
}
.eyebrow {
  display: block;
  color: #087d70;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.muted {
  color: #64748b;
}
.primary,.secondary,.danger {
  border: 0;
  border-radius: 10px;
  padding: 11px 17px;
  font-weight: 800;
}
.primary {
  background: #0f8f80;
  color: white;
}
.primary:hover {
  background: #08786c;
}
.secondary {
  background: white;
  color: #244942;
  border: 1px solid #cadeda;
}
.danger {
  background: #fee2e2;
  color: #b91c1c;
}
.wide {
  width: 100%;
}
.alert {
  padding: 11px 13px;
  border-radius: 10px;
  margin: 10px 0;
  font-size: 13px;
}
.alert.error {
  background: #fff1f2;
  color: #be123c;
}
.alert.success {
  background: #ecfdf5;
  color: #047857;
}
.login-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 20% 20%,#d5f5ed,transparent 36%),linear-gradient(135deg,#eef8f5,#f9fbfa);
}
.login-shell {
  width: min(880px,94vw);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 28px 80px rgba(18,64,56,.18);
}
.login-brand {
  padding: 52px;
  background: linear-gradient(145deg,#0d756a,#0d4e49);
  color: white;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #d1fae5;
  color: #08665d;
  font-size: 24px;
  font-weight: 900;
}
.login-brand h1 {
  font-size: 38px;
  margin: 8px 0;
}
.login-brand .muted {
  color: #d0ece7;
}
.login-features {
  display: grid;
  gap: 12px;
  margin-top: 32px;
}
.login-features span:before {
  content: '✓';
  margin-right: 9px;
  color: #6ee7b7;
}
.login-card {
  padding: 46px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.login-card h2 {
  font-size: 30px;
  margin: 5px 0;
}
.login-card label,.compact-form label {
  display: grid;
  gap: 7px;
  margin: 9px 0;
  color: #345b54;
  font-size: 12px;
  font-weight: 800;
}
.login-card input,.compact-form input,.compact-form select {
  width: 100%;
  padding: 12px;
  border: 1px solid #cadeda;
  border-radius: 10px;
  outline: 0;
}
.demo-accounts {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  padding: 12px;
  background: #f4f8f7;
  border-radius: 10px;
  color: #64748b;
}
.topbar {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  background: #fff;
  border-bottom: 1px solid #dce9e6;
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  color: #173f39;
}
.brand>span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #0f8f80;
  color: white;
  font-weight: 900;
}
.brand small {
  display: block;
  color: #64748b;
}
.user-menu {
  display: flex;
  align-items: center;
  gap: 15px;
}
.user-menu a,.sidebar-user a {
  color: #be123c;
  text-decoration: none;
  font-weight: 800;
}
.page {
  width: min(1100px,92vw);
  margin: 34px auto 60px;
}
.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}
.page-heading h1 {
  font-size: 30px;
  margin: 5px 0;
}
.page-heading p {
  color: #64748b;
  margin: 0;
}
.form-card,.data-card {
  background: #fff;
  border: 1px solid #d7e6e2;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 10px 30px rgba(20,72,63,.05);
}
.section-title {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 18px 0 12px;
  border-top: 1px solid #e6efed;
  margin-top: 12px;
}
.section-title:first-child {
  border-top: 0;
  margin-top: 0;
}
.section-title>span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #dff5ef;
  color: #08796e;
  font-weight: 900;
}
.section-title h2 {
  margin: 0;
  font-size: 19px;
}
.section-title p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 12px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
}
.form-grid label,.form-card>label {
  display: grid;
  gap: 6px;
  color: #315850;
  font-size: 12px;
  font-weight: 800;
}
.form-grid input,.form-grid select,.form-card textarea,.soil-grid input {
  width: 100%;
  padding: 12px;
  border: 1px solid #caddd8;
  border-radius: 10px;
  background: #fbfdfc;
  outline: 0;
}
.span-2 {
  grid-column: span 2;
}
.input-action {
  display: flex;
  gap: 8px;
}
.input-action input {
  flex: 1;
}
.source-switch {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 13px;
  background: #eff8f5;
  border-radius: 12px;
}
.source-switch label {
  font-size: 13px;
  font-weight: 800;
}
.status {
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.status.disconnected {
  background: #fee2e2;
  color: #be123c;
}
.status.connected {
  background: #d1fae5;
  color: #047857;
}
.soil-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
  margin: 15px 0;
}
.soil-grid label {
  padding: 14px;
  border: 1px solid #d9e7e3;
  border-radius: 13px;
  background: #fff;
  display: grid;
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
}
.soil-grid small {
  color: #64748b;
}
.analysis-box {
  display: flex;
  gap: 22px;
  align-items: center;
  margin-top: 16px;
  padding: 16px;
  border-radius: 14px;
  background: linear-gradient(135deg,#ecfdf5,#f8fbfa);
  border: 1px solid #cce9e1;
}
.analysis-box>div {
  min-width: 150px;
}
.analysis-box span,.analysis-box small {
  display: block;
  color: #64748b;
  font-size: 11px;
}
.analysis-box strong {
  display: block;
  font-size: 24px;
  color: #9a6200;
}
.analysis-box p {
  margin: 0;
  color: #405e58;
}
.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 15px;
}
.card-head h2 {
  margin: 0;
}
.card-head p {
  margin: 4px 0;
  color: #64748b;
  font-size: 12px;
}
.table-wrap {
  overflow: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
th {
  text-align: left;
  color: #64748b;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .05em;
  padding: 10px;
  border-bottom: 1px solid #dce8e5;
}
td {
  padding: 11px 10px;
  border-bottom: 1px solid #edf2f1;
  white-space: nowrap;
}
.pill {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}
.pill.high {
  background: #d1fae5;
  color: #047857;
}
.pill.moderate {
  background: #fef3c7;
  color: #a16207;
}
.pill.low {
  background: #fee2e2;
  color: #b91c1c;
}
.modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15,23,42,.55);
}
.modal-card {
  position: relative;
  width: min(520px,96vw);
  max-height: 90vh;
  overflow: auto;
  background: white;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 24px 70px rgba(0,0,0,.25);
}
.modal-x {
  position: absolute;
  right: 14px;
  top: 14px;
  border: 1px solid #d9e5e2;
  background: #fff;
  border-radius: 9px;
  width: 32px;
  height: 32px;
  font-size: 20px;
}
.receipt-card pre {
  width: 48mm;
  margin: 18px auto;
  padding: 10px;
  border: 1px dashed #94a3b8;
  background: #fffdf8;
  font: 9px/1.35 monospace;
  white-space: pre-wrap;
}
.modal-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.admin-body {
  padding-left: 242px;
}
.sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 242px;
  background: #103f3a;
  color: white;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  z-index: 30;
}
.sidebar-brand {
  color: white;
  margin: 0 8px 28px;
}
.sidebar nav {
  display: grid;
  gap: 5px;
}
.nav-link {
  border: 0;
  border-radius: 10px;
  padding: 12px 14px;
  text-align: left;
  background: transparent;
  color: #c6dfda;
  font-weight: 800;
}
.nav-link:hover,.nav-link.active {
  background: #1b5a53;
  color: white;
}
.sidebar-user {
  margin-top: auto;
  padding: 15px;
  background: rgba(255,255,255,.07);
  border-radius: 12px;
  display: grid;
  gap: 5px;
}
.sidebar-user small {
  color: #a9ccc6;
}
.admin-main {
  min-height: 100vh;
  padding: 24px 30px 60px;
}
.admin-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 23px;
}
.admin-top h1 {
  margin: 4px 0;
  font-size: 28px;
}
.header-actions {
  display: flex;
  gap: 9px;
}
.admin-view {
  display: none;
}
.admin-view.active {
  display: block;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  margin-bottom: 15px;
}
.metric-grid article,.quality-grid article {
  padding: 18px;
  background: #fff;
  border: 1px solid #d7e6e2;
  border-radius: 15px;
}
.metric-grid span,.quality-grid span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.metric-grid strong,.quality-grid strong {
  display: block;
  font-size: 30px;
  margin: 6px 0;
}
.metric-grid small {
  color: #849892;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 15px;
  margin-bottom: 15px;
}
.map-host {
  height: 330px;
  border-radius: 14px;
  background: linear-gradient(145deg,#ebf8f4,#e5f0fa);
  overflow: hidden;
}
.map-host.large {
  height: 560px;
}
.map-host svg {
  width: 100%;
  height: 100%;
  display: block;
}
.map-brgy polygon {
  stroke: #285e58;
  stroke-width: 3;
  fill: #d9e6e3;
  transition: .18s;
}
.map-brgy text {
  font-size: 11px;
  font-weight: 900;
  fill: #173f39;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 3;
}
.map-brgy.high polygon {
  fill: #8ee0bd;
}
.map-brgy.moderate polygon {
  fill: #f7dc77;
}
.map-brgy.low polygon {
  fill: #f39a96;
}
.map-brgy.none polygon {
  fill: #dfe9e7;
}
.map-brgy:hover polygon,.map-brgy.selected polygon {
  stroke: #062f2b;
  stroke-width: 6;
  filter: brightness(1.04);
}
.activity-list {
  display: grid;
}
.activity-list button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 4px;
  border: 0;
  border-bottom: 1px solid #e7efed;
  background: white;
  text-align: left;
}
.activity-list div {
  flex: 1;
}
.activity-list small {
  display: block;
  color: #64748b;
  margin-top: 3px;
}
.activity-list time {
  font-size: 10px;
  color: #64748b;
}
.activity-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.activity-dot.high {
  background: #16a36f;
}
.activity-dot.moderate {
  background: #e7aa00;
}
.activity-dot.low {
  background: #dc2e37;
}
.filter-row {
  display: flex;
  gap: 12px;
  align-items: end;
  margin-bottom: 14px;
}
.filter-row label {
  display: grid;
  gap: 5px;
  font-size: 10px;
  font-weight: 800;
  color: #64748b;
}
.filter-row input,.filter-row select,.card-head select {
  padding: 10px;
  border: 1px solid #cddeda;
  border-radius: 9px;
  background: white;
}
.filter-row input {
  min-width: 300px;
}
.map-legend {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 12px;
  color: #64748b;
  font-size: 11px;
}
.map-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 5px;
}
.map-legend .high {
  background: #16a36f;
}
.map-legend .moderate {
  background: #e7aa00;
}
.map-legend .low {
  background: #dc2e37;
}
.map-legend .none {
  background: #cbd5d1;
}
.two-column {
  display: grid;
  grid-template-columns: 1.6fr .7fr;
  gap: 15px;
}
.compact-form {
  height: max-content;
}
.compact-form h2 {
  margin-top: 0;
}
.table-btn {
  border: 1px solid #cadeda;
  background: #fff;
  color: #276057;
  border-radius: 8px;
  padding: 6px 9px;
  font-weight: 800;
  font-size: 10px;
}
.quality-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 15px;
}
.quality-grid p {
  color: #64748b;
  margin: 0;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
  margin: 16px 0;
}
.detail-grid span {
  padding: 10px;
  background: #f4f8f7;
  border-radius: 10px;
  color: #64748b;
  font-size: 10px;
}
.detail-grid b {
  display: block;
  color: #173f39;
  font-size: 12px;
  margin-top: 4px;
}
.soil-detail {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
}
.soil-detail div {
  padding: 12px;
  background: #eef7f4;
  border-radius: 10px;
  font-size: 10px;
}
.soil-detail b {
  display: block;
  font-size: 14px;
  margin-top: 4px;
}
.settings-card {
  max-width: 460px;
}
.empty {
  text-align: center;
  color: #64748b;
  padding: 35px;
}
@media (max-width:900px) {
  .login-shell {
    grid-template-columns: 1fr;
  }
  .login-brand {
    display: none;
  }
  .form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .soil-grid {
    grid-template-columns: 1fr 1fr;
  }
  .admin-body {
    padding-left: 0;
  }
  .sidebar {
    position: static;
    width: 100%;
    height: auto;
  }
  .sidebar nav {
    display: flex;
    overflow: auto;
  }
  .sidebar-user {
    display: none;
  }
  .admin-main {
    padding: 20px;
  }
  .metric-grid {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-grid,.two-column {
    grid-template-columns: 1fr;
  }
  .map-host.large {
    height: 420px;
  }
}
@media (max-width:580px) {
  .form-grid,.soil-grid,.metric-grid,.quality-grid {
    grid-template-columns: 1fr;
  }
  .span-2 {
    grid-column: auto;
  }
  .page-heading,.admin-top {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .analysis-box {
    align-items: flex-start;
    flex-direction: column;
  }
  .filter-row {
    align-items: stretch;
    flex-direction: column;
  }
  .filter-row input {
    min-width: 0;
  }
  .admin-main {
    padding: 14px;
  }
  .login-card {
    padding: 30px;
  }
}
/* Thesis analytics modules — record-driven, no seeded data */
.analytics-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}
.analytics-grid .span-two {
  grid-column: 1/-1;
}
.empty-state {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px;
  border: 1px dashed #cbded9;
  border-radius: 13px;
  background: #f8fbfa;
  color: #64748b;
}
.empty-state>span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e9f4f1;
  color: #0f766e;
  font-size: 20px;
}
.empty-state b {
  margin-top: 10px;
  color: #244942;
}
.empty-state p {
  max-width: 390px;
  margin: 5px 0 0;
  font-size: 11px;
  line-height: 1.5;
}
.map-detail-panel {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 9px;
  margin-top: 14px;
}
.map-detail-panel>div {
  padding: 11px;
  border-radius: 11px;
  background: #f3f8f7;
}
.map-detail-panel span {
  display: block;
  color: #64748b;
  font-size: 9px;
  text-transform: uppercase;
  font-weight: 800;
}
.map-detail-panel strong {
  display: block;
  margin-top: 5px;
  font-size: 12px;
}
.map-detail-panel>.empty-state {
  grid-column: 1/-1;
}
.coverage-tag {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 999px;
  background: #e7f5f1;
  color: #08786d;
  font-size: 9px;
  font-weight: 900;
}
.coverage-tag.empty {
  background: #edf2f1;
  color: #71837f;
}
.bar-list {
  display: grid;
  gap: 14px;
}
.bar-list header,.component-list header {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
}
.bar-track {
  height: 8px;
  margin-top: 6px;
  border-radius: 999px;
  background: #e8f0ee;
  overflow: hidden;
}
.bar-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#0f8f80,#34c8aa);
}
.ranking-list {
  display: grid;
  gap: 8px;
}
.ranking-list>div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px;
  border: 1px solid #e1ece9;
  border-radius: 11px;
}
.ranking-list>div>div {
  flex: 1;
}
.ranking-list small {
  display: block;
  color: #64748b;
  margin-top: 3px;
}
.rank-number {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #e8f6f2;
  font-weight: 900;
}
.chart-host {
  min-height: 330px;
}
.trend-svg {
  width: 100%;
  height: auto;
}
.trend-svg line {
  stroke: #b8cdc8;
  stroke-width: 1;
}
.trend-svg polyline {
  fill: none;
  stroke: #0f8f80;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.trend-svg circle {
  fill: #fff;
  stroke: #0f8f80;
  stroke-width: 3;
}
.trend-svg text {
  font-size: 10px;
  fill: #546b66;
}
.stack-label {
  display: grid;
  gap: 6px;
  margin: 10px 0 14px;
  color: #526b65;
  font-size: 11px;
  font-weight: 800;
}
.stack-label select {
  padding: 10px;
  border: 1px solid #cddeda;
  border-radius: 9px;
  background: #fff;
}
.thesis-two-column {
  margin-top: 15px;
}
.comparison-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  text-align: center;
  padding: 13px;
  border-radius: 12px;
  background: #eef8f5;
}
.comparison-head span {
  display: block;
  color: #64748b;
  font-size: 9px;
  text-transform: uppercase;
}
.delta-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  margin-top: 12px;
}
.delta-grid>div {
  padding: 11px;
  border: 1px solid #deebe8;
  border-radius: 11px;
}
.delta-grid span,.delta-grid small {
  display: block;
  color: #64748b;
  font-size: 9px;
}
.delta-grid b {
  display: block;
  margin: 4px 0;
}
.method-note {
  margin: 12px 0 0;
  padding: 10px;
  border-radius: 9px;
  background: #f6f8f8;
  color: #64748b;
  font-size: 10px;
  line-height: 1.5;
}
.shi-total {
  text-align: center;
  padding: 16px;
  border-radius: 13px;
  background: #eef8f5;
}
.shi-total span,.shi-total small {
  display: block;
  color: #64748b;
  font-size: 10px;
}
.shi-total strong {
  display: block;
  font-size: 31px;
  margin: 3px 0;
}
.component-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.price-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  margin-bottom: 14px;
}
.price-grid label {
  display: grid;
  gap: 5px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
}
.price-grid input {
  padding: 10px;
  border: 1px solid #cddeda;
  border-radius: 9px;
}
.price-grid button {
  align-self: end;
}
.cost-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px;
  margin-top: 10px;
  border-radius: 11px;
  background: #eef8f5;
}
.cost-total span {
  color: #64748b;
  font-size: 10px;
}
.cost-total strong {
  font-size: 20px;
}
.insight-list {
  display: grid;
  gap: 10px;
}
.insight-list article {
  padding: 12px;
  border-left: 4px solid #0f8f80;
  border-radius: 8px;
  background: #f1f8f6;
}
.insight-list span {
  font-size: 9px;
  color: #08786d;
  font-weight: 900;
  text-transform: uppercase;
}
.insight-list p {
  margin: 5px 0 0;
  color: #304f49;
  font-size: 12px;
  line-height: 1.5;
}
.readiness-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 11px;
}
.readiness-grid article {
  padding: 14px;
  border-radius: 12px;
  border: 1px solid #dce9e6;
}
.readiness-grid article.ready {
  background: #f0fdf7;
  border-color: #a7f3d0;
}
.readiness-grid article.waiting {
  background: #fafbfb;
}
.readiness-grid span {
  font-size: 9px;
  text-transform: uppercase;
  font-weight: 900;
  color: #64748b;
}
.readiness-grid b {
  display: block;
  margin: 5px 0;
}
.readiness-grid p {
  margin: 0;
  color: #64748b;
  font-size: 10px;
}
.quality-table-card {
  margin-top: 15px;
}
@media (max-width:1000px) {
  .map-detail-panel {
    grid-template-columns: repeat(3,1fr);
  }
  .readiness-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:720px) {
  .analytics-grid {
    grid-template-columns: 1fr;
  }
  .analytics-grid .span-two {
    grid-column: auto;
  }
  .map-detail-panel,.readiness-grid,.delta-grid,.price-grid {
    grid-template-columns: 1fr;
  }
  .thesis-two-column {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   RESPONSIVE APPLICATION SYSTEM — LOGIN + ADMIN
   ========================================================= */
:root {
  --ui-primary: #0f766e;
  --ui-primary-strong: #0b5f58;
  --ui-primary-soft: #e9f8f4;
  --ui-bg: #f3f8f6;
  --ui-surface: #ffffff;
  --ui-border: #d8e6e2;
  --ui-text: #173f39;
  --ui-muted: #64748b;
  --ui-danger: #be123c;
  --ui-shadow: 0 16px 42px rgba(15,76,68,.08);
  --ui-radius: 18px;
}
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
body {
  background: linear-gradient(180deg,#f7fbfa,#eef6f3);
  color: var(--ui-text);
}
button,input,select,textarea {
  min-width: 0;
}
button {
  touch-action: manipulation;
}
input,select,textarea {
  font-size: 16px;
}
.primary,.secondary,.danger,.table-btn {
  transition: transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.primary:hover,.secondary:hover,.table-btn:hover {
  transform: translateY(-1px);
}
.primary:focus-visible,.secondary:focus-visible,.danger:focus-visible,.nav-link:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline: 3px solid rgba(20,184,166,.22);
  outline-offset: 2px;
}
/* Login */
.login-shell {
  border: 1px solid rgba(207,226,221,.9);
  box-shadow: 0 30px 90px rgba(15,76,68,.16);
}
.login-card input {
  min-height: 46px;
  background: #fbfdfc;
}
.login-card .primary {
  min-height: 46px;
}
/* Admin shell */
.admin-body {
  padding-left: 268px;
  background: linear-gradient(180deg,#f7fbfa,#eef6f3);
}
.sidebar {
  width: 268px;
  padding: 24px 18px;
  background: linear-gradient(180deg,#123f3a,#0d332f);
  box-shadow: 12px 0 35px rgba(15,52,47,.12);
}
.sidebar-brand {
  margin: 0 8px 30px;
}
.sidebar-brand>span {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg,#27b59e,#0f8f80);
}
.sidebar nav {
  gap: 7px;
}
.nav-link {
  position: relative;
  min-height: 44px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 13px;
}
.nav-link.active {
  background: linear-gradient(135deg,#237066,#1a5b54);
  box-shadow: 0 8px 20px rgba(0,0,0,.13);
}
.sidebar-user {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.06);
}
.admin-main {
  max-width: 1600px;
  margin: 0 auto;
  padding: 30px 34px 70px;
}
.admin-top {
  position: sticky;
  top: 0;
  z-index: 20;
  margin: -30px -34px 24px;
  padding: 20px 34px;
  background: rgba(247,251,250,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(216,230,226,.92);
}
.admin-top h1 {
  font-size: clamp(24px,2.4vw,34px);
  letter-spacing: -.035em;
}
.header-actions button {
  min-height: 42px;
}
.admin-view {
  animation: adminFade .22s ease;
}
@keyframes adminFade {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.metric-grid {
  gap: 16px;
}
.metric-grid article {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 18px;
  box-shadow: var(--ui-shadow);
}
.metric-grid article:after {
  content: "";
  position: absolute;
  right: -22px;
  bottom: -30px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(15,143,128,.07);
}
.metric-grid strong {
  font-size: clamp(28px,3vw,38px);
  letter-spacing: -.04em;
}
.data-card {
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
  padding: 22px;
}
.card-head h2 {
  font-size: 18px;
  letter-spacing: -.02em;
}
.card-head p {
  line-height: 1.5;
}
.dashboard-grid {
  gap: 18px;
}
.analytics-grid {
  gap: 18px;
}
.two-column {
  gap: 18px;
}
.map-host {
  border: 1px solid #d6e8e3;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}
.map-host.large {
  height: min(62vh,600px);
  min-height: 380px;
}
.filter-row {
  flex-wrap: wrap;
  padding: 13px;
  border-radius: 14px;
  background: #f3f8f7;
}
.filter-row label {
  flex: 1 1 170px;
}
.filter-row input,.filter-row select {
  width: 100%;
  min-height: 42px;
}
.filter-row input {
  min-width: 220px;
  flex: 2 1 280px;
}
.card-head select,.stack-label select {
  min-height: 40px;
}
.table-wrap {
  border: 1px solid #e1ebe8;
  border-radius: 13px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.table-wrap table {
  min-width: 760px;
}
.table-wrap th {
  position: sticky;
  top: 0;
  background: #f7faf9;
  z-index: 2;
}
.table-wrap td,.table-wrap th {
  padding: 12px 11px;
}
.activity-list button {
  border-radius: 10px;
  padding: 13px 9px;
}
.activity-list button:hover {
  background: #f4f9f7;
}
.quality-grid {
  gap: 16px;
}
.quality-grid article {
  box-shadow: var(--ui-shadow);
}
.empty-state {
  min-height: 150px;
}
.chart-host {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.trend-svg {
  min-width: 620px;
}
.modal {
  padding: 16px;
}
.modal-card {
  border: 1px solid #d9e7e3;
  box-shadow: 0 28px 90px rgba(15,23,42,.3);
}
.admin-menu-toggle,.admin-sidebar-backdrop {
  display: none;
}
@media (max-width:1180px) {
  .metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .map-detail-panel {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width:980px) {
  .admin-body {
    padding-left: 0;
  }
  .sidebar {
    position: fixed;
    transform: translateX(-105%);
    transition: transform .24s ease;
    z-index: 1000;
    width: min(300px,86vw);
  }
  .admin-nav-open .sidebar {
    transform: translateX(0);
  }
  .admin-sidebar-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 999;
    background: rgba(15,23,42,.48);
    opacity: 0;
    visibility: hidden;
    transition: .2s;
  }
  .admin-nav-open .admin-sidebar-backdrop {
    opacity: 1;
    visibility: visible;
  }
  .admin-menu-toggle {
    display: flex;
    position: fixed;
    left: 14px;
    top: 14px;
    z-index: 1001;
    width: 44px;
    height: 44px;
    padding: 11px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    border: 1px solid #cfe0dc;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(15,76,68,.15);
  }
  .admin-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: #174e47;
  }
  .admin-main {
    padding: 22px 20px 60px;
  }
  .admin-top {
    margin: -22px -20px 22px;
    padding: 17px 20px 17px 70px;
  }
  .sidebar-user {
    display: grid;
  }
  .two-column,.thesis-two-column {
    grid-template-columns: 1fr;
  }
  .analytics-grid {
    grid-template-columns: 1fr;
  }
  .analytics-grid .span-two {
    grid-column: auto;
  }
}
@media (max-width:720px) {
  .admin-main {
    padding: 16px 12px 48px;
  }
  .admin-top {
    position: relative;
    margin: -16px -12px 17px;
    padding: 16px 12px 16px 64px;
    align-items: stretch;
    gap: 12px;
  }
  .header-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .header-actions button {
    width: 100%;
    padding: 10px 8px;
  }
  .metric-grid,.quality-grid {
    grid-template-columns: 1fr;
  }
  .data-card {
    padding: 16px;
    border-radius: 15px;
  }
  .card-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .card-head select {
    width: 100%;
  }
  .filter-row {
    align-items: stretch;
    flex-direction: column;
    padding: 11px;
  }
  .filter-row input {
    min-width: 0;
  }
  .filter-row label {
    flex: auto;
  }
  .map-host {
    height: 300px;
  }
  .map-host.large {
    height: 390px;
    min-height: 0;
  }
  .map-brgy text {
    font-size: 13px;
  }
  .map-detail-panel {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .map-legend {
    flex-wrap: wrap;
    gap: 10px 16px;
  }
  .delta-grid,.readiness-grid,.price-grid {
    grid-template-columns: 1fr;
  }
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .soil-detail {
    grid-template-columns: repeat(2,1fr);
  }
  .modal-card {
    width: 100%;
    padding: 20px 16px;
  }
}
@media (max-width:440px) {
  .login-body {
    display: block;
    padding: 12px;
  }
  .login-shell {
    width: 100%;
    min-height: calc(100vh - 24px);
    border-radius: 18px;
  }
  .login-card {
    padding: 27px 20px;
  }
  .login-card h2 {
    font-size: 27px;
  }
  .admin-top h1 {
    font-size: 24px;
  }
  .header-actions {
    grid-template-columns: 1fr;
  }
  .metric-grid article {
    padding: 17px;
  }
  .metric-grid strong {
    font-size: 31px;
  }
  .map-detail-panel {
    grid-template-columns: 1fr;
  }
  .soil-detail {
    grid-template-columns: 1fr;
  }
  .activity-list button {
    align-items: flex-start;
  }
  .activity-list time {
    display: none;
  }
  .table-wrap table {
    min-width: 700px;
  }
}
/* BagulinAgriTech official logo integration */
.login-brand-logo {
  display: block;
  width: clamp(118px,15vw,170px);
  height: auto;
  margin: 0 0 20px;
  filter: drop-shadow(0 16px 28px rgba(0,0,0,.18));
}
.login-tagline {
  margin: 0 0 8px;
  color: #fef3c7;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}
.login-card-brand {
  display: none;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2ece9;
}
.login-card-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.login-card-brand b {
  display: block;
  font-size: 16px;
}
.login-card-brand small {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
}
.sidebar-brand {
  align-items: center!important;
}
.sidebar-brand>img {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  object-fit: contain;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.2));
}
.sidebar-brand b {
  font-size: 15px;
}
.sidebar-brand small {
  font-size: 10px;
  color: #afd4cd!important;
}
.admin-heading-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.admin-header-logo {
  width: 46px;
  height: 46px;
  object-fit: contain;
  filter: drop-shadow(0 5px 11px rgba(15,76,68,.13));
}
@media (max-width:900px) {
  .login-card-brand {
    display: flex;
  }
  .login-brand-logo {
    width: 130px;
  }
  .admin-header-logo {
    width: 40px;
    height: 40px;
  }
}
@media (max-width:580px) {
  .login-card-brand {
    margin-bottom: 17px;
    padding-bottom: 13px;
  }
  .admin-header-logo {
    width: 36px;
    height: 36px;
  }
  .admin-heading-wrap {
    gap: 9px;
  }
  .sidebar-brand>img {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }
}
/* Full thesis feature suite */
.farmer-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.farmer-card {
  padding: 18px;
  border: 1px solid #d8e7e3;
  border-radius: 15px;
  background: #fff;
}
.farmer-card header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.farmer-card h3 {
  margin: 3px 0;
}
.farmer-card header span {
  font-size: 10px;
  color: #64748b;
  text-transform: uppercase;
  font-weight: 800;
}
.profile-stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
  margin: 14px 0;
}
.profile-stats span {
  padding: 9px;
  background: #f3f8f6;
  border-radius: 9px;
  font-size: 9px;
  color: #64748b;
}
.profile-stats b {
  display: block;
  color: #173f39;
  font-size: 12px;
  margin-top: 4px;
}
.farmer-card details {
  border-top: 1px solid #e5eeeb;
  padding-top: 10px;
}
.farmer-card summary {
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}
.timeline {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.timeline>div {
  position: relative;
  padding: 9px 10px 9px 21px;
  border-left: 2px solid #9dd8ca;
  background: #f8fbfa;
  border-radius: 0 9px 9px 0;
}
.timeline i {
  position: absolute;
  left: -5px;
  top: 13px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0f8f80;
}
.timeline span,.timeline small {
  display: block;
  color: #64748b;
  font-size: 9px;
}
.timeline b {
  font-size: 11px;
}
.workflow-list {
  display: grid;
  gap: 9px;
}
.workflow-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px;
  border: 1px solid #e1ebe8;
  border-radius: 12px;
}
.workflow-list h3 {
  margin: 3px 0;
  font-size: 14px;
}
.workflow-list span,.workflow-list p {
  margin: 0;
  color: #64748b;
  font-size: 10px;
}
.workflow-list select {
  padding: 9px;
  border: 1px solid #caddd8;
  border-radius: 9px;
  text-transform: capitalize;
}
.audit-list {
  display: grid;
  max-height: 620px;
  overflow: auto;
}
.audit-list article {
  display: grid;
  grid-template-columns: 1fr 1.5fr auto;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid #e8efed;
  font-size: 11px;
}
.audit-list small,.audit-list time {
  color: #64748b;
}
.audit-list p {
  margin: 0;
}
.backup-link {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  margin: 8px 0 14px;
}
.readiness-list {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
}
.readiness-list div {
  padding: 14px;
  background: #f1f8f6;
  border-radius: 11px;
}
.readiness-list span {
  font-size: 10px;
  color: #64748b;
}
.readiness-list b {
  display: block;
  font-size: 22px;
}
.alert.warning {
  background: #fffbeb;
  color: #92400e;
  border: 1px solid #fde68a;
}
@media (max-width:800px) {
  .farmer-grid {
    grid-template-columns: 1fr;
  }
  .profile-stats {
    grid-template-columns: repeat(2,1fr);
  }
  .workflow-list article {
    align-items: stretch;
    flex-direction: column;
  }
  .audit-list article {
    grid-template-columns: 1fr;
  }
}
@media (max-width:480px) {
  .profile-stats,.readiness-list {
    grid-template-columns: 1fr;
  }
}
/* Login branding refinement — centered official logo */
.login-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 52px!important;
  min-height: 550px;
}
.login-logo-wrap {
  display: grid;
  place-items: center;
  width: 100%;
  margin: 0 0 22px;
}
.login-brand-logo {
  width: clamp(150px,18vw,205px)!important;
  max-height: 205px;
  object-fit: contain;
  margin: 0 auto!important;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.22));
}
.login-brand h1 {
  margin: 0 0 8px!important;
  font-size: clamp(34px,4vw,44px)!important;
  line-height: 1.05;
  text-align: center;
}
.login-brand .login-tagline {
  margin: 0 0 18px!important;
  text-align: center;
}
.login-brand>.muted {
  max-width: 360px;
  margin: 0 auto!important;
  line-height: 1.6;
  text-align: center;
}
.login-features {
  width: min(340px,100%);
  margin: 30px auto 0!important;
  text-align: left;
}
@media (max-width:900px) {
  .login-brand {
    display: none;
  }
  .login-card-brand {
    display: flex;
  }
}
/* Final secure login refinements */
.password-field {
  position: relative;
  display: flex;
  align-items: center;
}
.password-field input {
  padding-right: 66px!important;
}
.password-toggle {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 48px;
  padding: 7px 9px;
  border: 0;
  border-radius: 8px;
  background: #eaf5f2;
  color: #0f766e;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.password-toggle:hover {
  background: #d9eee8;
}
.password-toggle:focus-visible {
  outline: 3px solid rgba(15,143,128,.22);
  outline-offset: 2px;
}
.remember-row {
  display: flex!important;
  grid-template-columns: none!important;
  align-items: center;
  gap: 9px!important;
  margin: 10px 0 14px!important;
  font-weight: 600!important;
  color: #526d68!important;
  cursor: pointer;
}
.remember-row input {
  width: 16px!important;
  height: 16px!important;
  min-height: 0!important;
  margin: 0;
  accent-color: #0f8f80;
}
.login-card .primary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.login-card .primary:disabled {
  cursor: wait;
  opacity: .78;
}
.login-spinner {
  display: none;
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: login-spin .7s linear infinite;
}
.login-card .primary.is-loading .login-spinner {
  display: inline-block;
}
@keyframes login-spin {
  to {
    transform: rotate(360deg);
  }
}
.login-footer {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e4eeeb;
  color: #7a918c;
  font-size: 10px;
}
.login-footer span:first-child {
  font-weight: 800;
  color: #42635c;
}
.login-card {
  animation: login-card-in .42s ease both;
}
.login-brand {
  animation: login-brand-in .5s ease both;
}
@keyframes login-card-in {
  from {
    opacity: 0;
    transform: translateX(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes login-brand-in {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.login-brand-logo {
  animation: logo-float 4.6s ease-in-out infinite;
}
@keyframes logo-float {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@media (prefers-reduced-motion:reduce) {
  .login-card,.login-brand,.login-brand-logo,.login-spinner {
    animation: none!important;
  }
}
@media (max-width:580px) {
  .login-footer {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 3px;
    margin-top: 18px;
  }
  .remember-row {
    font-size: 11px!important;
  }
}
/* Compact grouped admin navigation */
.admin-body {
  padding-left: 244px;
}
.sidebar {
  width: 244px;
  height: 100dvh;
  min-height: 0;
  padding: 20px 14px 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.sidebar-brand {
  flex: 0 0 auto;
  margin: 0 8px 22px;
}
.admin-primary-nav {
  flex: 1 1 auto;
  min-height: 0;
  display: grid!important;
  align-content: start;
  gap: 7px!important;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2px 3px 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) transparent;
}
.admin-primary-nav::-webkit-scrollbar {
  width: 5px;
}
.admin-primary-nav::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.2);
  border-radius: 8px;
}
.nav-group-button {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #c7dfda;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
  transition: .18s ease;
}
.nav-group-button:hover {
  background: rgba(255,255,255,.07);
  color: #fff;
}
.nav-group-button.active {
  background: linear-gradient(135deg,#26786e,#1b6058);
  color: #fff;
  box-shadow: 0 9px 22px rgba(0,0,0,.14);
}
.nav-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 9px;
  background: rgba(255,255,255,.08);
  font-size: 15px;
}
.nav-group-button.active .nav-icon {
  background: rgba(255,255,255,.14);
}
.sidebar-user {
  flex: 0 0 auto;
  margin-top: 10px;
}
.admin-main {
  max-width: none;
}
.admin-subnav {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 51px;
  margin: -12px 0 22px;
  padding: 7px;
  border: 1px solid #d7e6e2;
  border-radius: 14px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 8px 24px rgba(15,76,68,.05);
  overflow-x: auto;
  scrollbar-width: none;
}
.admin-subnav::-webkit-scrollbar {
  display: none;
}
.admin-subnav-button {
  display: none!important;
  flex: 0 0 auto;
  min-height: 36px!important;
  padding: 8px 13px!important;
  border: 0!important;
  border-radius: 9px!important;
  background: transparent!important;
  color: #54706a!important;
  font-size: 11px!important;
  font-weight: 850!important;
  white-space: nowrap;
}
.admin-subnav-button.group-visible {
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
}
.admin-subnav-button:hover {
  background: #edf6f3!important;
  color: #0f766e!important;
}
.admin-subnav-button.active {
  background: #dff2ed!important;
  color: #0b6f64!important;
  box-shadow: none!important;
}
@media (max-width:1180px) and (min-width:981px) {
  .admin-body {
    padding-left: 216px;
  }
  .sidebar {
    width: 216px;
  }
  .sidebar-brand b {
    font-size: 13px;
  }
  .nav-group-button {
    min-height: 45px;
    padding: 9px 11px;
  }
  .admin-main {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (max-height:680px) and (min-width:981px) {
  .sidebar {
    padding-top: 14px;
  }
  .sidebar-brand {
    margin-bottom: 12px;
  }
  .nav-group-button {
    min-height: 42px;
  }
  .sidebar-user {
    padding: 11px;
  }
  .sidebar-user small {
    display: none;
  }
}
@media (max-width:980px) {
  .admin-body {
    padding-left: 0;
  }
  .sidebar {
    width: min(286px,86vw);
    height: 100dvh;
  }
  .admin-primary-nav {
    overflow-y: auto;
  }
  .admin-subnav {
    margin: -8px 0 18px;
  }
  .admin-subnav-button {
    min-height: 38px!important;
  }
}
@media (max-width:720px) {
  .admin-subnav {
    margin: -6px 0 15px;
    border-radius: 11px;
    padding: 6px;
  }
  .admin-subnav-button {
    padding: 8px 11px!important;
  }
}
.login-repair-hint {
  display: block;
  margin-top: 7px;
  font-size: 11px;
}
.login-repair-hint a {
  color: inherit;
  font-weight: 800;
}
/* -backed municipal fertility map */
.map-source-note {
  margin: 0 0 10px;
  padding: 9px 12px;
  border-radius: 9px;
  background: #f0f8f6;
  color: #52706a;
  font-size: 10px;
}
.map-toggle-label {
  display: flex!important;
  align-items: center;
  gap: 7px;
  min-height: 39px;
  padding: 0 10px!important;
  border: 1px solid #d5e4e0;
  border-radius: 9px;
  background: #fff;
  color: #365e57;
  font-size: 10px;
  font-weight: 800;
}
.map-toggle-label input {
  width: 15px;
  height: 15px;
  accent-color: #0f8f80;
}
.kml-map-host svg {
  width: 100%;
  height: auto;
  max-height: 650px;
}
.map-host .map-brgy path {
  stroke: #245f58;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
  transition: .18s ease;
}
.map-host .map-brgy text {
  font-size: 10px;
  font-weight: 900;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 3px;
  stroke-linejoin: round;
  pointer-events: none;
}
.map-host .map-brgy:hover path {
  stroke-width: 3;
}
.map-host .map-brgy.selected path {
  stroke: #073d37;
  stroke-width: 4;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.2));
}
.kml-field {
  fill: none;
  stroke: #7c3aed;
  stroke-width: 1.1;
  stroke-dasharray: 4 3;
  opacity: .48;
  vector-effect: non-scaling-stroke;
  pointer-events: stroke;
}
.kml-field.polygon {
  fill: rgba(124,58,237,.06);
}
.assessment-point {
  fill: #fff;
  stroke: #0f766e;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
}
.assessment-point.active {
  fill: #14b8a6;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
.assessment-point.muted {
  opacity: .28;
}
.map-host.large {
  background: linear-gradient(145deg,#edf8f5,#e5f0f8);
}
@media (max-width:700px) {
  .map-toggle-label {
    flex: 1 1 145px;
  }
  .map-host .map-brgy text {
    font-size: 8px;
  }
}
/*  fertility map rendering correction */
.map-host .map-brgy.high path {
  fill: #7bdcb5!important;
}
.map-host .map-brgy.moderate path {
  fill: #f6cf59!important;
}
.map-host .map-brgy.low path {
  fill: #ef7777!important;
}
.map-host .map-brgy.none path {
  fill: #dce8e5!important;
}
.map-host .map-brgy path {
  fill-opacity: .86;
  stroke: #245f58;
  stroke-width: 1.8;
  cursor: pointer;
}
.map-host .map-brgy.selected path {
  fill-opacity: 1;
  stroke: #073d37;
  stroke-width: 4;
}
.kml-fields-layer {
  pointer-events: none;
}
.kml-field {
  stroke: #6d28d9!important;
  stroke-width: 1.35!important;
  stroke-dasharray: 5 4;
  opacity: .72!important;
  fill: none;
  vector-effect: non-scaling-stroke;
}
.kml-field.polygon {
  fill: rgba(109,40,217,.07)!important;
}
.assessment-points-layer {
  pointer-events: none;
}
.assessment-point {
  fill: #fff;
  stroke: #0f766e;
  stroke-width: 2.4;
}
.assessment-point.active {
  fill: #14b8a6;
}
/* Google Maps +  fertility integration */
.google-map-host {
  height: 620px!important;
  min-height: 420px;
  width: 100%;
  padding: 0!important;
  overflow: hidden;
  background: #e8f0ee;
  border: 1px solid #cbded9;
  border-radius: 12px;
}
.google-map-host>div {
  border-radius: 12px;
}
.google-map-popup {
  display: grid;
  gap: 4px;
  min-width: 170px;
  padding: 3px 1px;
  color: #173f39;
  font: 12px/1.35 system-ui;
}
.google-map-popup strong {
  font-size: 14px;
}
.google-map-popup span {
  color: #58716c;
}
#google-map-warning {
  margin: 0 0 10px;
}
.map-card .filter-row {
  grid-template-columns: repeat(4,minmax(145px,1fr)) auto auto;
}
@media (max-width:1200px) {
  .map-card .filter-row {
    grid-template-columns: repeat(3,minmax(150px,1fr));
  }
  .google-map-host {
    height: 540px!important;
  }
}
@media (max-width:720px) {
  .map-card .filter-row {
    grid-template-columns: 1fr 1fr;
  }
  .google-map-host {
    height: 470px!important;
    min-height: 390px;
  }
}
@media (max-width:480px) {
  .map-card .filter-row {
    grid-template-columns: 1fr;
  }
  .google-map-host {
    height: 420px!important;
    min-height: 360px;
  }
}
/* Refined fertility map toolbar and Google Maps setup */
.map-toolbar {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 14px;
  align-items: end;
  margin-bottom: 12px;
  padding: 14px;
  border: 1px solid #d9e7e3;
  border-radius: 15px;
  background: #f5faf8;
}
.map-filter-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(150px,1fr));
  gap: 10px;
}
.map-filter-grid label {
  display: grid;
  gap: 5px;
  color: #56716b;
  font-size: 10px;
  font-weight: 850;
}
.map-filter-grid select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #cbded9;
  border-radius: 10px;
  background: #fff;
  color: #173f39;
  font-weight: 750;
}
.map-layer-switches {
  display: flex;
  gap: 8px;
  align-items: center;
}
.map-switch {
  display: flex!important;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #cfe0dc;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  color: #365e57!important;
}
.map-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.map-switch span {
  position: relative;
  width: 34px;
  height: 20px;
  border-radius: 999px;
  background: #cbd5d1;
  transition: .2s;
}
.map-switch span:after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: .2s;
}
.map-switch input:checked+span {
  background: #0f8f80;
}
.map-switch input:checked+span:after {
  transform: translateX(14px);
}
.map-switch b {
  font-size: 10px;
  white-space: nowrap;
}
.map-source-note {
  display: flex;
  align-items: center;
  min-height: 38px;
  margin-bottom: 10px;
}
.alert.warning a {
  display: inline-block;
  margin-left: 6px;
  color: #8a4b00;
  font-weight: 900;
  text-decoration: underline;
}
.hidden {
  display: none!important;
}
.setup-page {
  min-height: 100vh;
  background: linear-gradient(135deg,#edf8f5,#f8fbfa);
  padding: 30px;
}
.setup-shell {
  max-width: 760px;
  margin: auto;
}
.setup-back {
  display: inline-block;
  margin-bottom: 14px;
  color: #0f766e;
  font-weight: 850;
  text-decoration: none;
}
.setup-card {
  padding: 30px;
  border: 1px solid #d6e6e2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(15,76,68,.11);
}
.setup-card h1 {
  margin: 6px 0 10px;
}
.setup-card>p {
  color: #64748b;
}
.setup-card form {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}
.setup-card label {
  display: grid;
  gap: 7px;
  font-weight: 800;
  color: #315850;
}
.setup-card input {
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #cbded9;
  border-radius: 10px;
}
.setup-card small {
  color: #64748b;
}
.setup-steps {
  margin-top: 24px;
  padding: 18px;
  background: #f4f9f7;
  border-radius: 14px;
}
.setup-steps h2 {
  margin-top: 0;
}
.setup-steps li {
  margin: 8px 0;
  line-height: 1.5;
}
.setup-steps code {
  padding: 2px 5px;
  background: #e4efec;
  border-radius: 5px;
}
@media (max-width:1150px) {
  .map-toolbar {
    grid-template-columns: 1fr;
  }
  .map-filter-grid {
    grid-template-columns: repeat(2,minmax(150px,1fr));
  }
  .map-layer-switches {
    justify-content: flex-start;
  }
}
@media (max-width:620px) {
  .map-filter-grid {
    grid-template-columns: 1fr;
  }
  .map-layer-switches {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .map-switch {
    justify-content: center;
  }
  .setup-page {
    padding: 14px;
  }
  .setup-card {
    padding: 20px;
  }
}
/* Cesium  fertility view */
.earth-map-host {
  height: 620px!important;
  min-height: 420px;
  width: 100%;
  padding: 0!important;
  overflow: hidden;
  background: #071a24;
  border: 1px solid #cbded9;
  border-radius: 12px;
  position: relative;
}
.earth-map-host .cesium-viewer,.earth-map-host .cesium-viewer-cesiumWidgetContainer,.earth-map-host canvas {
  border-radius: 12px;
}
.earth-map-host .cesium-viewer-toolbar {
  top: 12px;
  right: 12px;
}
.earth-map-host .cesium-button {
  border-radius: 8px!important;
}
.earth-map-host .cesium-viewer-bottom {
  display: none!important;
}
.earth-popup {
  display: grid;
  gap: 5px;
  min-width: 180px;
  padding: 6px;
  color: #e9fffb;
  font: 13px/1.4 system-ui;
}
.earth-popup strong {
  font-size: 15px;
}
.earth-popup span {
  color: #c5ddd8;
}
#earth-map-warning {
  margin: 0 0 10px;
}
@media (max-width:1200px) {
  .earth-map-host {
    height: 540px!important;
  }
}
@media (max-width:720px) {
  .earth-map-host {
    height: 470px!important;
    min-height: 390px;
  }
}
@media (max-width:480px) {
  .earth-map-host {
    height: 420px!important;
    min-height: 360px;
  }
}
/* Local Bagulin map layout correction — keep the complete municipal boundary visible. */
.map-host.kml-map-host {
  position: relative;
  display: grid;
  place-items: center;
  padding: 12px;
  box-sizing: border-box;
  overflow: hidden;
  background: linear-gradient(145deg,#edf8f5,#e5f0f8);
}
.map-host.kml-map-host svg,
.kml-map-host svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  overflow: visible;
}
#mini-map.map-host {
  height: 380px;
  min-height: 380px;
}
#full-map.map-host.large {
  height: clamp(500px,62vh,650px);
  min-height: 500px;
}
.dashboard-grid > .data-card {
  min-width: 0;
}
.map-card {
  overflow: hidden;
}
.map-host .map-brgy text {
  font-size: 11px;
}
@media (max-width:1100px) {
  #mini-map.map-host {
    height: 350px;
    min-height: 350px;
  }
  #full-map.map-host.large {
    height: 520px;
    min-height: 460px;
  }
}
@media (max-width:700px) {
  .map-host.kml-map-host {
    padding: 6px;
  }
  #mini-map.map-host {
    height: 310px;
    min-height: 310px;
  }
  #full-map.map-host.large {
    height: 430px;
    min-height: 390px;
  }
  .map-host .map-brgy text {
    font-size: 9px;
  }
}
/* Compact local map layout */
.map-toolbar {
  grid-template-columns: 1fr;
  padding: 12px;
  margin-bottom: 10px;
}
.map-filter-grid {
  grid-template-columns: repeat(3,minmax(170px,1fr));
  gap: 10px;
}
.map-layer-switches {
  display: none!important;
}
#mini-map.map-host {
  height: 300px;
  min-height: 300px;
}
#full-map.map-host.large {
  height: 440px;
  min-height: 440px;
}
.map-host.kml-map-host {
  padding: 18px 24px;
}
.map-host.kml-map-host svg {
  width: 100%!important;
  height: 100%!important;
  max-width: 100%!important;
  max-height: 100%!important;
}
.map-host .map-brgy text {
  font-size: 12px;
  text-anchor: middle;
  dominant-baseline: middle;
  alignment-baseline: middle;
}
#mini-map.map-host .map-brgy text {
  font-size: 10px;
}
@media (max-width:1100px) {
  #mini-map.map-host {
    height: 285px;
    min-height: 285px;
  }
  #full-map.map-host.large {
    height: 410px;
    min-height: 410px;
  }
  .map-filter-grid {
    grid-template-columns: repeat(3,minmax(145px,1fr));
  }
}
@media (max-width:700px) {
  .map-filter-grid {
    grid-template-columns: 1fr;
  }
  .map-host.kml-map-host {
    padding: 10px;
  }
  #mini-map.map-host {
    height: 270px;
    min-height: 270px;
  }
  #full-map.map-host.large {
    height: 360px;
    min-height: 360px;
  }
  .map-host .map-brgy text {
    font-size: 9px;
  }
}
/* Final Bagulin map fit correction — proportional, centered, and never clipped */
#mini-map.map-host,
#full-map.map-host.large {
  position: relative!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 100%!important;
  min-height: 0!important;
  height: auto!important;
  padding: 14px!important;
  overflow: hidden!important;
  background: linear-gradient(145deg,#edf8f5,#e5f0f8)!important;
}
#mini-map.map-host {
  aspect-ratio: 900/610;
  max-height: 350px;
}
#full-map.map-host.large {
  aspect-ratio: 1100/680;
  max-height: 580px;
}
#mini-map.map-host svg,
#full-map.map-host.large svg {
  display: block!important;
  width: 100%!important;
  height: 100%!important;
  max-width: 100%!important;
  max-height: 100%!important;
  overflow: visible!important;
  flex: 0 1 auto!important;
}
.map-host .fertility-polygons-layer {
  transform-box: fill-box;
  transform-origin: center;
}
.map-host .map-brgy path {
  vector-effect: non-scaling-stroke;
}
.map-host .map-brgy text {
  text-anchor: middle!important;
  dominant-baseline: middle!important;
  alignment-baseline: middle!important;
  pointer-events: none!important;
  paint-order: stroke!important;
  stroke: #fff!important;
  stroke-width: 3px!important;
  stroke-linejoin: round!important;
}
#mini-map.map-host .map-brgy text {
  font-size: 11px!important;
}
#full-map.map-host.large .map-brgy text {
  font-size: 13px!important;
}
.dashboard-grid .data-card {
  min-width: 0;
  overflow: hidden;
}
.map-card {
  min-width: 0;
  overflow: hidden;
}
@media (max-width:1100px) {
  #mini-map.map-host {
    max-height: 330px;
  }
  #full-map.map-host.large {
    max-height: 520px;
  }
}
@media (max-width:720px) {
  #mini-map.map-host,#full-map.map-host.large {
    padding: 8px!important;
  }
  #mini-map.map-host {
    aspect-ratio: 4/3;
    max-height: none;
  }
  #full-map.map-host.large {
    aspect-ratio: 4/3;
    max-height: none;
  }
  #mini-map.map-host .map-brgy text {
    font-size: 9px!important;
  }
  #full-map.map-host.large .map-brgy text {
    font-size: 10px!important;
  }
}
/* Admin-only IDW soil health map */
.admin-idw-card {
  overflow: hidden;
}
.admin-map-heading {
  margin-bottom: 12px;
}
.admin-map-heading .eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #357468;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.admin-idw-toolbar .map-filter-grid {
  display: grid;
  grid-template-columns: minmax(190px,240px) minmax(190px,240px) max-content max-content;
  align-items: end;
  gap: 12px;
}
.admin-map-toggle {
  display: flex!important;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #d8e6e2;
  border-radius: 10px;
  background: #f8fbfa;
  white-space: nowrap;
  font-weight: 700!important;
  color: #315a53;
}
.admin-map-toggle input {
  width: 16px;
  height: 16px;
  margin: 0;
}
.admin-idw-map {
  position: relative;
  min-height: 470px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 16px;
  background: #edf7f3;
}
.admin-idw-map svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 650px;
}
.admin-idw-surface {
  opacity: .68;
  image-rendering: auto;
  filter: saturate(1.05) contrast(1.02);
}
.admin-boundary-layer .map-brgy path {
  stroke: #174b42;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
}
.admin-boundary-layer .map-brgy.muted {
  opacity: .28;
}
.admin-boundary-layer .map-brgy.selected path {
  stroke: #072f2a;
  stroke-width: 4;
}
.admin-boundary-layer .map-brgy text {
  font-size: 15px;
  font-weight: 800;
  fill: #143f39;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
  stroke-linejoin: round;
  pointer-events: none;
}
.admin-sample-point {
  stroke: #fff;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.admin-heatmap-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #dce8e5;
  border-radius: 12px;
  background: #f9fcfb;
  color: #315a53;
  font-size: 13px;
  font-weight: 700;
}
.admin-heatmap-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.admin-heatmap-legend small {
  margin-left: auto;
  color: #627a75;
  font-weight: 600;
}
.admin-heat-swatch {
  display: inline-block;
  width: 18px;
  height: 10px;
  border-radius: 999px;
}
.admin-heat-swatch.low {
  background: #dc2626;
}
.admin-heat-swatch.moderate {
  background: #facc15;
}
.admin-heat-swatch.high {
  background: #16a34a;
}
.admin-heatmap-statistics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-top: 12px;
}
.admin-heatmap-statistics article {
  display: grid;
  gap: 3px;
  padding: 14px;
  border: 1px solid #dce8e5;
  border-radius: 12px;
  background: #fff;
}
.admin-heatmap-statistics span {
  color: #617873;
  font-size: 12px;
  font-weight: 700;
}
.admin-heatmap-statistics strong {
  color: #173f38;
  font-size: 24px;
}
.admin-heatmap-statistics small {
  color: #748984;
}
.admin-map-method {
  margin-top: 14px;
}
@media (max-width:1100px) {
  .admin-idw-toolbar .map-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .admin-map-toggle {
    white-space: normal;
  }
  .admin-idw-map {
    min-height: 380px;
  }
}
@media (max-width:680px) {
  .admin-idw-toolbar .map-filter-grid {
    grid-template-columns: 1fr;
  }
  .admin-idw-map {
    min-height: 240px;
  }
  .admin-heatmap-statistics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .admin-heatmap-legend small {
    width: 100%;
    margin-left: 0;
  }
}
/* Professional admin GIS workspace */
.admin-idw-card {
  padding: 24px;
  border-radius: 20px;
  background: #fff;
}
.admin-map-heading {
  align-items: flex-start;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e3ecea;
}
.admin-map-heading h2 {
  margin: 4px 0 5px;
  font-size: 24px;
  letter-spacing: -.035em;
  color: #153f38;
}
.admin-map-heading p {
  max-width: 720px;
  margin: 0;
  color: #667e79;
  font-size: 13px;
  line-height: 1.55;
}
.admin-map-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #bfe5dc;
  border-radius: 999px;
  background: #eaf8f4;
  color: #08786d;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.admin-idw-toolbar {
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid #dce9e6;
  border-radius: 14px;
  background: #f7faf9;
}
.admin-idw-toolbar .map-filter-grid {
  grid-template-columns: minmax(180px,1.15fr) minmax(180px,1fr) max-content max-content;
  gap: 10px;
}
.admin-idw-toolbar .map-filter-grid>label:not(.admin-map-toggle) {
  display: grid;
  gap: 6px;
  color: #607772;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.admin-idw-toolbar select {
  width: 100%;
  min-height: 42px;
  padding: 0 36px 0 12px;
  border: 1px solid #cddfdb;
  border-radius: 10px;
  background: #fff;
  color: #193f39;
  font-weight: 700;
  outline: none;
}
.admin-idw-toolbar select:focus {
  border-color: #0f8f80;
  box-shadow: 0 0 0 3px rgba(15,143,128,.12);
}
.admin-map-toggle {
  min-height: 42px;
  background: #fff!important;
  color: #365b55!important;
  font-size: 11px!important;
  text-transform: none!important;
  letter-spacing: 0!important;
}
.admin-map-toggle input {
  accent-color: #0f8f80;
}
.admin-map-workspace {
  display: grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap: 18px;
  align-items: start;
}
.admin-map-primary {
  min-width: 0;
}
.admin-map-frame {
  overflow: hidden;
  border: 1px solid #d4e5e1;
  border-radius: 17px;
  background: #f8fbfa;
}
.admin-map-frame-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 15px;
  border-bottom: 1px solid #dce9e6;
  background: #fff;
}
.admin-map-frame-head strong {
  display: block;
  color: #1b443d;
  font-size: 13px;
}
.admin-map-frame-head small {
  display: block;
  margin-top: 3px;
  color: #718681;
  font-size: 10px;
  line-height: 1.35;
}
.admin-live-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  padding: 6px 9px;
  border-radius: 999px;
  background: #edf9f5;
  color: #08786d;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.admin-live-chip i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,.13);
}
.admin-idw-map {
  width: 100%;
  height: auto!important;
  min-height: 490px;
  margin: 0;
  border: 0!important;
  border-radius: 0!important;
  background: linear-gradient(145deg,#eef8f5,#e8f1f8);
}
.admin-idw-map svg {
  width: 100%!important;
  height: 100%!important;
  min-height: 490px;
  max-height: none!important;
  object-fit: contain;
}
.admin-heatmap-legend {
  margin-top: 10px;
  min-height: 48px;
  padding: 11px 14px;
  background: #fff;
}
.admin-heatmap-legend small {
  font-size: 10px;
}
.admin-map-sidebar {
  display: grid;
  gap: 12px;
  position: sticky;
  top: 92px;
}
.admin-summary-section,.admin-selection-section,.admin-map-guidance {
  border: 1px solid #d9e7e4;
  border-radius: 15px;
  background: #fff;
}
.admin-summary-section,.admin-selection-section {
  padding: 16px;
}
.admin-summary-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}
.admin-summary-heading h3 {
  margin: 3px 0 0;
  color: #193f39;
  font-size: 16px;
  letter-spacing: -.02em;
}
.admin-heatmap-statistics {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  margin: 0;
}
.admin-heatmap-statistics article {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e0ebe8;
  border-radius: 11px;
  background: #f9fbfb;
}
.admin-heatmap-statistics article:first-child:last-child {
  grid-column: 1/-1;
  min-height: 118px;
  align-content: center;
  text-align: center;
}
.admin-heatmap-statistics span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.admin-heatmap-statistics strong {
  overflow-wrap: anywhere;
  font-size: 22px;
  line-height: 1.1;
}
.admin-heatmap-statistics small {
  font-size: 9px;
  line-height: 1.35;
}
.admin-selection-section {
  min-height: 180px;
}
.admin-selection-section .map-detail-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
}
.admin-selection-section .map-detail-panel>div {
  padding: 10px 11px;
  border: 1px solid #e4ecea;
  border-radius: 10px;
  background: #f8fbfa;
}
.admin-selection-section .map-detail-panel>p {
  margin: 0;
  padding: 12px;
  border-radius: 10px;
  background: #f7faf9;
  color: #5f7772;
  font-size: 11px;
  line-height: 1.6;
}
.admin-selection-section .map-detail-panel span {
  font-size: 8px;
  letter-spacing: .05em;
}
.admin-selection-section .map-detail-panel strong {
  font-size: 11px;
  line-height: 1.4;
}
.admin-map-guidance {
  display: flex;
  gap: 10px;
  padding: 13px;
  background: #eef8f5;
  border-color: #d3ebe5;
}
.admin-guidance-icon {
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  height: 25px;
  border-radius: 8px;
  background: #0f8f80;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.admin-map-guidance strong {
  display: block;
  color: #235048;
  font-size: 11px;
}
.admin-map-guidance p {
  margin: 4px 0 0;
  color: #607a74;
  font-size: 10px;
  line-height: 1.55;
}
.admin-map-method {
  margin-top: 16px;
  padding: 11px 13px;
  border: 1px solid #e1e9e7;
  background: #f7f9f9;
  color: #6d817d;
}
@media (max-width:1180px) {
  .admin-map-workspace {
    grid-template-columns: minmax(0,1fr) 280px;
  }
  .admin-idw-toolbar .map-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .admin-map-toggle {
    justify-content: flex-start;
  }
}
@media (max-width:960px) {
  .admin-map-workspace {
    grid-template-columns: 1fr;
  }
  .admin-map-sidebar {
    position: static;
    grid-template-columns: 1fr 1fr;
  }
  .admin-map-guidance {
    grid-column: 1/-1;
  }
  .admin-idw-map,.admin-idw-map svg {
    min-height: 420px;
  }
}
@media (max-width:680px) {
  .admin-idw-card {
    padding: 16px;
  }
  .admin-map-heading {
    display: grid;
  }
  .admin-map-badge {
    justify-self: start;
  }
  .admin-idw-toolbar .map-filter-grid {
    grid-template-columns: 1fr;
  }
  .admin-map-sidebar {
    grid-template-columns: 1fr;
  }
  .admin-map-guidance {
    grid-column: auto;
  }
  .admin-map-frame-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-idw-map,.admin-idw-map svg {
    min-height: 320px;
  }
  .admin-heatmap-statistics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .admin-heatmap-legend {
    align-items: flex-start;
    gap: 9px;
  }
}
.record-pdf-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-right: 10px;
  padding: 11px 16px;
  border-radius: 10px;
  font-weight: 800;
}
/* =========================================================
   SYSTEM ADMIN PROFESSIONAL UI — 2026-08
   Unified dashboard, navigation, cards, tables, and forms.
   ========================================================= */
:root {
  --admin-bg: #f3f7f6;
  --admin-surface: #ffffff;
  --admin-surface-soft: #f8fbfa;
  --admin-border: #dce8e5;
  --admin-border-strong: #c9dbd7;
  --admin-text: #153d37;
  --admin-muted: #667c77;
  --admin-primary: #0b8f7e;
  --admin-primary-dark: #087264;
  --admin-sidebar: #0d3f39;
  --admin-sidebar-deep: #082f2b;
  --admin-radius: 16px;
  --admin-shadow: 0 8px 30px rgba(15,67,59,.075);
  --admin-shadow-hover: 0 14px 38px rgba(15,67,59,.11);
}
.admin-body {
  min-height: 100vh;
  padding-left: 248px;
  background: radial-gradient(circle at 92% 2%,rgba(15,143,128,.06),transparent 24rem),
    var(--admin-bg);
  color: var(--admin-text);
}
.sidebar {
  width: 248px;
  padding: 22px 16px 16px;
  border-right: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg,var(--admin-sidebar) 0%,var(--admin-sidebar-deep) 100%);
  box-shadow: 10px 0 35px rgba(6,42,37,.12);
}
.sidebar-brand {
  min-height: 58px;
  margin: 0 8px 25px;
  padding: 7px 5px;
  gap: 12px;
}
.sidebar-brand>img {
  width: 44px!important;
  height: 44px!important;
  flex-basis: 44px!important;
}
.sidebar-brand b {
  font-size: 14px!important;
  letter-spacing: -.015em;
}
.sidebar-brand small {
  margin-top: 2px;
  font-size: 9px!important;
  letter-spacing: .035em;
}
.admin-primary-nav {
  gap: 6px!important;
  padding: 0 2px 12px!important;
}
.nav-group-button {
  min-height: 46px;
  padding: 9px 11px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #c7ddd8;
  font-size: 12px;
  letter-spacing: .005em;
}
.nav-group-button:hover {
  border-color: rgba(255,255,255,.07);
  background: rgba(255,255,255,.065);
}
.nav-group-button.active {
  border-color: rgba(255,255,255,.1);
  background: linear-gradient(135deg,#20766b,#135b53);
  box-shadow: 0 8px 20px rgba(0,0,0,.16);
}
.nav-icon {
  width: 29px;
  height: 29px;
  flex-basis: 29px;
  border-radius: 9px;
  font-size: 14px;
}
.sidebar-user {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(255,255,255,.055);
}
.sidebar-user small {
  font-size: 10px;
}
.sidebar-user b {
  font-size: 12px;
}
.sidebar-user a {
  font-size: 11px;
}
.admin-main {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
  padding: 24px 30px 58px;
}
.admin-top {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 82px;
  margin: -24px -30px 20px;
  padding: 17px 30px;
  border-bottom: 1px solid rgba(207,224,219,.88);
  background: rgba(247,251,250,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.admin-heading-wrap {
  gap: 12px;
}
.admin-header-logo {
  width: 38px!important;
  height: 38px!important;
}
.admin-top h1 {
  margin: 3px 0 0;
  font-size: clamp(25px,2.2vw,32px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.admin-top .eyebrow {
  font-size: 9px;
  letter-spacing: .16em;
}
.header-actions {
  gap: 9px;
}
.header-actions button {
  min-height: 40px;
  padding: 9px 15px;
  border-radius: 10px;
  font-size: 11px;
  box-shadow: none;
}
.header-actions .primary {
  box-shadow: 0 7px 16px rgba(15,143,128,.18);
}
.admin-subnav {
  min-height: 48px;
  margin: 0 0 18px;
  padding: 6px;
  gap: 5px;
  border: 1px solid var(--admin-border);
  border-radius: 13px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 5px 18px rgba(15,67,59,.045);
}
.admin-subnav-button {
  min-height: 34px!important;
  padding: 7px 12px!important;
  border-radius: 8px!important;
  font-size: 10px!important;
}
.admin-subnav-button.active {
  background: #e0f2ee!important;
  color: #087567!important;
}
.admin-view {
  padding-bottom: 4px;
}
.metric-grid {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 13px;
  margin-bottom: 16px;
}
.metric-grid article,.quality-grid article {
  min-height: 126px;
  padding: 18px 18px 16px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
  transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.metric-grid article:hover,.quality-grid article:hover {
  transform: translateY(-2px);
  border-color: var(--admin-border-strong);
  box-shadow: var(--admin-shadow-hover);
}
.metric-grid article:after {
  width: 78px;
  height: 78px;
  right: -21px;
  bottom: -25px;
  background: rgba(15,143,128,.055);
}
.metric-grid span,.quality-grid span {
  font-size: 10px;
  letter-spacing: .015em;
}
.metric-grid strong,.quality-grid strong {
  margin: 8px 0 4px;
  font-size: clamp(27px,2.5vw,34px);
  line-height: 1;
  letter-spacing: -.045em;
}
.metric-grid small {
  font-size: 10px;
  line-height: 1.35;
}
.data-card,.form-card {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}
.data-card {
  padding: 18px;
}
.card-head {
  margin-bottom: 13px;
  align-items: flex-start;
}
.card-head h2 {
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: -.018em;
}
.card-head p {
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--admin-muted);
}
.card-head select {
  min-width: 150px;
  min-height: 40px;
  padding: 8px 34px 8px 12px;
  border-color: var(--admin-border-strong);
  border-radius: 10px;
  color: var(--admin-text);
  font-size: 11px;
}
.card-head select:disabled {
  opacity: 1;
  color: #60736f;
  background: #f6f9f8;
  cursor: default;
}
.dashboard-grid {
  grid-template-columns: minmax(0,1.48fr) minmax(330px,.92fr);
  align-items: stretch;
  gap: 16px;
  margin-bottom: 16px;
}
.dashboard-grid>.data-card {
  height: 100%;
  min-height: 470px;
}
.dashboard-grid>.data-card:first-child {
  display: flex;
  flex-direction: column;
}
#mini-map.map-host {
  flex: 1 1 auto!important;
  width: 100%!important;
  min-height: 355px!important;
  max-height: none!important;
  aspect-ratio: auto!important;
  padding: 20px!important;
  border: 1px solid #d3e3df!important;
  border-radius: 13px!important;
}
#mini-map.map-host svg {
  max-width: 720px!important;
  margin: auto;
}
.dashboard-grid>.data-card:nth-child(2) {
  display: flex;
  flex-direction: column;
  max-height: 520px;
}
#recent-list.activity-list {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding-right: 3px;
}
.activity-list button {
  min-height: 58px;
  padding: 10px 8px!important;
  border-bottom: 1px solid #e9f0ee;
  border-radius: 9px!important;
  transition: background .16s ease,transform .16s ease;
}
.activity-list button:hover {
  transform: translateX(2px);
  background: #f3f8f6!important;
}
.activity-list button:last-child {
  border-bottom: 0;
}
.activity-list b {
  font-size: 11px;
}
.activity-list small {
  font-size: 9px;
}
.activity-list time {
  font-size: 8px;
}
.activity-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
}
/* Overview summary table sits cleanly below the dashboard row. */
#view-overview>.data-card {
  margin-top: 0;
}
.table-wrap {
  border: 1px solid #e2ece9;
  border-radius: 12px;
  background: #fff;
}
table {
  font-size: 11px;
}
thead {
  background: #f6f9f8;
}
th {
  padding: 11px 12px;
  font-size: 9px;
  letter-spacing: .07em;
  color: #667a75;
}
td {
  padding: 11px 12px;
  color: #274c46;
}
tbody tr {
  transition: background .15s ease;
}
tbody tr:hover {
  background: #f6faf9;
}
tbody tr:last-child td {
  border-bottom: 0;
}
/* Shared forms and filters across all admin pages. */
.filter-row,.map-toolbar {
  border: 1px solid var(--admin-border);
  border-radius: 13px;
  background: var(--admin-surface-soft);
}
.filter-row {
  padding: 12px;
  flex-wrap: wrap;
}
.filter-row label,.map-filter-grid label {
  font-size: 9px;
  letter-spacing: .025em;
}
.filter-row input,.filter-row select,.compact-form input,.compact-form select,.price-grid input,.stack-label select,.map-filter-grid select {
  min-height: 40px;
  border-color: var(--admin-border-strong);
  border-radius: 9px;
  background: #fff;
  color: var(--admin-text);
  outline: none;
  transition: border-color .16s ease,box-shadow .16s ease;
}
.filter-row input:focus,.filter-row select:focus,.compact-form input:focus,.compact-form select:focus,.price-grid input:focus,.stack-label select:focus,.map-filter-grid select:focus {
  border-color: #63b8aa;
  box-shadow: 0 0 0 3px rgba(15,143,128,.1);
}
.primary,.secondary,.danger,.table-btn {
  transition: transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.primary:hover,.secondary:hover,.danger:hover,.table-btn:hover {
  transform: translateY(-1px);
}
.secondary:hover,.table-btn:hover {
  background: #f5f9f8;
}
.analytics-grid,.two-column {
  gap: 16px;
}
.analytics-grid>.data-card,.two-column>.data-card,.quality-table-card {
  min-width: 0;
}
.bar-list,.ranking-list,.component-list,.insight-list {
  gap: 10px;
}
.ranking-list>div,.delta-grid>div,.readiness-grid article {
  border-color: #e1ebe8;
  border-radius: 10px;
  background: #fbfdfc;
}
.empty-state {
  border-radius: 12px;
  background: #f8fbfa;
}
/* Professional GIS workspace. */
.admin-idw-card {
  padding: 0!important;
  overflow: hidden;
}
.admin-map-heading {
  padding: 20px 20px 15px;
  margin: 0;
  border-bottom: 1px solid #e3ecea;
}
.admin-idw-toolbar {
  margin: 14px 18px 0;
  padding: 12px;
}
.admin-map-workspace {
  gap: 15px;
  padding: 15px 18px 18px;
}
.admin-map-frame,.admin-map-sidebar>section {
  border-color: #dce8e5!important;
  box-shadow: none!important;
}
.admin-map-frame-head {
  padding: 12px 14px!important;
  background: #f8fbfa!important;
}
#full-map.map-host.large {
  border-radius: 0!important;
}
.admin-map-sidebar {
  gap: 12px!important;
}
.admin-map-method {
  margin: 0 18px 18px!important;
}
/* Scrollbars remain subtle but usable. */
.admin-body * {
  scrollbar-width: thin;
  scrollbar-color: #b9ccc7 transparent;
}
.admin-body *::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
.admin-body *::-webkit-scrollbar-thumb {
  background: #b9ccc7;
  border-radius: 999px;
}
.admin-body *::-webkit-scrollbar-track {
  background: transparent;
}
@media (max-width:1260px) {
  .metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .dashboard-grid {
    grid-template-columns: minmax(0,1.35fr) minmax(300px,.85fr);
  }
}
@media (max-width:1080px) and (min-width:981px) {
  .admin-body {
    padding-left: 218px;
  }
  .sidebar {
    width: 218px;
  }
  .admin-main {
    padding-left: 22px;
    padding-right: 22px;
  }
  .admin-top {
    margin-left: -22px;
    margin-right: -22px;
    padding-left: 22px;
    padding-right: 22px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-grid>.data-card {
    min-height: 0;
  }
  .dashboard-grid>.data-card:nth-child(2) {
    max-height: 430px;
  }
}
@media (max-width:980px) {
  .admin-body {
    padding-left: 0;
  }
  .admin-main {
    padding: 18px 18px 45px;
  }
  .admin-top {
    margin: -18px -18px 16px;
    padding: 15px 64px 15px 18px;
    min-height: 72px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-grid>.data-card {
    min-height: 0;
  }
  .dashboard-grid>.data-card:nth-child(2) {
    max-height: 430px;
  }
}
@media (max-width:720px) {
  .admin-main {
    padding: 14px 12px 36px;
  }
  .admin-top {
    margin: -14px -12px 14px;
    padding: 13px 54px 13px 12px;
    align-items: flex-start;
    gap: 12px;
  }
  .admin-header-logo {
    display: none;
  }
  .admin-top h1 {
    font-size: 22px;
  }
  .header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .header-actions button {
    min-height: 36px;
    padding: 8px 10px;
    font-size: 9px;
  }
  .metric-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .metric-grid article {
    min-height: 108px;
  }
  .data-card {
    padding: 14px;
    border-radius: 14px;
  }
  .card-head {
    flex-direction: column;
    align-items: stretch;
  }
  .card-head select {
    width: 100%;
    min-width: 0;
  }
  #mini-map.map-host {
    min-height: 290px!important;
    padding: 10px!important;
  }
  .filter-row input {
    min-width: 0;
    width: 100%;
  }
  .dashboard-grid>.data-card:nth-child(2) {
    max-height: 390px;
  }
  .analytics-grid,.two-column,.quality-grid,.readiness-grid,.delta-grid,.price-grid {
    grid-template-columns: 1fr!important;
  }
  .analytics-grid .span-two {
    grid-column: auto;
  }
}
/* =========================================================
   OVERVIEW CLARITY PASS — navigation, map label, summary table
   ========================================================= */
.admin-subnav[data-active-group="overview"] {
  display: none;
}
#view-overview.active {
  padding-top: 0;
}
.section-kicker {
  display: block;
  margin-bottom: 5px;
  color: #0b8f7e;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.overview-map-head {
  align-items: center;
}
.overview-layer-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 174px;
  padding: 9px 12px;
  border: 1px solid #cfe0dc;
  border-radius: 11px;
  background: #f7fbfa;
  color: #244a43;
}
.overview-layer-chip small,.overview-layer-chip strong {
  display: block;
}
.overview-layer-chip small {
  margin-bottom: 2px;
  color: #71837f;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.overview-layer-chip strong {
  font-size: 11px;
}
.overview-layer-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: #0f8f80;
  box-shadow: 0 0 0 4px rgba(15,143,128,.11);
}
.overview-map-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f7faf9;
}
.overview-map-footer p {
  margin: 0;
  color: #6b7f7a;
  font-size: 9px;
  line-height: 1.45;
  text-align: right;
}
.overview-legend {
  display: flex;
  align-items: center;
  gap: 13px;
  flex-wrap: wrap;
  white-space: nowrap;
}
.overview-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #536b65;
  font-size: 9px;
  font-weight: 800;
}
.overview-legend i {
  width: 9px;
  height: 9px;
  border-radius: 3px;
}
.overview-legend .high {
  background: #8ee0bd;
}
.overview-legend .moderate {
  background: #f7dc77;
}
.overview-legend .low {
  background: #f39a96;
}
.overview-legend .none {
  background: #dfe9e7;
  border: 1px solid #bfd0cc;
}
.barangay-summary-card {
  padding: 0;
  overflow: hidden;
}
.summary-card-head {
  margin: 0;
  padding: 19px 20px 15px;
  border-bottom: 1px solid #e5eeec;
  align-items: center;
}
.summary-help {
  max-width: 330px;
  padding: 10px 12px;
  border: 1px solid #dce9e6;
  border-radius: 10px;
  background: #f8fbfa;
}
.summary-help strong,.summary-help span {
  display: block;
}
.summary-help strong {
  margin-bottom: 3px;
  color: #264d46;
  font-size: 9px;
}
.summary-help span {
  color: #71837f;
  font-size: 9px;
  line-height: 1.4;
}
.summary-status-guide {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 10px 20px;
  border-bottom: 1px solid #e9f0ee;
  background: #fbfdfc;
}
.summary-status-guide span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #6a7e79;
  font-size: 8px;
}
.summary-status-guide b {
  color: #355b54;
}
.summary-status-guide i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.summary-status-guide .established {
  background: #0f9f81;
}
.summary-status-guide .developing {
  background: #e6aa13;
}
.summary-status-guide .insufficient {
  background: #ef8f45;
}
.summary-status-guide .nodata {
  background: #b7c6c2;
}
.summary-table-wrap {
  border: 0;
  border-radius: 0;
  overflow: auto;
}
.summary-table {
  min-width: 900px;
}
.summary-table thead {
  background: #f5f9f8;
}
.summary-table th {
  height: 42px;
  padding: 10px 14px;
  border-bottom: 1px solid #dfe9e6;
  color: #657b75;
  font-size: 8px;
  letter-spacing: .09em;
}
.summary-table td {
  height: 56px;
  padding: 10px 14px;
  border-bottom: 1px solid #edf2f1;
  vertical-align: middle;
}
.summary-table .numeric {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.summary-table tbody tr:hover {
  background: #f7fbfa;
}
.summary-table tbody tr.summary-no-data {
  background: #fbfcfc;
  color: #84948f;
}
.summary-table tbody tr.summary-no-data:hover {
  background: #f7f9f8;
}
.summary-brgy {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 150px;
}
.summary-brgy>i {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
}
.summary-brgy>i.high {
  background: #18a56f;
}
.summary-brgy>i.moderate {
  background: #e3aa10;
}
.summary-brgy>i.low {
  background: #df3a45;
}
.summary-brgy>i.none {
  background: #bac8c4;
}
.summary-brgy b {
  display: block;
  font-size: 10px;
}
.summary-brgy small {
  display: block;
  margin-top: 3px;
  color: #82928e;
  font-size: 8px;
  font-weight: 500;
}
.record-count {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 24px;
  padding: 0 7px;
  border-radius: 8px;
  background: #e7f5f1;
  color: #08786d;
  font-size: 9px;
  font-weight: 900;
}
.record-count.empty {
  background: #eef2f1;
  color: #82918e;
}
.dash {
  color: #9aa8a5;
}
.fertility-cell {
  display: flex;
  align-items: center;
  gap: 7px;
}
.fertility-cell>span:last-child {
  color: #526b65;
  font-size: 9px;
  font-weight: 800;
}
.no-data-label {
  color: #91a09c;
  font-size: 9px;
}
.coverage-tag {
  padding: 6px 9px;
  border: 1px solid transparent;
}
.coverage-tag.established {
  background: #ddf5ec;
  color: #08755f;
  border-color: #c9eadf;
}
.coverage-tag.developing {
  background: #fff5d8;
  color: #9b6a00;
  border-color: #f4e4ad;
}
.coverage-tag.insufficient {
  background: #fff0e5;
  color: #aa5a1f;
  border-color: #f4d7c2;
}
.coverage-tag.no-data {
  background: #eef2f1;
  color: #71817d;
  border-color: #e0e7e5;
}
@media (max-width:720px) {
  .overview-map-head {
    align-items: stretch;
  }
  .overview-layer-chip {
    min-width: 0;
    width: 100%;
  }
  .overview-map-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .overview-map-footer p {
    text-align: left;
  }
  .summary-card-head {
    align-items: stretch;
    flex-direction: column;
  }
  .summary-help {
    max-width: none;
    width: 100%;
  }
  .summary-status-guide {
    gap: 10px;
    padding: 10px 14px;
  }
}
/* 2026-08-05 — Admin navigation and Reports page betterment */
.admin-subnav[hidden] {
  display: none!important;
}
.admin-view.reports-view.active {
  display: block;
}
.reports-layout {
  display: grid;
  grid-template-columns: minmax(0,1.8fr) minmax(300px,.8fr);
  gap: 18px;
  align-items: start;
}
.report-builder-card,.report-coverage-card {
  min-height: 0;
}
.report-builder-head {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2ece9;
}
.report-filter-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.report-filter-grid label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #173f39;
  font-weight: 800;
}
.report-filter-grid label>span {
  font-size: 12px;
  letter-spacing: .01em;
}
.report-filter-grid label>small {
  min-height: 30px;
  color: #718b85;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
}
.report-filter-grid input,.report-filter-grid select {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #cbded9;
  border-radius: 10px;
  background: #fff;
  color: #123f38;
  font: inherit;
  font-weight: 700;
  outline: none;
  transition: border-color .18s,box-shadow .18s,background .18s;
}
.report-filter-grid input:focus,.report-filter-grid select:focus {
  border-color: #159487;
  box-shadow: 0 0 0 3px rgba(21,148,135,.12);
  background: #fbfffe;
}
.report-barangay-field {
  grid-column: 1/-1;
}
.report-action-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding-top: 17px;
  border-top: 1px solid #e2ece9;
}
.report-action-row p {
  margin: 0;
  color: #6e8882;
  font-size: 11px;
  line-height: 1.45;
}
.report-generate-button {
  min-height: 44px;
  padding-inline: 18px;
  white-space: nowrap;
}
.report-coverage-card {
  position: sticky;
  top: 94px;
}
.report-coverage-card #report-readiness {
  margin-top: 4px;
}
.report-coverage-card .readiness-grid,.report-coverage-card .coverage-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
@media (max-width:1100px) {
  .reports-layout {
    grid-template-columns: 1fr;
  }
  .report-coverage-card {
    position: static;
  }
  .report-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px) {
  .report-filter-grid {
    grid-template-columns: 1fr;
  }
  .report-barangay-field {
    grid-column: auto;
  }
  .report-action-row {
    align-items: stretch;
    flex-direction: column;
  }
  .report-generate-button {
    width: 100%;
  }
}
/* 2026-08-06 — Professional Farmer Profiles directory */
.farmer-profiles-view.active {
  display: block;
}
.farmer-directory-card {
  padding: 0;
  overflow: hidden;
}
.farmer-directory-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 22px 18px;
  border-bottom: 1px solid #e4edeb;
  background: linear-gradient(180deg,#fff,#fbfdfc);
}
.farmer-directory-head h2 {
  margin: 0 0 5px;
  font-size: 20px;
}
.farmer-directory-head p {
  max-width: 650px;
  margin: 0;
  color: #6c837d;
  font-size: 11px;
  line-height: 1.55;
}
.farmer-directory-summary {
  display: grid;
  grid-template-columns: repeat(4,minmax(72px,1fr));
  gap: 8px;
  min-width: 390px;
}
.farmer-directory-summary span {
  padding: 10px 12px;
  border: 1px solid #dfeae7;
  border-radius: 10px;
  background: #f5faf8;
}
.farmer-directory-summary b,.farmer-directory-summary small {
  display: block;
}
.farmer-directory-summary b {
  color: #123f38;
  font-size: 17px;
}
.farmer-directory-summary small {
  margin-top: 2px;
  color: #70857f;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.farmer-toolbar {
  display: grid;
  grid-template-columns: minmax(260px,1fr) minmax(170px,.32fr) minmax(180px,.34fr);
  gap: 12px;
  padding: 16px 22px;
  background: #f8fbfa;
  border-bottom: 1px solid #e5eeec;
}
.farmer-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #506b65;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.farmer-toolbar input,.farmer-toolbar select {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #cbded9;
  border-radius: 10px;
  background: #fff;
  color: #173f39;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  outline: none;
}
.farmer-search-box>div {
  position: relative;
}
.farmer-search-box>div>span {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #78908a;
  font-size: 18px;
}
.farmer-search-box input {
  padding-left: 38px;
}
.farmer-toolbar input:focus,.farmer-toolbar select:focus {
  border-color: #159487;
  box-shadow: 0 0 0 3px rgba(21,148,135,.11);
}
.farmer-results-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 22px 4px;
  color: #637b75;
  font-size: 9px;
}
.farmer-results-meta b {
  color: #123f38;
}
.farmer-results-meta small {
  color: #859690;
}
.farmer-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  padding: 12px 22px 22px;
}
.farmer-card {
  padding: 0;
  border: 1px solid #dbe7e4;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(21,63,56,.04);
  transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.farmer-card:hover {
  transform: translateY(-2px);
  border-color: #bfd8d2;
  box-shadow: 0 12px 28px rgba(21,63,56,.08);
}
.farmer-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 18px 14px;
}
.farmer-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.farmer-avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 12px;
  background: #e3f3ef;
  color: #08796d;
  font-size: 17px;
  font-weight: 900;
}
.farmer-identity>div {
  min-width: 0;
}
.farmer-location {
  display: block;
  color: #0c8b7b;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.farmer-identity h3 {
  margin: 3px 0 2px;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.farmer-identity small {
  color: #82938f;
  font-size: 8px;
}
.farmer-score {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 1px 6px;
  min-width: 90px;
  padding: 9px 11px;
  border-radius: 12px;
  text-align: right;
}
.farmer-score small {
  grid-column: 1/-1;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .72;
}
.farmer-score strong {
  font-size: 19px;
  line-height: 1;
}
.farmer-score span {
  font-size: 9px;
  font-weight: 900;
}
.farmer-score.high {
  background: #dcf5ea;
  color: #08735d;
}
.farmer-score.moderate {
  background: #fff2c8;
  color: #946100;
}
.farmer-score.low {
  background: #ffe0e0;
  color: #b4232d;
}
.farmer-key-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1px;
  background: #e7efed;
  border-top: 1px solid #e7efed;
  border-bottom: 1px solid #e7efed;
}
.farmer-key-facts>div {
  min-height: 78px;
  padding: 11px 13px;
  background: #f8fbfa;
}
.farmer-key-facts span,.farmer-key-facts b,.farmer-key-facts small {
  display: block;
}
.farmer-key-facts span {
  color: #748983;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.farmer-key-facts b {
  margin-top: 4px;
  color: #173f39;
  font-size: 12px;
}
.farmer-key-facts small {
  margin-top: 3px;
  color: #8a9995;
  font-size: 8px;
}
.farmer-key-facts .trend.up b {
  color: #087760;
}
.farmer-key-facts .trend.down b {
  color: #bd3340;
}
.farmer-key-facts .trend.neutral b {
  color: #6e817c;
}
.farmer-history {
  border: 0;
  padding: 0;
}
.farmer-history summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 17px;
  list-style: none;
  cursor: pointer;
  color: #244b44;
  font-size: 10px;
  font-weight: 900;
}
.farmer-history summary::-webkit-details-marker {
  display: none;
}
.farmer-history summary span:before {
  content: '▸';
  display: inline-block;
  margin-right: 7px;
  color: #0f8f80;
  transition: transform .16s;
}
.farmer-history[open] summary span:before {
  transform: rotate(90deg);
}
.farmer-history summary small {
  color: #879893;
  font-size: 8px;
  font-weight: 700;
}
.farmer-history .timeline {
  margin: 0;
  padding: 0 17px 15px;
}
.farmer-history .timeline>div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 10px 10px 20px;
}
.farmer-history .timeline-main {
  min-width: 0;
  flex: 1;
}
.farmer-history .timeline em {
  padding: 3px 6px;
  border-radius: 999px;
  background: #dff3ee;
  color: #08796d;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.farmer-history .timeline span {
  font-size: 8px;
}
.farmer-history .timeline b {
  display: block;
  margin: 2px 0;
  font-size: 10px;
}
.farmer-empty {
  grid-column: 1/-1;
  margin: 10px 0;
}
@media (max-width:1220px) {
  .farmer-directory-head {
    flex-direction: column;
  }
  .farmer-directory-summary {
    width: 100%;
    min-width: 0;
  }
  .farmer-toolbar {
    grid-template-columns: 1fr 1fr;
  }
  .farmer-search-box {
    grid-column: 1/-1;
  }
}
@media (max-width:900px) {
  .farmer-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:640px) {
  .farmer-directory-head,.farmer-toolbar,.farmer-grid {
    padding-left: 14px;
    padding-right: 14px;
  }
  .farmer-directory-summary {
    grid-template-columns: repeat(2,1fr);
  }
  .farmer-toolbar {
    grid-template-columns: 1fr;
  }
  .farmer-search-box {
    grid-column: auto;
  }
  .farmer-results-meta {
    align-items: flex-start;
    flex-direction: column;
    padding-left: 14px;
    padding-right: 14px;
  }
  .farmer-card-top {
    align-items: stretch;
    flex-direction: column;
  }
  .farmer-score {
    grid-template-columns: auto 1fr;
    min-width: 0;
    text-align: left;
  }
  .farmer-score small {
    grid-column: auto;
  }
  .farmer-key-facts {
    grid-template-columns: 1fr;
  }
}
/* Professional Analytics and Trends redesign — 2026-08-06 */
.section-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 16px;
  padding: 4px 2px;
}
.section-intro h2 {
  margin: 3px 0 5px;
  color: #173f39;
  font-size: 22px;
  letter-spacing: -.03em;
}
.section-intro p {
  max-width: 650px;
  margin: 0;
  color: #6c817c;
  font-size: 11px;
  line-height: 1.55;
}
.analytics-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(92px,1fr));
  gap: 8px;
}
.analytics-summary>div {
  padding: 10px 13px;
  border: 1px solid #dce9e6;
  border-radius: 11px;
  background: #fff;
}
.analytics-summary span,.analytics-summary strong {
  display: block;
}
.analytics-summary span {
  color: #788c87;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.analytics-summary strong {
  margin-top: 3px;
  color: #173f39;
  font-size: 18px;
}
.analytics-grid-refined {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.analytics-card,.ranking-card {
  box-shadow: 0 8px 22px rgba(31,71,63,.055);
  border: 1px solid #dfeae7;
}
.analytics-card {
  min-height: 210px;
}
.analytics-card .card-head,.ranking-card .card-head {
  margin-bottom: 17px;
}
.card-caption {
  align-self: flex-start;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef6f4;
  color: #59736c;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.bar-list {
  gap: 16px;
}
.bar-list header {
  font-size: 10px;
}
.bar-list header span {
  color: #405f58;
  font-weight: 700;
}
.bar-list header b {
  color: #173f39;
}
.bar-track {
  height: 7px;
  background: #eaf1ef;
}
.ranking-list-refined {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.ranking-list-refined>div {
  min-height: 65px;
  padding: 10px 12px;
  background: #fbfdfc;
}
.ranking-name {
  min-width: 0;
}
.ranking-name b {
  font-size: 12px;
}
.ranking-name small {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ranking-level {
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}
.ranking-level.high {
  background: #dcf8ea;
  color: #08775d;
}
.ranking-level.moderate {
  background: #fff2c9;
  color: #9a6700;
}
.ranking-level.low {
  background: #ffe0e2;
  color: #b82d3b;
}
.ranking-list-refined>div>strong {
  min-width: 34px;
  text-align: right;
  font-size: 17px;
}
.trend-workspace {
  padding: 20px;
  border: 1px solid #dfeae7;
  box-shadow: 0 9px 24px rgba(31,71,63,.055);
}
.trend-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.trend-toolbar .card-head {
  margin: 0;
  min-width: 230px;
}
.trend-filter-row {
  display: grid;
  grid-template-columns: 160px minmax(210px,1fr) 190px;
  gap: 9px;
  flex: 1;
  margin: 0;
}
.trend-filter-row label {
  font-size: 9px;
}
.trend-filter-row select {
  width: 100%;
  min-height: 42px;
}
.trend-chart-summary {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
  margin: 18px 0 4px;
}
.trend-chart-summary>div {
  padding: 10px 12px;
  border: 1px solid #e1ebe8;
  border-radius: 10px;
  background: #f8fbfa;
}
.trend-chart-summary span,.trend-chart-summary strong {
  display: block;
}
.trend-chart-summary span {
  color: #7a8f89;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.trend-chart-summary strong {
  margin-top: 4px;
  color: #173f39;
  font-size: 13px;
}
.trend-chart-summary .positive strong {
  color: #08775d;
}
.trend-chart-summary .negative strong {
  color: #be3441;
}
.refined-chart-host {
  min-height: 320px;
  margin-top: 8px;
  padding: 8px 4px 0;
  border-top: 1px solid #edf2f1;
  overflow-x: auto;
}
.refined-trend-svg {
  min-width: 760px;
}
.refined-trend-svg .chart-grid-line {
  stroke: #e3ece9;
  stroke-width: 1;
}
.refined-trend-svg .axis-line {
  stroke: #aabfba;
  stroke-width: 1;
}
.refined-trend-svg polyline {
  stroke-width: 3;
}
.refined-trend-svg .axis-label,.refined-trend-svg .date-label {
  fill: #78908a;
  font-size: 10px;
}
.refined-trend-svg .value-label {
  fill: #3f5f58;
  font-size: 10px;
  font-weight: 700;
}
.comparison-layout {
  grid-template-columns: 1.45fr 1fr;
  align-items: start;
}
.comparison-card,.screening-card {
  min-height: 370px;
}
.comparison-card .empty-state,.screening-card .empty-state {
  min-height: 205px;
}
.comparison-head {
  padding: 11px;
}
.delta-grid {
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 7px;
}
.delta-grid>div {
  padding: 10px;
}
.delta-grid b {
  font-size: 11px;
}
.shi-total {
  padding: 13px;
}
.shi-total strong {
  font-size: 27px;
}
.component-list {
  gap: 10px;
}
.trends-intro {
  margin-bottom: 13px;
}
@media (max-width:1100px) {
  .trend-toolbar {
    display: block;
  }
  .trend-filter-row {
    margin-top: 14px;
  }
  .ranking-list-refined {
    grid-template-columns: 1fr;
  }
  .delta-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px) {
  .section-intro {
    align-items: flex-start;
    flex-direction: column;
  }
  .analytics-summary {
    width: 100%;
    grid-template-columns: repeat(3,1fr);
  }
  .analytics-grid-refined {
    grid-template-columns: 1fr;
  }
  .analytics-grid-refined .span-two {
    grid-column: auto;
  }
  .trend-filter-row {
    grid-template-columns: 1fr;
  }
  .trend-chart-summary {
    grid-template-columns: repeat(2,1fr);
  }
  .comparison-layout {
    grid-template-columns: 1fr;
  }
  .delta-grid {
    grid-template-columns: 1fr;
  }
  .card-caption {
    display: none;
  }
}
@media (max-width:480px) {
  .analytics-summary {
    grid-template-columns: 1fr;
  }
  .trend-chart-summary {
    grid-template-columns: 1fr;
  }
  .section-intro h2 {
    font-size: 20px;
  }
}
/* Remove duplicated page headings while retaining concise context */
.analytics-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 16px;
  padding: 0 2px;
}
.view-description {
  margin: 0;
  color: #6c817c;
  font-size: 11px;
  line-height: 1.55;
}
.trends-description {
  margin: 0 0 14px;
  padding: 0 2px;
}
@media (max-width:760px) {
  .analytics-summary-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .analytics-summary-row .analytics-summary {
    width: 100%;
  }
}
/* Analytics and Trends spacing cleanup — 2026-08-06 */
.analytics-page,.trends-page {
  padding-top: 0;
}
.analytics-summary-row {
  display: flex;
  justify-content: flex-end;
  gap: 0;
  margin: 0 0 10px;
  padding: 0;
}
.analytics-summary-row .analytics-summary {
  width: min(100%,470px);
}
.analytics-grid-refined {
  margin-top: 0;
}
.trend-workspace {
  margin-top: 0;
}
.admin-subnav {
  margin-bottom: 12px;
}
.analytics-page .data-card,.trends-page .data-card {
  scroll-margin-top: 90px;
}
@media (max-width:760px) {
  .analytics-summary-row {
    margin-bottom: 9px;
  }
  .analytics-summary-row .analytics-summary {
    width: 100%;
  }
  .admin-subnav {
    margin-bottom: 10px;
  }
}
/* 2026-08-06 — Analytics spacing and visual rhythm refinement */
.analytics-page {
  display: flex;
  flex-direction: column;
}
.analytics-page.active {
  display: flex;
}
.analytics-summary-row {
  margin: 0 0 14px;
}
.analytics-summary-row .analytics-summary {
  width: 100%;
  gap: 10px;
}
.analytics-summary>div {
  min-height: 58px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.analytics-grid-refined {
  gap: 14px;
  align-items: stretch;
}
.analytics-grid-refined>.data-card {
  margin: 0;
}
.analytics-card {
  min-height: 180px;
  padding: 16px;
}
.analytics-card .card-head,
.ranking-card .card-head {
  margin-bottom: 12px;
}
.analytics-card .card-head p,
.ranking-card .card-head p {
  margin-top: 3px;
}
.bar-list {
  gap: 13px;
}
.ranking-card {
  padding: 16px;
}
.ranking-list-refined {
  gap: 7px;
  align-content: start;
}
.ranking-list-refined>div {
  min-height: 56px;
  padding: 9px 11px;
}
.analytics-grid-refined>.ranking-card+.analytics-card {
  margin-top: 0;
}
@media (max-width:760px) {
  .analytics-summary-row {
    margin-bottom: 12px;
  }
  .analytics-grid-refined {
    gap: 12px;
  }
  .analytics-card,.ranking-card {
    padding: 14px;
  }
  .analytics-card {
    min-height: 0;
  }
  .ranking-list-refined>div {
    min-height: 54px;
  }
}
/* 2026-08-06 — definitive analytics spacing correction */
#view-analytics.analytics-page {
  display: none;
  flex-direction: column;
  gap: 18px !important;
}
#view-analytics.analytics-page.active {
  display: flex !important;
}
#view-analytics .analytics-summary-row {
  margin: 0 !important;
  padding: 0 !important;
}
#view-analytics .analytics-summary {
  width: 100% !important;
  gap: 14px !important;
}
#view-analytics .analytics-summary>div {
  min-height: 70px !important;
  padding: 13px 16px !important;
  border-radius: 12px !important;
}
#view-analytics .analytics-summary strong {
  margin-top: 4px !important;
  font-size: 20px !important;
}
#view-analytics .analytics-grid-refined {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  column-gap: 18px !important;
  row-gap: 18px !important;
  margin: 0 !important;
  align-items: stretch !important;
}
#view-analytics .analytics-grid-refined>.data-card {
  margin: 0 !important;
  min-height: 0 !important;
  padding: 18px !important;
}
#view-analytics .analytics-grid-refined>.analytics-card {
  height: auto !important;
}
#view-analytics .analytics-grid-refined>.span-two {
  grid-column: 1/-1 !important;
}
#view-analytics .card-head {
  min-height: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  align-items: center !important;
}
#view-analytics .card-head h2 {
  margin: 0 !important;
  line-height: 1.2 !important;
}
#view-analytics .card-head p {
  display: none !important;
}
#view-analytics .bar-list {
  gap: 15px !important;
}
#view-analytics .ranking-card {
  padding-bottom: 18px !important;
}
#view-analytics .ranking-list-refined {
  gap: 10px !important;
}
#view-analytics .ranking-list-refined>div {
  min-height: 58px !important;
  padding: 11px 13px !important;
}
@media (max-width:760px) {
  #view-analytics.analytics-page {
    gap: 14px !important;
  }
  #view-analytics .analytics-grid-refined {
    grid-template-columns: 1fr !important;
    row-gap: 14px !important;
  }
  #view-analytics .analytics-grid-refined>.span-two {
    grid-column: auto !important;
  }
  #view-analytics .analytics-summary {
    grid-template-columns: 1fr !important;
  }
}
/* Interactive municipal GIS workspace */
#view-mapping .admin-idw-card {
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}
#view-mapping .admin-map-heading {
  padding: 2px 2px 12px;
  margin: 0;
}
.admin-map-workspace {
  grid-template-columns: minmax(0,1fr) 318px;
  gap: 14px;
  padding: 0!important;
  align-items: stretch;
}
.admin-map-primary {
  min-width: 0;
}
.admin-gis-viewport {
  position: relative;
  min-height: clamp(610px,74vh,860px);
  border: 1px solid #cfdfdb!important;
  border-radius: 20px!important;
  background: #e8f2ef;
  box-shadow: 0 18px 48px rgba(18,67,60,.10)!important;
  isolation: isolate;
}
.admin-idw-map {
  height: clamp(610px,74vh,860px)!important;
  min-height: 610px!important;
  cursor: grab;
  touch-action: none;
  user-select: none;
  background: linear-gradient(145deg,#edf8f4,#e2edf7)!important;
}
.admin-idw-map.is-dragging {
  cursor: grabbing;
}
.admin-idw-map svg {
  width: 100%!important;
  height: 100%!important;
  min-height: 0!important;
  max-height: none!important;
  display: block;
}
.admin-map-panzoom-layer {
  transform-origin: 0 0;
  transition: transform .16s ease-out;
}
.admin-idw-map.is-dragging .admin-map-panzoom-layer {
  transition: none;
}
.admin-map-floating-toolbar {
  position: absolute;
  z-index: 8;
  top: 16px;
  left: 16px;
  display: grid;
  grid-template-columns: minmax(170px,220px) minmax(170px,220px);
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(199,220,215,.95);
  border-radius: 15px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 10px 30px rgba(17,70,62,.14);
  backdrop-filter: blur(12px);
}
.admin-map-floating-toolbar>label:not(.admin-map-toggle) {
  display: grid;
  gap: 5px;
  color: #607b75;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.admin-map-floating-toolbar select {
  width: 100%;
  height: 39px;
  padding: 0 34px 0 11px;
  border: 1px solid #ccded9;
  border-radius: 9px;
  background: #fff;
  color: #153f38;
  font-weight: 800;
  outline: none;
}
.admin-map-floating-toolbar select:focus {
  border-color: #0f9484;
  box-shadow: 0 0 0 3px rgba(15,148,132,.12);
}
.admin-map-floating-toolbar .admin-map-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 35px;
  padding: 7px 9px;
  border: 1px solid #d7e5e1;
  border-radius: 9px;
  background: #fff;
  color: #315c54;
  font-size: 11px;
  font-weight: 750;
  text-transform: none;
  letter-spacing: 0;
}
.admin-map-floating-toolbar .admin-map-toggle input {
  accent-color: #0f9484;
}
.admin-map-viewport-tools {
  position: absolute;
  z-index: 8;
  left: 16px;
  top: 166px;
  display: grid;
  gap: 7px;
}
.admin-map-viewport-tools button {
  width: 40px;
  height: 40px;
  border: 1px solid #cddfda;
  border-radius: 10px;
  background: rgba(255,255,255,.95);
  color: #17463f;
  font-size: 21px;
  font-weight: 800;
  box-shadow: 0 7px 20px rgba(17,70,62,.12);
  cursor: pointer;
}
.admin-map-viewport-tools button:hover {
  background: #effaf7;
  color: #078879;
  transform: translateY(-1px);
}
.admin-map-live-overlay {
  position: absolute;
  z-index: 8;
  top: 16px;
  right: 16px;
}
.admin-map-floating-legend {
  position: absolute;
  z-index: 8;
  left: 16px;
  bottom: 16px;
  width: auto;
  max-width: 360px;
  margin: 0!important;
  padding: 11px 13px!important;
  border: 1px solid rgba(201,220,216,.95)!important;
  border-radius: 13px!important;
  background: rgba(255,255,255,.94)!important;
  box-shadow: 0 8px 25px rgba(17,70,62,.12);
  backdrop-filter: blur(10px);
}
.admin-map-floating-legend small {
  display: block;
  width: 100%;
  margin: 5px 0 0!important;
  color: #6c827d;
}
.admin-map-gesture-hint {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  padding: 8px 12px;
  border: 1px solid rgba(202,220,216,.92);
  border-radius: 10px;
  background: rgba(255,255,255,.91);
  color: #536f69;
  font-size: 10px;
  font-weight: 650;
  box-shadow: 0 6px 18px rgba(17,70,62,.10);
  white-space: nowrap;
  pointer-events: none;
}
.admin-map-gesture-hint span {
  margin: 0 5px;
  color: #99aaa6;
}
.admin-map-popup {
  position: absolute;
  z-index: 12;
  width: 266px;
  padding: 14px;
  border: 1px solid #cbded9;
  border-radius: 14px;
  background: #fff;
  color: #173f39;
  box-shadow: 0 18px 45px rgba(14,58,52,.22);
}
.admin-map-popup[hidden] {
  display: none;
}
.admin-map-popup>button {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 27px;
  height: 27px;
  border: 0;
  border-radius: 8px;
  background: #eff5f3;
  color: #41635d;
  font-size: 18px;
  cursor: pointer;
}
.admin-map-popup>strong {
  display: block;
  margin: 4px 28px 2px 0;
  font-size: 16px;
}
.admin-map-popup>small {
  display: block;
  color: #728782;
  font-size: 10px;
}
.admin-map-popup dl {
  display: grid;
  gap: 6px;
  margin: 12px 0 0;
}
.admin-map-popup dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid #edf2f1;
}
.admin-map-popup dt {
  color: #6a817b;
  font-size: 10px;
}
.admin-map-popup dd {
  margin: 0;
  color: #173f39;
  font-size: 10px;
  font-weight: 800;
  text-align: right;
}
.admin-sample-point {
  cursor: pointer;
  stroke: #fff;
  stroke-width: 2.5;
  filter: drop-shadow(0 2px 3px rgba(8,55,48,.25));
  transition: r .14s ease,filter .14s ease;
}
.admin-sample-point:hover {
  r: 8;
  filter: drop-shadow(0 3px 6px rgba(8,55,48,.38));
}
.admin-boundary-layer .map-brgy path {
  cursor: pointer;
  transition: filter .18s ease,stroke-width .18s ease;
}
.admin-boundary-layer .map-brgy:hover path {
  filter: brightness(1.03) drop-shadow(0 0 5px rgba(5,79,68,.28));
  stroke-width: 3;
}
.admin-boundary-layer .map-brgy.selected path {
  animation: adminSelectedBarangay 1.15s ease-in-out infinite alternate;
}
@keyframes adminSelectedBarangay {
  from {
    filter: drop-shadow(0 0 1px rgba(5,100,84,.2));
  }
  to {
    filter: drop-shadow(0 0 8px rgba(5,100,84,.62));
  }
}
.admin-map-sidebar {
  position: sticky;
  top: 88px;
  align-self: start;
}
.admin-map-sidebar>section {
  border-radius: 16px!important;
  background: #fff!important;
  box-shadow: 0 10px 28px rgba(17,70,62,.07)!important;
}
.admin-map-method {
  margin: 12px 0 0!important;
}
@media (max-width:1180px) {
  .admin-map-workspace {
    grid-template-columns: minmax(0,1fr) 280px;
  }
  .admin-map-floating-toolbar {
    grid-template-columns: minmax(150px,1fr) minmax(150px,1fr);
  }
}
@media (max-width:980px) {
  .admin-map-workspace {
    grid-template-columns: 1fr;
  }
  .admin-map-sidebar {
    position: static;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .admin-gis-viewport,.admin-idw-map {
    height: 650px!important;
    min-height: 650px!important;
  }
}
@media (max-width:700px) {
  .admin-gis-viewport,.admin-idw-map {
    height: 560px!important;
    min-height: 560px!important;
  }
  .admin-map-floating-toolbar {
    top: 10px;
    left: 10px;
    right: 10px;
    grid-template-columns: 1fr 1fr;
  }
  .admin-map-viewport-tools {
    left: 10px;
    top: 154px;
  }
  .admin-map-live-overlay {
    top: auto;
    right: 10px;
    bottom: 64px;
  }
  .admin-map-floating-legend {
    left: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
  }
  .admin-map-gesture-hint {
    display: none;
  }
  .admin-map-sidebar {
    grid-template-columns: 1fr;
  }
}
@media (max-width:480px) {
  .admin-map-floating-toolbar {
    grid-template-columns: 1fr;
  }
  .admin-map-viewport-tools {
    top: 238px;
  }
  .admin-map-floating-toolbar .admin-map-toggle {
    display: none;
  }
}
/* 2026-08-06 — Bagulin-only locked GIS redesign */
#view-mapping .admin-map-heading {
  padding: 0 2px 10px;
}
.admin-map-workspace {
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 12px;
}
.admin-gis-viewport {
  min-height: clamp(650px,76vh,880px);
  border-radius: 16px!important;
  overflow: hidden;
  background: #f8fbfa!important;
  box-shadow: 0 14px 38px rgba(18,67,60,.09)!important;
}
.admin-idw-map {
  height: clamp(650px,76vh,880px)!important;
  min-height: 650px!important;
  background: #f8fbfa!important;
}
.admin-idw-map svg {
  background: #f8fbfa;
}
.admin-map-floating-toolbar {
  top: 14px;
  left: 14px;
  gap: 8px;
  padding: 9px;
  border-radius: 13px;
}
.admin-map-viewport-tools {
  left: 14px;
  top: 158px;
}
.admin-map-live-overlay {
  top: 14px;
  right: 14px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.admin-boundary-lock {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #cce1db;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #315f57;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 6px 18px rgba(17,70,62,.08);
}
.admin-map-floating-legend {
  left: 14px;
  bottom: 14px;
  max-width: 320px;
}
.admin-map-gesture-hint {
  bottom: 14px;
}
.admin-map-sidebar {
  top: 82px;
  gap: 10px;
}
.admin-map-sidebar>section {
  border: 1px solid #d6e4e0!important;
  border-radius: 14px!important;
  box-shadow: 0 8px 22px rgba(17,70,62,.055)!important;
}
.admin-boundary-layer .map-brgy.no-data path {
  fill: rgba(236,243,241,.88)!important;
}
.admin-boundary-layer .map-brgy path {
  stroke: #145d54;
  stroke-width: 2.25;
  vector-effect: non-scaling-stroke;
}
.admin-boundary-layer .map-brgy text {
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
  stroke-linejoin: round;
  font-weight: 800;
  fill: #173f39;
}
.admin-sample-point {
  vector-effect: non-scaling-stroke;
}
@media (max-width:1180px) {
  .admin-map-workspace {
    grid-template-columns: minmax(0,1fr) 275px;
  }
}
@media (max-width:980px) {
  .admin-map-workspace {
    grid-template-columns: 1fr;
  }
  .admin-map-sidebar {
    position: static;
  }
  .admin-gis-viewport,.admin-idw-map {
    height: 680px!important;
    min-height: 680px!important;
  }
}
@media (max-width:700px) {
  .admin-gis-viewport,.admin-idw-map {
    height: 590px!important;
    min-height: 590px!important;
  }
  .admin-boundary-lock {
    display: none;
  }
}
/* Google Maps Bagulin GIS workspace */
#view-mapping .admin-idw-card {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
#view-mapping .admin-map-workspace {
  grid-template-columns: minmax(0,1fr) 280px;
  gap: 14px;
  align-items: stretch;
}
#view-mapping .admin-map-frame {
  height: clamp(610px,72vh,820px);
  min-height: 610px;
  border: 1px solid #cfe0dc;
  border-radius: 18px;
  overflow: hidden;
  background: #eef5f2;
}
#view-mapping #full-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: #eef5f2;
}
#view-mapping .google-map-host {
  cursor: grab;
}
#view-mapping .google-map-host:active {
  cursor: grabbing;
}
#view-mapping .admin-map-floating-toolbar {
  z-index: 8;
  top: 14px;
  left: 14px;
  max-width: 530px;
}
#view-mapping .admin-map-viewport-tools {
  z-index: 8;
  top: 128px;
  left: 14px;
}
#view-mapping .admin-map-live-overlay {
  z-index: 8;
  top: 14px;
  right: 14px;
}
#view-mapping .admin-map-floating-legend {
  z-index: 8;
  left: 14px;
  bottom: 14px;
}
#view-mapping .admin-map-gesture-hint {
  z-index: 8;
  bottom: 14px;
}
#view-mapping .admin-map-sidebar {
  gap: 14px;
}
#view-mapping .admin-summary-section,#view-mapping .admin-selection-section {
  border-radius: 16px;
  padding: 16px;
}
#view-mapping .admin-selection-section {
  min-height: 190px;
}
.google-sample-popup {
  display: grid;
  gap: 5px;
  min-width: 220px;
  font: 13px/1.35 system-ui;
  color: #173f39;
}
.google-sample-popup strong {
  font-size: 15px;
}
.google-sample-popup span,.google-sample-popup small {
  display: block;
}
@media (max-width:1050px) {
  #view-mapping .admin-map-workspace {
    grid-template-columns: 1fr;
  }
  #view-mapping .admin-map-sidebar {
    grid-template-columns: repeat(2,minmax(0,1fr));
    display: grid;
  }
  #view-mapping .admin-map-frame {
    height: 650px;
  }
}
@media (max-width:720px) {
  #view-mapping .admin-map-sidebar {
    grid-template-columns: 1fr;
  }
  #view-mapping .admin-map-frame {
    height: 70vh;
    min-height: 520px;
  }
  #view-mapping .admin-map-floating-toolbar {
    right: 14px;
    max-width: none;
  }
  #view-mapping .admin-map-live-overlay .admin-boundary-lock {
    display: none;
  }
}
/* MapLibre + OpenFreeMap Bagulin GIS */
.maplibre-map-host {
  height: 100%!important;
  min-height: 610px;
  width: 100%;
  padding: 0!important;
  overflow: hidden;
  background: #e8f0ee;
  border: 0!important;
  border-radius: 18px;
}
.maplibre-map-host .maplibregl-canvas {
  outline: none;
}
.maplibre-map-host .maplibregl-ctrl-bottom-left {
  left: 14px;
  bottom: 12px;
}
.maplibre-map-host .maplibregl-ctrl-bottom-right {
  right: 12px;
  bottom: 8px;
}
.maplibre-map-host .maplibregl-ctrl-attrib {
  font-size: 10px;
  background: rgba(255,255,255,.86);
}
.maplibre-map-host .maplibregl-popup-content {
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 18px 44px rgba(16,58,52,.22);
  border: 1px solid #d4e2df;
}
.maplibre-map-host .maplibregl-popup-close-button {
  font-size: 20px;
  padding: 4px 8px;
  color: #496c66;
}
.maplibre-sample-popup {
  display: grid;
  gap: 5px;
  min-width: 220px;
  font: 13px/1.35 system-ui;
  color: #173f39;
}
.maplibre-sample-popup strong {
  font-size: 15px;
}
.maplibre-sample-popup span,.maplibre-sample-popup small {
  display: block;
  color: #526e69;
}
#view-mapping .admin-gis-viewport {
  overflow: hidden;
}
#view-mapping .admin-idw-map.maplibre-map-host {
  position: absolute;
  inset: 0;
  height: 100%!important;
  min-height: 100%!important;
  border-radius: 20px;
}
#view-mapping .admin-map-floating-toolbar,#view-mapping .admin-map-viewport-tools,#view-mapping .admin-map-live-overlay,#view-mapping .admin-map-floating-legend,#view-mapping .admin-map-gesture-hint {
  z-index: 8;
}
@media (max-width:980px) {
  .maplibre-map-host {
    min-height: 680px;
  }
}
@media (max-width:700px) {
  .maplibre-map-host {
    min-height: 590px;
  }
}
/* Offline Bagulin GIS viewport — no external map provider */
#view-mapping .admin-gis-viewport {
  min-height: 650px;
  background: #eef6f4;
  border: 1px solid #cddfdb;
  overflow: hidden;
}
#view-mapping #full-map.kml-map-host {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 650px;
  border: 0;
  border-radius: 20px;
  background: radial-gradient(circle at 18% 22%,rgba(123,181,163,.13),transparent 28%),
    radial-gradient(circle at 76% 74%,rgba(164,195,178,.11),transparent 31%),
    linear-gradient(180deg,#f7fbfa 0%,#e9f2ef 100%);
  cursor: grab;
}
#view-mapping #full-map.kml-map-host.is-dragging {
  cursor: grabbing;
}
#view-mapping #full-map.kml-map-host svg {
  display: block;
  width: 100%;
  height: 100%;
}
#view-mapping .admin-map-floating-toolbar,
#view-mapping .admin-map-viewport-tools,
#view-mapping .admin-map-live-overlay,
#view-mapping .admin-map-floating-legend,
#view-mapping .admin-map-gesture-hint {
  z-index: 8;
}
#view-mapping .admin-boundary-lock {
  white-space: nowrap;
}
@media (max-width:980px) {
  #view-mapping .admin-gis-viewport,
  #view-mapping #full-map.kml-map-host {
    min-height: 620px;
  }
}
@media (max-width:700px) {
  #view-mapping .admin-gis-viewport,
  #view-mapping #full-map.kml-map-host {
    min-height: 560px;
  }
}
/* Full-box movable GIS map */
#view-mapping .admin-map-frame.admin-gis-viewport {
  height: clamp(680px,78vh,900px)!important;
  min-height: 680px!important;
  padding: 0!important;
  background: #edf5f2!important;
}
#view-mapping #full-map.kml-map-host {
  position: absolute!important;
  inset: 0!important;
  width: 100%!important;
  height: 100%!important;
  min-height: 100%!important;
  padding: 0!important;
  margin: 0!important;
  border-radius: inherit!important;
}
#view-mapping #full-map.kml-map-host svg {
  position: absolute;
  inset: 0;
  width: 100%!important;
  height: 100%!important;
  min-width: 100%;
  min-height: 100%;
  display: block;
  touch-action: none;
  user-select: none;
}
#view-mapping .admin-map-panzoom-layer {
  will-change: transform;
}
@media (max-width:980px) {
  #view-mapping .admin-map-frame.admin-gis-viewport {
    height: 72vh!important;
    min-height: 620px!important;
  }
}
@media (max-width:700px) {
  #view-mapping .admin-map-frame.admin-gis-viewport {
    height: 70vh!important;
    min-height: 540px!important;
  }
}
/* 2026-08-06 — compact translucent map controls and legend */
#view-mapping .admin-map-floating-toolbar {
  top: 12px;
  left: 12px;
  max-width: 460px;
  grid-template-columns: minmax(145px,1fr) minmax(145px,1fr);
  gap: 6px;
  padding: 8px;
  border: 0!important;
  border-radius: 12px;
  background: rgba(255,255,255,.80)!important;
  box-shadow: 0 8px 22px rgba(18,67,60,.11);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
}
#view-mapping .admin-map-floating-toolbar>label:not(.admin-map-toggle) {
  gap: 3px;
  font-size: 8px;
  line-height: 1.1;
  letter-spacing: .06em;
}
#view-mapping .admin-map-floating-toolbar select {
  height: 34px;
  padding: 0 28px 0 9px;
  border: 0!important;
  border-radius: 8px;
  background: rgba(255,255,255,.76)!important;
  box-shadow: 0 1px 0 rgba(18,67,60,.08),inset 0 0 0 1px rgba(190,211,206,.35);
  font-size: 12px;
  font-weight: 750;
}
#view-mapping .admin-map-floating-toolbar select:focus {
  border: 0!important;
  box-shadow: 0 0 0 2px rgba(15,148,132,.17),inset 0 0 0 1px rgba(15,148,132,.40);
}
#view-mapping .admin-map-floating-toolbar .admin-map-toggle {
  min-height: 29px;
  padding: 4px 8px;
  gap: 5px;
  border: 0!important;
  border-radius: 8px;
  background: rgba(255,255,255,.66)!important;
  box-shadow: inset 0 0 0 1px rgba(190,211,206,.30);
  font-size: 9px;
  font-weight: 750;
}
#view-mapping .admin-map-floating-toolbar .admin-map-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
}
#view-mapping .admin-map-viewport-tools {
  top: 126px;
  left: 12px;
}
#view-mapping .admin-map-floating-legend {
  left: 12px;
  bottom: 12px;
  width: 255px;
  max-width: 255px;
  padding: 9px 11px!important;
  border: 0!important;
  border-radius: 11px!important;
  background: rgba(255,255,255,.80)!important;
  box-shadow: 0 8px 22px rgba(18,67,60,.10);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
  gap: 7px 10px!important;
  font-size: 10px!important;
}
#view-mapping .admin-map-floating-legend span {
  gap: 6px!important;
  font-size: 10px!important;
  line-height: 1.25;
}
#view-mapping .admin-map-floating-legend i {
  width: 13px!important;
  height: 8px!important;
  border-radius: 999px!important;
  margin: 0!important;
}
#view-mapping .admin-map-floating-legend small {
  margin-top: 2px!important;
  font-size: 8px!important;
  opacity: .8;
}
@media (max-width:700px) {
  #view-mapping .admin-map-floating-toolbar {
    left: 8px;
    right: 8px;
    top: 8px;
    max-width: none;
    padding: 7px;
    gap: 5px;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 116px;
    left: 8px;
  }
  #view-mapping .admin-map-floating-legend {
    left: 8px;
    bottom: 8px;
    width: 230px;
    max-width: calc(100% - 16px);
  }
}
/* 2026-08-06 system improvement pass */
.admin-map-loading {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(244,250,248,.72);
  backdrop-filter: blur(3px);
  font-weight: 750;
  color: #0b5d54;
}
.admin-map-loading[hidden] {
  display: none;
}
.admin-map-loading span {
  width: 20px;
  height: 20px;
  border: 3px solid rgba(13,148,136,.22);
  border-top-color: #0d9488;
  border-radius: 50%;
  animation: adminMapSpin .8s linear infinite;
}
@keyframes adminMapSpin {
  to {
    transform: rotate(360deg);
  }
}
.map-brgy {
  transition: filter .18s ease,opacity .18s ease,stroke-width .18s ease;
}
.map-brgy:hover,.map-brgy:focus-visible {
  filter: brightness(1.06) saturate(1.08);
  stroke-width: 3.2;
  outline: none;
}
.admin-sample-point {
  transition: r .16s ease,filter .16s ease;
}
.admin-sample-point:hover,.admin-sample-point:focus-visible {
  r: 8;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.28));
  outline: none;
}
.admin-map-floating-toolbar {
  max-width: 430px;
}
.admin-map-toggle {
  white-space: nowrap;
}
@media (max-width:760px) {
  .admin-map-floating-toolbar {
    max-width: calc(100% - 28px);
  }
  .admin-map-loading {
    font-size: 13px;
  }
}
/* ChatGPT GIS glass compact */
.gis-controls,.gis-floating-controls,.map-controls,.floating-controls {
  background: rgba(255,255,255,.58)!important;
  backdrop-filter: blur(14px)!important;
  -webkit-backdrop-filter: blur(14px)!important;
  border: 1px solid rgba(255,255,255,.18)!important;
  border-radius: 12px!important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08)!important;
  width: 270px!important;
  padding: 10px!important;
}
.gis-controls select,.gis-floating-controls select,.map-controls select,.floating-controls select {
  height: 34px!important;
  font-size: 13px!important;
  background: rgba(255,255,255,.55)!important;
}
.gis-controls label,.gis-floating-controls label,.map-controls label,.floating-controls label {
  font-size: 12px!important;
  padding: 6px 10px!important;
  background: rgba(255,255,255,.48)!important;
  border-radius: 8px!important;
}
.gis-legend,.map-legend {
  background: rgba(255,255,255,.55)!important;
  backdrop-filter: blur(14px)!important;
  width: 220px!important;
  padding: 10px 12px!important;
  border-radius: 12px!important;
}
.leaflet-control-zoom a,.map-zoom button,.zoom-controls button {
  width: 36px!important;
  height: 36px!important;
  background: rgba(255,255,255,.60)!important;
}
/* 2026-08-06 — corrected compact glass GIS controls */
#view-mapping .admin-map-floating-toolbar {
  width: 340px!important;
  max-width: calc(100% - 24px)!important;
  display: grid!important;
  grid-template-columns: repeat(6,minmax(0,1fr))!important;
  gap: 5px!important;
  padding: 7px!important;
  background: rgba(255,255,255,.74)!important;
  border: 1px solid rgba(213,229,225,.42)!important;
  border-radius: 12px!important;
  box-shadow: 0 8px 24px rgba(18,67,60,.10)!important;
  -webkit-backdrop-filter: blur(14px) saturate(125%)!important;
  backdrop-filter: blur(14px) saturate(125%)!important;
}
#view-mapping .admin-map-floating-toolbar>label:not(.admin-map-toggle) {
  grid-column: span 3;
  min-width: 0;
  gap: 2px!important;
  padding: 0!important;
  background: transparent!important;
  font-size: 7px!important;
  line-height: 1!important;
  letter-spacing: .075em!important;
}
#view-mapping .admin-map-floating-toolbar select {
  height: 31px!important;
  min-height: 31px!important;
  padding: 0 25px 0 8px!important;
  background: rgba(255,255,255,.70)!important;
  border: 1px solid rgba(194,216,211,.46)!important;
  border-radius: 8px!important;
  box-shadow: none!important;
  font-size: 11px!important;
  line-height: 31px!important;
}
#view-mapping .admin-map-floating-toolbar .admin-map-toggle {
  grid-column: span 2;
  min-width: 0!important;
  min-height: 27px!important;
  height: 27px!important;
  justify-content: flex-start!important;
  padding: 3px 6px!important;
  gap: 4px!important;
  overflow: hidden;
  background: rgba(255,255,255,.55)!important;
  border: 1px solid rgba(194,216,211,.38)!important;
  border-radius: 8px!important;
  box-shadow: none!important;
  font-size: 8px!important;
  line-height: 1!important;
}
#view-mapping .admin-map-floating-toolbar .admin-map-toggle input {
  flex: 0 0 auto;
  width: 12px!important;
  height: 12px!important;
}
#view-mapping .admin-map-viewport-tools {
  top: 119px!important;
  left: 12px!important;
  gap: 7px!important;
}
#view-mapping .admin-map-viewport-tools button {
  width: 34px!important;
  height: 34px!important;
  min-width: 34px!important;
  min-height: 34px!important;
  border: 1px solid rgba(200,220,216,.55)!important;
  background: rgba(255,255,255,.72)!important;
  box-shadow: 0 6px 18px rgba(18,67,60,.09)!important;
  -webkit-backdrop-filter: blur(12px)!important;
  backdrop-filter: blur(12px)!important;
}
#view-mapping .admin-map-floating-legend {
  width: 220px!important;
  max-width: calc(100% - 24px)!important;
  padding: 8px 10px!important;
  gap: 5px!important;
  background: rgba(255,255,255,.72)!important;
  border: 1px solid rgba(213,229,225,.40)!important;
  border-radius: 11px!important;
  box-shadow: 0 8px 22px rgba(18,67,60,.09)!important;
  -webkit-backdrop-filter: blur(14px) saturate(120%)!important;
  backdrop-filter: blur(14px) saturate(120%)!important;
}
#view-mapping .admin-map-floating-legend span {
  font-size: 9px!important;
  line-height: 1.15!important;
}
#view-mapping .admin-map-floating-legend i {
  width: 12px!important;
  height: 7px!important;
}
#view-mapping .admin-map-floating-legend small {
  font-size: 7px!important;
}
@media (max-width:560px) {
  #view-mapping .admin-map-floating-toolbar {
    width: 315px!important;
    max-width: calc(100% - 16px)!important;
    left: 8px!important;
    top: 8px!important;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 115px!important;
    left: 8px!important;
  }
  #view-mapping .admin-map-floating-legend {
    left: 8px!important;
    bottom: 8px!important;
    width: 205px!important;
  }
}
/* 2026-08-06 — Simplified Admin Overview */
#view-overview {
  --overview-gap: 14px;
}
#view-overview .overview-metrics {
  gap: 12px;
  margin-bottom: 14px;
}
#view-overview .overview-metrics article {
  min-height: 86px;
  padding: 15px 17px;
  border-radius: 14px;
  box-shadow: none;
}
#view-overview .overview-metrics article:after {
  display: none;
}
#view-overview .overview-metrics span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .07em;
}
#view-overview .overview-metrics strong {
  margin: 6px 0 0;
  font-size: 29px;
}
#view-overview .dashboard-grid {
  grid-template-columns: minmax(0,1.55fr) minmax(300px,.78fr);
  gap: 14px;
  margin-bottom: 14px;
}
#view-overview .dashboard-grid>.data-card {
  min-height: 0;
  padding: 16px;
  border-radius: 15px;
  box-shadow: none;
}
#view-overview .overview-map-card {
  height: 430px;
}
#view-overview .overview-map-head {
  margin-bottom: 10px;
}
#view-overview .overview-map-head h2,#view-overview .recent-activity-card h2,#view-overview .summary-card-head h2 {
  font-size: 15px;
}
#view-overview #mini-map.map-host {
  min-height: 320px!important;
  padding: 12px!important;
  border-radius: 11px!important;
}
#view-overview #mini-map.map-host svg {
  max-width: 610px!important;
}
#view-overview .overview-map-footer {
  margin-top: 9px;
  padding: 7px 9px;
  background: transparent;
}
#view-overview .overview-legend {
  gap: 11px;
}
#view-overview .overview-legend span {
  font-size: 8px;
}
#view-overview .recent-activity-card {
  height: 430px;
  max-height: 430px;
}
#view-overview #recent-list.activity-list {
  overflow: hidden;
  padding-right: 0;
}
#view-overview .activity-list button {
  min-height: 62px;
  padding: 9px 4px!important;
  border-radius: 0!important;
}
#view-overview .activity-list button:hover {
  transform: none;
}
#view-overview .activity-list b {
  font-size: 10px;
}
#view-overview .activity-list small {
  font-size: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 210px;
}
#view-overview .activity-list time {
  font-size: 7px;
}
#view-overview .barangay-summary-card {
  border-radius: 15px;
  box-shadow: none;
}
#view-overview .summary-card-head {
  min-height: 52px;
  padding: 14px 16px;
  border-bottom: 1px solid #e6eeec;
}
#view-overview .summary-count-note {
  color: #78908a;
  font-size: 9px;
  font-weight: 800;
}
#view-overview .summary-table {
  min-width: 660px;
}
#view-overview .summary-table th {
  height: 36px;
  padding: 8px 12px;
}
#view-overview .summary-table td {
  height: 46px;
  padding: 8px 12px;
}
#view-overview .summary-brgy {
  min-width: 125px;
  gap: 8px;
}
#view-overview .summary-brgy b {
  font-size: 10px;
}
#view-overview .record-count {
  min-width: 25px;
  height: 22px;
}
#view-overview .coverage-tag {
  padding: 5px 8px;
  font-size: 8px;
}
#view-overview .fertility-cell>span:last-child {
  font-size: 8px;
}
@media (max-width:1080px) {
  #view-overview .dashboard-grid {
    grid-template-columns: 1fr;
  }
  #view-overview .overview-map-card,#view-overview .recent-activity-card {
    height: auto;
    max-height: none;
  }
}
@media (max-width:720px) {
  #view-overview .overview-metrics article {
    min-height: 76px;
  }
  #view-overview #mini-map.map-host {
    min-height: 270px!important;
  }
}
/* 2026-08-06 — Refined professional overview v2 */
#view-overview {
  max-width: 1480px;
  margin: 0 auto;
}
#view-overview .overview-metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 12px;
}
#view-overview .overview-metrics article {
  min-height: 72px;
  padding: 13px 15px;
  border: 1px solid #dfe9e6;
  background: #fff;
  border-radius: 12px;
}
#view-overview .overview-metrics span {
  font-size: 8px;
  color: #71847f;
  letter-spacing: .08em;
}
#view-overview .overview-metrics strong {
  font-size: 27px;
  line-height: 1;
  color: #123f38;
}
#view-overview .dashboard-grid {
  grid-template-columns: minmax(0,1.8fr) minmax(280px,.72fr);
  gap: 12px;
  margin-bottom: 12px;
}
#view-overview .dashboard-grid>.data-card {
  padding: 14px;
  border: 1px solid #dfe9e6;
  border-radius: 13px;
  background: #fff;
}
#view-overview .overview-map-card {
  height: 390px;
}
#view-overview .recent-activity-card {
  height: 390px;
  max-height: 390px;
}
#view-overview .card-head {
  margin-bottom: 8px;
}
#view-overview .overview-map-head h2,#view-overview .recent-activity-card h2,#view-overview .summary-card-head h2 {
  font-size: 14px;
  line-height: 1.2;
}
#view-overview #mini-map.map-host {
  min-height: 292px!important;
  padding: 6px!important;
  border: 1px solid #dfe9e6!important;
  border-radius: 10px!important;
  background: #eef8fa!important;
}
#view-overview #mini-map.map-host svg {
  max-width: 560px!important;
  max-height: 280px!important;
}
#view-overview .overview-map-footer {
  margin-top: 7px;
  padding: 4px 2px;
}
#view-overview .overview-legend {
  gap: 10px;
}
#view-overview .overview-legend span {
  font-size: 8px;
  font-weight: 700;
}
#view-overview .overview-legend i {
  width: 7px;
  height: 7px;
}
#view-overview #recent-list.activity-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#view-overview .activity-list button {
  min-height: 68px;
  padding: 10px 2px!important;
  border-bottom: 1px solid #edf2f1!important;
}
#view-overview .activity-list button:last-child {
  border-bottom: 0!important;
}
#view-overview .activity-list b {
  font-size: 10px;
  font-weight: 700;
}
#view-overview .activity-list small {
  font-size: 8px;
  color: #78908a;
  max-width: 180px;
}
#view-overview .activity-list time {
  font-size: 7px;
  color: #8ca09b;
}
#view-overview .barangay-summary-card {
  border: 1px solid #dfe9e6;
  border-radius: 13px;
  background: #fff;
}
#view-overview .summary-card-head {
  min-height: 54px;
  padding: 12px 14px;
}
#view-overview .summary-card-head>div {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
#view-overview .summary-card-head p {
  margin: 0;
  color: #849690;
  font-size: 8px;
}
#view-overview .summary-count-note {
  padding: 5px 8px;
  border-radius: 999px;
  background: #eef7f5;
  color: #54736c;
  font-size: 8px;
}
#view-overview .summary-table {
  min-width: 540px;
}
#view-overview .summary-table th {
  height: 32px;
  padding: 7px 12px;
  font-size: 8px;
}
#view-overview .summary-table td {
  height: 42px;
  padding: 7px 12px;
}
#view-overview .summary-brgy b {
  font-size: 10px;
}
#view-overview .record-count {
  height: 20px;
  min-width: 24px;
  font-size: 8px;
}
#view-overview .fertility-cell {
  gap: 7px;
}
#view-overview .fertility-cell .pill {
  min-width: 27px;
  padding: 4px 6px;
}
#view-overview .coverage-tag {
  padding: 4px 7px;
  font-size: 7px;
}
#view-overview .summary-footer {
  padding: 9px 14px;
  border-top: 1px solid #edf2f1;
  color: #7c908a;
  font-size: 8px;
  text-align: right;
}
@media (max-width:1080px) {
  #view-overview .dashboard-grid {
    grid-template-columns: 1fr;
  }
  #view-overview .overview-map-card,#view-overview .recent-activity-card {
    height: auto;
    max-height: none;
  }
  #view-overview .recent-activity-card {
    min-height: 300px;
  }
}
@media (max-width:720px) {
  #view-overview .overview-metrics {
    grid-template-columns: repeat(2,1fr);
  }
  #view-overview .summary-card-head>div {
    display: block;
  }
  #view-overview .summary-card-head p {
    margin-top: 3px;
  }
}
/* Admin Overview: combined landscape map and compact barangay status */
#view-overview .overview-combined-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid #dfe9e6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17,69,60,.045);
}
#view-overview .overview-combined-grid {
  display: grid;
  grid-template-columns: minmax(0,1.72fr) minmax(360px,.88fr);
  min-height: 520px;
}
#view-overview .overview-map-panel {
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #e4ecea;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: 10px;
}
#view-overview .overview-status-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
#view-overview .overview-map-head,
#view-overview .summary-card-head {
  min-height: 30px;
  padding: 0;
  margin: 0;
  align-items: center;
}
#view-overview .overview-map-head h2,
#view-overview .summary-card-head h2 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
  color: #123f38;
}
#view-overview .overview-map-panel #mini-map {
  height: 100%;
  min-height: 420px;
  aspect-ratio: 16/9;
  border-radius: 11px;
  border: 1px solid #dce8e5;
  background: #edf8fb;
  overflow: hidden;
}
#view-overview .overview-map-footer {
  min-height: 22px;
  padding: 0 2px;
  display: flex;
  align-items: center;
}
#view-overview .overview-legend {
  gap: 12px;
  font-size: 10px;
  color: #61756f;
}
#view-overview .overview-status-panel .summary-card-head {
  padding: 16px 16px 13px;
  border-bottom: 1px solid #e5ecea;
}
#view-overview .summary-count-note {
  font-size: 9px;
  padding: 5px 8px;
}
#view-overview .summary-table-wrap {
  flex: 1;
  overflow: auto;
  border: 0;
}
#view-overview .summary-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
}
#view-overview .summary-table th {
  height: 34px;
  padding: 8px 10px;
  font-size: 7.5px;
  white-space: nowrap;
}
#view-overview .summary-table td {
  height: 52px;
  padding: 8px 10px;
  font-size: 10px;
}
#view-overview .summary-table th:nth-child(1) {
  width: 32%;
}
#view-overview .summary-table th:nth-child(2) {
  width: 16%;
}
#view-overview .summary-table th:nth-child(3) {
  width: 25%;
}
#view-overview .summary-table th:nth-child(4) {
  width: 27%;
}
#view-overview .summary-brgy b {
  font-size: 10.5px;
}
#view-overview .fertility-cell {
  gap: 5px;
  white-space: nowrap;
}
#view-overview .fertility-cell .pill {
  min-width: 27px;
  padding: 4px 6px;
}
#view-overview .coverage-tag {
  font-size: 8px;
  padding: 4px 7px;
  white-space: nowrap;
}
#view-overview .record-count {
  min-width: 25px;
  padding: 4px 6px;
}
#view-overview .summary-footer {
  min-height: 34px;
  padding: 9px 14px;
  border-top: 1px solid #e8efed;
  font-size: 8.5px;
  text-align: left;
  color: #758984;
}
#view-overview .overview-metrics {
  margin-bottom: 12px;
}
@media (max-width:1180px) {
  #view-overview .overview-combined-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  #view-overview .overview-map-panel {
    border-right: 0;
    border-bottom: 1px solid #e4ecea;
  }
  #view-overview .overview-map-panel #mini-map {
    min-height: 390px;
    aspect-ratio: 16/9;
  }
  #view-overview .overview-status-panel {
    max-height: none;
  }
}
@media (max-width:720px) {
  #view-overview .overview-map-panel {
    padding: 12px;
  }
  #view-overview .overview-map-panel #mini-map {
    min-height: 300px;
    aspect-ratio: 4/3;
  }
  #view-overview .summary-table {
    min-width: 520px;
  }
}
/* 2026-08-06 — Overview boundary fit: enlarge Bagulin geometry inside map viewport */
#view-overview .overview-map-panel #mini-map {
  padding: 4px!important;
}
#view-overview .overview-map-panel #mini-map svg {
  width: 100%!important;
  height: 100%!important;
  max-width: none!important;
  max-height: none!important;
  display: block;
}
#view-overview .overview-map-panel #mini-map .fertility-polygons-layer {
  transform-box: fill-box;
  transform-origin: center;
}
/* 2026-08-06 — Unified responsive system layer: desktop, tablet and phone */
html,body {
  max-width: 100%;
  overflow-x: hidden;
}
.admin-main,.admin-view,.data-card,.map-host,.table-wrap {
  min-width: 0;
}
@media (max-width:980px) {
  .admin-main {
    margin-left: 0!important;
    width: 100%!important;
  }
  .sidebar {
    position: fixed!important;
    inset: 0 auto 0 0!important;
    width: min(280px,82vw)!important;
    transform: translateX(-105%);
    transition: transform .24s ease;
    z-index: 1200;
    box-shadow: 18px 0 50px rgba(4,48,42,.24);
  }
  .admin-nav-open .sidebar {
    transform: translateX(0);
  }
  .admin-sidebar-backdrop {
    position: fixed;
    inset: 0;
    display: block!important;
    visibility: hidden;
    opacity: 0;
    background: rgba(8,29,26,.48);
    backdrop-filter: blur(2px);
    z-index: 1190;
    transition: .2s;
  }
  .admin-nav-open .admin-sidebar-backdrop {
    visibility: visible;
    opacity: 1;
  }
  .admin-nav-open {
    overflow: hidden;
  }
  .admin-menu-toggle {
    display: flex!important;
    position: fixed!important;
    top: max(14px,env(safe-area-inset-top));
    left: 14px;
    width: 48px;
    height: 48px;
    z-index: 1210;
    border-radius: 13px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 24px rgba(23,63,57,.14);
  }
  .admin-top {
    margin-left: 0;
    padding: 15px 16px 15px 78px;
    min-height: 78px;
    gap: 12px;
  }
  .admin-header-logo {
    display: none;
  }
  .admin-heading-wrap {
    min-width: 0;
  }
  .admin-heading-wrap h1 {
    max-width: 100%;
    font-size: clamp(22px,4.2vw,31px);
    line-height: 1.08;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .admin-heading-wrap .eyebrow {
    font-size: 9px;
  }
  .admin-subnav {
    margin: 14px 14px 0;
    padding: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    white-space: nowrap;
  }
  .admin-subnav::-webkit-scrollbar {
    display: none;
  }
  .admin-subnav-button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 9px 13px;
  }
  .admin-view {
    padding: 14px!important;
  }
  .metric-grid {
    gap: 10px;
  }
  .metric-grid article {
    padding: 15px!important;
    min-height: 88px!important;
  }
  .two-column,.comparison-layout,.reports-layout,.admin-map-workspace {
    grid-template-columns: 1fr!important;
  }
  .admin-map-sidebar {
    position: static!important;
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
  }
  .admin-map-frame.admin-gis-viewport {
    height: clamp(520px,68vh,720px)!important;
    min-height: 520px!important;
  }
  #view-overview .overview-combined-grid {
    grid-template-columns: 1fr!important;
  }
  #view-overview .overview-status-panel {
    max-height: none!important;
  }
  #view-overview .overview-map-panel {
    border-right: 0!important;
    border-bottom: 1px solid #e4ecea;
  }
  #view-overview .overview-map-panel #mini-map {
    min-height: 390px!important;
    aspect-ratio: 16/10!important;
  }
}
@media (max-width:700px) {
  .admin-top {
    display: grid!important;
    grid-template-columns: minmax(0,1fr);
    padding: 14px 14px 12px 76px;
    min-height: auto;
  }
  .admin-heading-wrap h1 {
    font-size: 24px;
  }
  .header-actions {
    grid-column: 1/-1;
    display: grid!important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-left: -62px;
    margin-top: 8px;
  }
  .header-actions button {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    font-size: 12px;
    border-radius: 11px;
  }
  .admin-subnav {
    margin-top: 10px;
  }
  .admin-view {
    padding: 12px!important;
  }
  .metric-grid,.overview-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 9px!important;
  }
  .metric-grid article {
    min-height: 82px!important;
    padding: 13px!important;
  }
  .metric-grid article strong {
    font-size: 27px!important;
  }
  .data-card {
    border-radius: 16px!important;
    padding: 14px!important;
  }
  .card-head h2 {
    font-size: 17px!important;
  }
  .admin-map-sidebar {
    grid-template-columns: 1fr!important;
  }
  .admin-map-frame.admin-gis-viewport {
    height: 620px!important;
    min-height: 620px!important;
    border-radius: 16px;
  }
  .admin-map-floating-toolbar {
    top: 12px!important;
    left: 12px!important;
    right: 12px!important;
    width: auto!important;
    max-width: none!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    padding: 9px!important;
    gap: 7px!important;
  }
  .admin-map-floating-toolbar label {
    min-width: 0!important;
  }
  .admin-map-floating-toolbar select {
    height: 38px!important;
    font-size: 13px!important;
  }
  .admin-map-toggle {
    min-height: 34px!important;
    padding: 7px 9px!important;
    font-size: 12px!important;
  }
  .admin-map-viewport-tools {
    top: 154px!important;
    left: 12px!important;
    gap: 8px!important;
  }
  .admin-map-viewport-tools button {
    width: 42px!important;
    height: 42px!important;
  }
  .admin-map-live-overlay {
    top: 12px!important;
    right: 12px!important;
    transform: translateY(145px);
  }
  .admin-boundary-lock {
    display: none!important;
  }
  .admin-map-floating-legend {
    left: 12px!important;
    bottom: 12px!important;
    max-width: 190px!important;
    padding: 9px 11px!important;
    font-size: 10px!important;
  }
  .admin-map-gesture-hint {
    display: none!important;
  }
  #view-overview .overview-map-panel #mini-map {
    min-height: 390px!important;
    aspect-ratio: 4/3!important;
    padding: 2px!important;
  }
  #view-overview .overview-map-head h2 {
    text-align: left!important;
  }
  #view-overview .summary-table-wrap {
    overflow-x: auto;
  }
  #view-overview .summary-table {
    min-width: 500px!important;
  }
  .analytics-summary {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  .analytics-grid-refined {
    grid-template-columns: 1fr!important;
  }
  .ranking-list-refined {
    grid-template-columns: 1fr!important;
  }
  .ranking-list-refined>div {
    display: grid!important;
    grid-template-columns: 40px minmax(0,1fr) auto auto;
    gap: 9px;
    min-height: 66px!important;
    padding: 10px!important;
  }
  .trend-toolbar {
    display: block!important;
  }
  .trend-filter-row {
    grid-template-columns: 1fr!important;
    margin-top: 12px!important;
  }
  .trend-chart-summary {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  .refined-chart-host {
    min-height: 300px!important;
    overflow: hidden!important;
  }
  .refined-trend-svg {
    width: 100%!important;
    min-width: 0!important;
    height: auto!important;
  }
  .filter-row {
    grid-template-columns: 1fr!important;
    gap: 9px!important;
    padding: 0!important;
  }
  .filter-row input,.filter-row select {
    width: 100%!important;
    height: 46px!important;
    min-height: 46px!important;
    padding: 0 14px!important;
    font-size: 14px!important;
  }
  .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .farmer-directory-head {
    padding: 16px!important;
  }
  .farmer-directory-head h2 {
    font-size: 20px!important;
  }
  .farmer-directory-head p {
    display: none;
  }
  .farmer-directory-summary {
    grid-template-columns: repeat(2,1fr)!important;
    gap: 8px!important;
  }
  .farmer-toolbar {
    grid-template-columns: 1fr!important;
    padding: 14px!important;
  }
  .reports-layout {
    gap: 12px!important;
  }
  .report-builder-card,.report-coverage-card {
    padding: 16px!important;
  }
  .report-builder-head p,.field-help {
    font-size: 11px!important;
  }
  input,select,textarea,button {
    max-width: 100%;
  }
}
@media (max-width:430px) {
  .admin-menu-toggle {
    width: 44px;
    height: 44px;
    left: 12px;
  }
  .admin-top {
    padding-left: 68px;
  }
  .admin-heading-wrap h1 {
    font-size: 22px;
  }
  .header-actions {
    margin-left: -56px;
  }
  .admin-subnav {
    margin-left: 10px;
    margin-right: 10px;
  }
  .admin-view {
    padding: 10px!important;
  }
  .metric-grid article {
    min-height: 76px!important;
    padding: 12px!important;
  }
  .metric-grid article span {
    font-size: 8px!important;
  }
  .metric-grid article strong {
    font-size: 25px!important;
  }
  .admin-map-frame.admin-gis-viewport {
    height: 570px!important;
    min-height: 570px!important;
  }
  .admin-map-floating-toolbar {
    grid-template-columns: 1fr 1fr!important;
  }
  .admin-map-toggle {
    font-size: 11px!important;
    padding: 6px 7px!important;
  }
  .admin-map-live-overlay {
    transform: translateY(139px);
  }
  .admin-live-chip {
    font-size: 9px!important;
    padding: 6px 8px!important;
  }
  .admin-map-viewport-tools {
    top: 146px!important;
  }
  .analytics-summary {
    grid-template-columns: repeat(2,1fr)!important;
  }
  .trend-chart-summary {
    grid-template-columns: repeat(2,1fr)!important;
  }
  .ranking-list-refined>div {
    grid-template-columns: 36px minmax(0,1fr) auto!important;
  }
  .ranking-list-refined>div>strong {
    grid-column: 3;
    grid-row: 1/3;
    align-self: center;
  }
  .ranking-level {
    grid-column: 2;
    justify-self: start;
  }
}
/* 2026-08-06 — Final responsive corrections from tablet/phone QA */
@media (max-width: 1024px) {
  #view-mapping .admin-map-frame.admin-gis-viewport {
    height: clamp(500px,62vh,640px)!important;
    min-height: 500px!important;
  }
  #view-mapping .admin-map-floating-toolbar {
    max-width: 430px!important;
  }
}
@media (max-width:700px) {
  /* Mobile admin header */
  .admin-top {
    padding: 14px 14px 12px 72px!important;
    gap: 10px!important;
  }
  .admin-heading-wrap h1 {
    font-size: clamp(22px,7vw,28px)!important;
    line-height: 1.08!important;
  }
  .header-actions {
    margin-left: -58px!important;
    gap: 8px!important;
  }
  .header-actions button {
    min-height: 44px!important;
    height: 44px!important;
    padding: 8px 10px!important;
    font-size: 12px!important;
  }
  /* Map: fit the municipality instead of starting overly zoomed */
  #view-mapping .admin-map-frame.admin-gis-viewport {
    height: 520px!important;
    min-height: 520px!important;
  }
  #view-mapping .admin-map-floating-toolbar {
    top: 10px!important;
    left: 10px!important;
    right: 10px!important;
    padding: 8px!important;
    gap: 6px!important;
    border-radius: 14px!important;
  }
  #view-mapping .admin-map-floating-toolbar label {
    font-size: 9px!important;
  }
  #view-mapping .admin-map-floating-toolbar select {
    height: 36px!important;
    min-height: 36px!important;
    padding: 6px 28px 6px 9px!important;
    font-size: 12px!important;
  }
  #view-mapping .admin-map-toggle {
    min-height: 32px!important;
    height: 32px!important;
    padding: 5px 8px!important;
    font-size: 11px!important;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 132px!important;
  }
  #view-mapping .admin-map-live-overlay {
    top: 10px!important;
    right: 10px!important;
    transform: translateY(126px)!important;
  }
  #view-mapping .admin-live-chip {
    padding: 6px 9px!important;
    font-size: 10px!important;
  }
  #view-mapping .admin-map-floating-legend {
    max-width: 165px!important;
    padding: 8px 10px!important;
    font-size: 9px!important;
  }
  /* Assessment Records filters */
  #view-records > .data-card {
    padding: 12px!important;
  }
  #view-records .filter-row {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 8px!important;
    padding: 0!important;
    margin: 0 0 12px!important;
  }
  #view-records .filter-row input,
  #view-records .filter-row select {
    width: 100%!important;
    min-width: 0!important;
    min-height: 46px!important;
    height: 46px!important;
    padding: 9px 12px!important;
    font-size: 14px!important;
    border-radius: 12px!important;
  }
  #view-records #record-search {
    min-height: 46px!important;
    height: 46px!important;
    line-height: 1.2!important;
  }
  /* Reports */
  .reports-layout {
    gap: 12px!important;
  }
  .report-builder-card,
  .report-coverage-card {
    padding: 14px!important;
    border-radius: 16px!important;
  }
  .report-builder-head {
    margin-bottom: 12px!important;
    padding-bottom: 12px!important;
  }
  .report-builder-head h2 {
    font-size: 21px!important;
  }
  .report-builder-head p {
    margin-top: 5px!important;
    line-height: 1.4!important;
  }
  .report-filter-grid {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 12px!important;
  }
  .report-filter-grid label {
    gap: 5px!important;
  }
  .report-filter-grid input,
  .report-filter-grid select {
    width: 100%!important;
    min-width: 0!important;
    min-height: 46px!important;
    height: 46px!important;
    padding: 8px 11px!important;
    font-size: 14px!important;
    border-radius: 12px!important;
    box-sizing: border-box!important;
  }
  .report-filter-grid input[type="date"] {
    -webkit-appearance: auto!important;
    appearance: auto!important;
  }
  .report-filter-grid small {
    margin-top: 1px!important;
    font-size: 10.5px!important;
    line-height: 1.35!important;
  }
  /* Farmer / analytics cards */
  .farmer-directory-card {
    padding: 14px!important;
  }
  .farmer-directory-head h2 {
    font-size: 22px!important;
  }
  .farmer-directory-head p {
    font-size: 12px!important;
    line-height: 1.45!important;
  }
  .farmer-toolbar {
    gap: 9px!important;
  }
  .farmer-toolbar input,
  .farmer-toolbar select {
    min-height: 46px!important;
    height: 46px!important;
    font-size: 14px!important;
  }
  .analytics-card,
  .ranking-card,
  .trend-workspace {
    padding: 14px!important;
  }
  .ranking-list-item,
  .barangay-rank-row {
    min-height: 66px!important;
    padding: 10px 12px!important;
  }
}
@media (max-width:430px) {
  #view-mapping .admin-map-frame.admin-gis-viewport {
    height: 480px!important;
    min-height: 480px!important;
  }
  #view-mapping .admin-map-floating-toolbar {
    grid-template-columns: 1fr 1fr!important;
  }
  #view-mapping .admin-map-toggle {
    font-size: 10.5px!important;
  }
}
/* 2026-08-06 — touch GIS gestures and non-overlapping map overlays */
#full-map,
#full-map svg,
#full-map .admin-map-panzoom-layer {
  touch-action: none;
  -ms-touch-action: none;
}
#full-map.is-pinching {
  cursor: zoom-in;
}
@media (max-width:1100px) {
  #view-mapping .admin-map-gesture-hint {
    display: none!important;
  }
}
@media (min-width:1101px) {
  #view-mapping .admin-map-gesture-hint {
    left: auto!important;
    right: 16px!important;
    transform: none!important;
    max-width: calc(100% - 390px);
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* 2026-08-06 — touch GIS gestures and non-overlapping map overlays */
#full-map,
#full-map svg,
#full-map .admin-map-panzoom-layer {
  touch-action: none;
  -ms-touch-action: none;
}
#full-map.is-pinching {
  cursor: zoom-in;
}
@media (max-width:1100px) {
  #view-mapping .admin-map-gesture-hint {
    display: none!important;
  }
}
@media (min-width:1101px) {
  #view-mapping .admin-map-gesture-hint {
    left: auto!important;
    right: 16px!important;
    transform: none!important;
    max-width: calc(100% - 390px);
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* 2026-08-06 selected enhancement bundle */
.export-menu {
  display: flex;
  gap: 7px;
  align-items: center;
}
.export-menu select {
  height: 40px;
  border: 1px solid #cfe0dc;
  border-radius: 10px;
  background: #fff;
  padding: 0 10px;
  color: #244f48;
  font-weight: 700;
}
.advanced-filter-panel {
  padding: 16px;
  border-bottom: 1px solid #e1ece9;
  background: #f8fbfa;
}
.record-filter-grid {
  display: grid!important;
  grid-template-columns: 2fr repeat(3,minmax(140px,1fr));
  gap: 9px!important;
}
.record-filter-grid input,.record-filter-grid select,.record-filter-grid button {
  min-height: 42px;
}
.filter-summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  color: #5f7772;
}
.filter-summary span {
  font-weight: 800;
  color: #174f47;
}
.admin-heatmap-legend strong {
  display: block;
  margin-bottom: 6px;
  color: #174f47;
}
.admin-heatmap-statistics {
  grid-template-columns: repeat(2,minmax(0,1fr))!important;
}
.audit-toolbar {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 9px;
  margin: 12px 0;
}
.audit-toolbar input,.audit-toolbar select {
  height: 42px;
  border: 1px solid #d5e4e0;
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
}
.audit-summary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.audit-summary span {
  padding: 8px 10px;
  border-radius: 10px;
  background: #eef7f4;
  color: #52706a;
  font-size: 12px;
}
.audit-summary b {
  color: #0f766e;
}
.admin-mobile-nav,.admin-mobile-fab {
  display: none;
}
@media (max-width:980px) {
  .admin-body {
    padding-bottom: 78px;
  }
  .admin-mobile-nav {
    position: fixed;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1300;
    background: rgba(255,255,255,.97);
    border-top: 1px solid #d8e6e2;
    box-shadow: 0 -8px 26px rgba(14,58,51,.10);
    padding: 7px 6px calc(7px + env(safe-area-inset-bottom));
  }
  .admin-mobile-nav button {
    border: 0;
    background: none;
    display: grid;
    gap: 2px;
    place-items: center;
    color: #52706a;
    font-size: 18px;
  }
  .admin-mobile-nav span {
    font-size: 10px;
    font-weight: 800;
  }
  .admin-mobile-fab {
    display: grid;
    place-items: center;
    position: fixed;
    right: 16px;
    bottom: 82px;
    z-index: 1290;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: #0f766e;
    color: #fff;
    font-size: 28px;
    box-shadow: 0 10px 24px rgba(15,118,110,.3);
  }
  .record-filter-grid {
    grid-template-columns: 1fr 1fr!important;
  }
  .audit-toolbar {
    grid-template-columns: 1fr;
  }
  .header-actions .export-menu select {
    max-width: 115px;
  }
  .admin-heatmap-statistics {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:560px) {
  .record-filter-grid {
    grid-template-columns: 1fr!important;
  }
  .filter-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .export-menu {
    width: 100%;
  }
  .export-menu select,.export-menu button {
    flex: 1;
  }
  .admin-top .header-actions {
    flex-wrap: wrap;
  }
  .admin-heatmap-statistics {
    grid-template-columns: 1fr 1fr!important;
  }
  .admin-mobile-fab {
    bottom: 88px;
  }
}
/* 2026-08-06 — Municipal Fertility Map refinement pass */
#view-mapping .admin-idw-card {
  padding: 0!important;
  border-radius: 16px;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}
#view-mapping .admin-map-workspace {
  position: relative;
  grid-template-columns: minmax(0,1fr) 248px!important;
  gap: 12px!important;
  transition: grid-template-columns .22s ease;
}
#view-mapping .admin-map-workspace.map-sidebar-is-collapsed {
  grid-template-columns: minmax(0,1fr) 0!important;
  gap: 0!important;
}
#view-mapping .admin-map-primary {
  min-width: 0;
}
#view-mapping .admin-map-frame {
  border: 1px solid #d3e3df;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(17,70,62,.08);
}
#view-mapping .admin-gis-viewport,#view-mapping .admin-idw-map {
  height: 690px!important;
  min-height: 690px!important;
}
#view-mapping .admin-map-sidebar {
  position: sticky;
  top: 82px;
  min-width: 0;
  gap: 10px!important;
  transition: opacity .18s ease,transform .22s ease;
  overflow: visible;
}
#view-mapping .map-sidebar-is-collapsed .admin-map-sidebar {
  opacity: 0;
  pointer-events: none;
  transform: translateX(10px);
}
#view-mapping .admin-map-sidebar>section {
  padding: 15px!important;
  border: 1px solid #d5e4e0!important;
  border-radius: 14px!important;
  box-shadow: 0 8px 22px rgba(17,70,62,.055)!important;
}
#view-mapping .admin-summary-heading {
  margin-bottom: 10px!important;
}
#view-mapping .admin-summary-heading h3 {
  font-size: 15px!important;
  line-height: 1.2;
  margin: 2px 0 0!important;
}
#view-mapping .admin-summary-heading .eyebrow {
  font-size: 8px!important;
  letter-spacing: .12em;
}
#view-mapping .map-sidebar-collapse {
  position: absolute;
  z-index: 11;
  top: 12px;
  left: -17px;
  width: 30px;
  height: 36px;
  border: 1px solid #cfe0dc;
  border-radius: 10px 0 0 10px;
  background: #fff;
  color: #285b53;
  font-size: 20px;
  font-weight: 900;
  box-shadow: -5px 6px 16px rgba(17,70,62,.09);
}
#view-mapping .map-sidebar-is-collapsed .map-sidebar-collapse {
  position: fixed;
  right: 18px;
  left: auto;
  top: 172px;
  border-radius: 10px;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
#view-mapping .admin-heatmap-statistics {
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: 8px!important;
}
#view-mapping .admin-heatmap-statistics article {
  min-width: 0!important;
  min-height: 87px!important;
  padding: 11px!important;
  border: 1px solid #dbe7e4!important;
  border-radius: 11px!important;
  background: #f9fcfb!important;
  box-shadow: none!important;
}
#view-mapping .admin-heatmap-statistics article span {
  display: block;
  font-size: 8px!important;
  line-height: 1.15!important;
  letter-spacing: .055em!important;
  color: #70847f!important;
  white-space: normal;
}
#view-mapping .admin-heatmap-statistics article strong {
  display: block;
  margin: 7px 0 3px!important;
  font-size: 20px!important;
  line-height: 1.02!important;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
#view-mapping .admin-heatmap-statistics article:nth-child(n+4) strong {
  font-size: 17px!important;
}
#view-mapping .admin-heatmap-statistics article small {
  font-size: 8px!important;
  line-height: 1.25!important;
  color: #83938f!important;
}
#view-mapping .map-detail-panel {
  display: grid!important;
  gap: 7px!important;
}
#view-mapping .map-detail-panel>p {
  margin: 0;
  padding: 12px;
  border-radius: 10px;
  background: #f5f8f7;
  color: #647b76;
  font-size: 10px;
  line-height: 1.55;
}
#view-mapping .map-detail-panel>div {
  display: flex!important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #e8efed;
}
#view-mapping .map-detail-panel>div:last-child {
  border-bottom: 0;
}
#view-mapping .map-detail-panel span {
  font-size: 9px!important;
  color: #70837f;
}
#view-mapping .map-detail-panel strong {
  font-size: 11px!important;
  text-align: right;
  overflow-wrap: anywhere;
}
#view-mapping .admin-map-floating-toolbar {
  width: 360px!important;
  max-width: calc(100% - 28px)!important;
  padding: 8px!important;
  background: rgba(255,255,255,.82)!important;
  border-color: rgba(206,224,219,.76)!important;
}
#view-mapping .admin-map-floating-toolbar .map-filter-content {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 5px;
  width: 100%;
}
#view-mapping .admin-map-floating-toolbar .map-filter-content>label:not(.admin-map-toggle) {
  grid-column: span 3;
  display: grid;
  gap: 2px;
  color: #607b75;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
}
#view-mapping .admin-map-floating-toolbar .map-filter-content>.admin-map-toggle {
  grid-column: span 2;
}
#view-mapping .map-panel-collapse {
  position: absolute;
  right: -10px;
  top: -10px;
  width: 25px;
  height: 25px;
  border: 1px solid #cfe0dc;
  border-radius: 50%;
  background: #fff;
  color: #21544d;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 5px 14px rgba(17,70,62,.12);
}
#view-mapping .admin-map-floating-toolbar.map-filter-is-collapsed {
  width: 40px!important;
  height: 40px;
  padding: 0!important;
  background: transparent!important;
  border: 0!important;
  box-shadow: none!important;
  backdrop-filter: none!important;
}
#view-mapping .admin-map-floating-toolbar.map-filter-is-collapsed .map-filter-content {
  display: none;
}
#view-mapping .admin-map-floating-toolbar.map-filter-is-collapsed .map-panel-collapse {
  position: static;
  width: 38px;
  height: 38px;
  border-radius: 11px;
}
#view-mapping .admin-map-floating-legend {
  max-width: 285px!important;
  padding: 10px 12px!important;
}
#view-mapping .admin-map-floating-legend strong {
  display: block;
  margin-bottom: 7px;
  font-size: 11px!important;
}
#view-mapping .admin-map-floating-legend span {
  display: inline-flex!important;
  align-items: center;
  gap: 5px;
  margin-right: 10px!important;
  font-size: 9px!important;
}
#view-mapping .admin-map-floating-legend i {
  width: 18px!important;
  height: 7px!important;
  border-radius: 3px!important;
}
#view-mapping .admin-map-floating-legend small {
  font-size: 7px!important;
  line-height: 1.3;
}
#view-mapping .admin-map-gesture-hint {
  font-size: 9px!important;
  padding: 7px 10px!important;
}
.compact-export-menu {
  display: flex;
  align-items: center;
  gap: 7px;
}
.compact-export-menu select {
  height: 38px;
  min-width: 132px;
  padding: 0 32px 0 11px;
  border: 1px solid #cddeda;
  border-radius: 10px;
  background: #fff;
  color: #244942;
  font-size: 11px;
  font-weight: 800;
}
.compact-export-menu button,#refresh-admin {
  min-height: 38px;
  padding: 8px 13px;
  font-size: 11px;
}
@media (max-width:1180px) {
  #view-mapping .admin-map-workspace {
    grid-template-columns: minmax(0,1fr) 225px!important;
  }
  #view-mapping .admin-heatmap-statistics {
    grid-template-columns: 1fr!important;
  }
  #view-mapping .admin-heatmap-statistics article {
    min-height: 70px!important;
  }
}
@media (max-width:1050px) {
  #view-mapping .admin-map-workspace {
    grid-template-columns: 1fr!important;
  }
  #view-mapping .admin-map-sidebar {
    position: static;
    display: grid!important;
    grid-template-columns: 1.2fr .8fr!important;
    opacity: 1!important;
    transform: none!important;
  }
  #view-mapping .map-sidebar-collapse {
    display: none;
  }
  #view-mapping .admin-heatmap-statistics {
    grid-template-columns: repeat(3,1fr)!important;
  }
}
@media (max-width:720px) {
  .admin-top {
    align-items: flex-start!important;
    gap: 12px;
  }
  .header-actions {
    gap: 6px!important;
  }
  .compact-export-menu select {
    min-width: 110px;
    width: 110px;
  }
  .compact-export-menu button,#refresh-admin {
    padding: 8px 10px;
  }
  #view-mapping .admin-gis-viewport,#view-mapping .admin-idw-map {
    height: calc(100dvh - 210px)!important;
    min-height: 520px!important;
  }
  #view-mapping .admin-map-sidebar {
    grid-template-columns: 1fr!important;
  }
  #view-mapping .admin-heatmap-statistics {
    display: flex!important;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
  }
  #view-mapping .admin-heatmap-statistics article {
    flex: 0 0 132px;
    scroll-snap-align: start;
  }
  #view-mapping .admin-map-floating-toolbar {
    left: 8px!important;
    top: 8px!important;
    width: calc(100% - 16px)!important;
    max-width: none!important;
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content {
    grid-template-columns: 1fr 1fr;
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content>label:not(.admin-map-toggle) {
    grid-column: span 1;
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content>.admin-map-toggle {
    grid-column: auto;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 132px!important;
  }
  #view-mapping .admin-map-floating-legend {
    left: 8px!important;
    bottom: 8px!important;
    max-width: 240px!important;
  }
}
@media (max-width:480px) {
  .compact-export-menu select {
    display: none;
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content>.admin-map-toggle {
    display: flex!important;
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content {
    grid-template-columns: repeat(3,1fr);
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content>label:not(.admin-map-toggle) {
    grid-column: span 3;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 179px!important;
  }
  #view-mapping .admin-map-live-overlay {
    bottom: 54px!important;
  }
}
/* 2026-08-06 — GIS layout recovery and control polish */
#view-mapping .admin-map-workspace {
  position: relative!important;
  display: grid!important;
  grid-template-columns: minmax(0,1fr) 252px!important;
  gap: 12px!important;
  align-items: start!important;
}
#view-mapping .admin-map-workspace.map-sidebar-is-collapsed {
  grid-template-columns: minmax(0,1fr) 0!important;
  gap: 0!important;
}
#view-mapping .admin-map-sidebar {
  position: sticky!important;
  top: 82px!important;
  width: 252px!important;
  min-width: 252px!important;
  opacity: 1!important;
  transform: none!important;
  transition: opacity .18s ease,transform .2s ease!important;
}
#view-mapping .map-sidebar-is-collapsed .admin-map-sidebar {
  opacity: 0!important;
  transform: translateX(12px)!important;
  visibility: hidden!important;
  pointer-events: none!important;
}
#view-mapping .map-sidebar-collapse {
  position: absolute!important;
  z-index: 30!important;
  top: 14px!important;
  right: 235px!important;
  left: auto!important;
  width: 30px!important;
  height: 38px!important;
  display: grid!important;
  place-items: center!important;
  padding: 0!important;
  border: 1px solid #cddfda!important;
  border-radius: 10px 0 0 10px!important;
  background: #fff!important;
  color: #17574f!important;
  font-size: 20px!important;
  line-height: 1!important;
  box-shadow: -5px 7px 18px rgba(17,70,62,.10)!important;
  cursor: pointer!important;
  opacity: 1!important;
  visibility: visible!important;
  pointer-events: auto!important;
  transition: right .22s ease,background .15s ease!important;
}
#view-mapping .map-sidebar-collapse:hover {
  background: #eef9f6!important;
}
#view-mapping .map-sidebar-is-collapsed .map-sidebar-collapse {
  right: 10px!important;
  border-radius: 10px!important;
}
/* Stable compact filter card */
#view-mapping .admin-map-floating-toolbar {
  display: block!important;
  width: 390px!important;
  max-width: calc(100% - 30px)!important;
  height: auto!important;
  padding: 10px!important;
  border: 1px solid rgba(205,223,218,.92)!important;
  border-radius: 13px!important;
  background: rgba(255,255,255,.94)!important;
  box-shadow: 0 10px 26px rgba(17,70,62,.12)!important;
  backdrop-filter: blur(12px)!important;
  overflow: visible!important;
}
#view-mapping .admin-map-floating-toolbar .map-filter-content {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
  gap: 8px!important;
  width: 100%!important;
  align-items: end!important;
}
#view-mapping .admin-map-floating-toolbar .map-filter-content>label:not(.admin-map-toggle) {
  grid-column: auto!important;
  display: grid!important;
  gap: 4px!important;
  min-width: 0!important;
  color: #5f7772!important;
  font-size: 8px!important;
  line-height: 1!important;
  font-weight: 900!important;
  letter-spacing: .08em!important;
  text-transform: uppercase!important;
}
#view-mapping .admin-map-floating-toolbar select {
  display: block!important;
  width: 100%!important;
  min-width: 0!important;
  height: 36px!important;
  padding: 0 30px 0 10px!important;
  border: 1px solid #d4e3df!important;
  border-radius: 9px!important;
  background-color: #fff!important;
  color: #173f39!important;
  font-size: 11px!important;
  font-weight: 800!important;
  text-transform: none!important;
  letter-spacing: 0!important;
}
#view-mapping .admin-map-floating-toolbar .admin-map-toggle {
  grid-column: auto!important;
  min-height: 34px!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  gap: 6px!important;
  padding: 0 8px!important;
  border: 1px solid #dbe8e4!important;
  border-radius: 9px!important;
  background: #f7fbfa!important;
  color: #315e57!important;
  font-size: 9px!important;
  font-weight: 800!important;
  text-transform: none!important;
  letter-spacing: 0!important;
  white-space: nowrap!important;
}
#view-mapping .admin-map-floating-toolbar .admin-map-toggle input {
  width: 13px!important;
  height: 13px!important;
  margin: 0!important;
  accent-color: #0d9488!important;
}
#view-mapping .map-panel-collapse {
  right: -9px!important;
  top: -9px!important;
  width: 26px!important;
  height: 26px!important;
  display: grid!important;
  place-items: center!important;
  padding: 0!important;
  line-height: 1!important;
}
#view-mapping .admin-map-floating-toolbar.map-filter-is-collapsed {
  width: 42px!important;
  max-width: 42px!important;
  height: 42px!important;
  padding: 0!important;
  border: 0!important;
  background: transparent!important;
  box-shadow: none!important;
}
#view-mapping .admin-map-floating-toolbar.map-filter-is-collapsed .map-panel-collapse {
  position: static!important;
  width: 42px!important;
  height: 42px!important;
  border-radius: 11px!important;
  background: #fff!important;
  box-shadow: 0 8px 20px rgba(17,70,62,.14)!important;
}
/* Unified map navigation control */
#view-mapping .admin-map-viewport-tools {
  left: 14px!important;
  top: 142px!important;
  display: flex!important;
  flex-direction: column!important;
  gap: 0!important;
  padding: 3px!important;
  border: 1px solid #d3e2de!important;
  border-radius: 12px!important;
  background: rgba(255,255,255,.96)!important;
  box-shadow: 0 9px 24px rgba(17,70,62,.13)!important;
  overflow: hidden!important;
}
#view-mapping .admin-map-viewport-tools button {
  width: 38px!important;
  height: 38px!important;
  border: 0!important;
  border-radius: 8px!important;
  background: transparent!important;
  box-shadow: none!important;
  color: #174f47!important;
  font-size: 20px!important;
  line-height: 1!important;
  transform: none!important;
}
#view-mapping .admin-map-viewport-tools button+button {
  border-top: 1px solid #e4ecea!important;
  border-radius: 0 0 8px 8px!important;
}
#view-mapping .admin-map-viewport-tools button:hover {
  background: #edf8f5!important;
  color: #087f73!important;
}
@media (max-width:1180px) {
  #view-mapping .admin-map-workspace {
    grid-template-columns: minmax(0,1fr) 228px!important;
  }
  #view-mapping .admin-map-sidebar {
    width: 228px!important;
    min-width: 228px!important;
  }
  #view-mapping .map-sidebar-collapse {
    right: 211px!important;
  }
}
@media (max-width:1050px) {
  #view-mapping .admin-map-workspace,
  #view-mapping .admin-map-workspace.map-sidebar-is-collapsed {
    grid-template-columns: 1fr!important;
    gap: 12px!important;
  }
  #view-mapping .admin-map-sidebar {
    position: static!important;
    width: 100%!important;
    min-width: 0!important;
    visibility: visible!important;
    opacity: 1!important;
    transform: none!important;
    pointer-events: auto!important;
  }
  #view-mapping .map-sidebar-is-collapsed .admin-map-sidebar {
    display: none!important;
  }
  #view-mapping .map-sidebar-collapse {
    position: absolute!important;
    right: 10px!important;
    top: 14px!important;
    border-radius: 10px!important;
  }
}
@media (max-width:720px) {
  #view-mapping .admin-map-floating-toolbar {
    width: calc(100% - 16px)!important;
    max-width: none!important;
  }
  #view-mapping .admin-map-floating-toolbar .map-filter-content {
    grid-template-columns: 1fr 1fr!important;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 154px!important;
    left: 10px!important;
  }
}
@media (max-width:480px) {
  #view-mapping .admin-map-floating-toolbar .map-filter-content {
    grid-template-columns: 1fr!important;
  }
  #view-mapping .admin-map-floating-toolbar .admin-map-toggle {
    grid-column: auto!important;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 260px!important;
  }
}
/* Data Quality action placement */
.sr-only {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  padding: 0!important;
  margin: -1px!important;
  overflow: hidden!important;
  clip: rect(0,0,0,0)!important;
  white-space: nowrap!important;
  border: 0!important;
}
.quality-table-head {
  align-items: flex-start;
  gap: 16px;
}
.quality-export-control {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
}
.quality-export-control select {
  height: 38px;
  min-width: 104px;
  padding: 0 34px 0 13px;
  border: 1px solid #cddeda;
  border-radius: 10px;
  background: #fff;
  color: #244942;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(20,72,63,.05);
}
.quality-export-control select:hover {
  border-color: #99c5bd;
  background: #fbfefd;
}
.quality-export-control select:focus {
  outline: 3px solid rgba(15,143,128,.14);
  border-color: #0f8f80;
}
@media (max-width:560px) {
  .quality-table-head {
    align-items: stretch;
    flex-direction: column;
  }
  .quality-export-control {
    margin-left: 0;
  }
  .quality-export-control select {
    width: 100%;
  }
}
/* ==========================================================================
   Admin navigation and density refinement — 2026-08-06
   Simplifies visual hierarchy without changing functionality or data.
   ========================================================================== */
@media (min-width:981px) {
  .admin-body {
    padding-left: 232px!important;
  }
  .sidebar {
    width: 232px!important;
    padding: 20px 14px 14px!important;
    box-shadow: 8px 0 24px rgba(15,52,47,.09)!important;
  }
  .admin-main {
    width: calc(100% - 0px);
    max-width: 1700px;
    margin: 0 auto;
    padding: 20px 26px 48px!important;
  }
}
/* Sidebar: quiet default state and a simple active indicator */
.admin-primary-nav {
  gap: 5px!important;
}
.nav-group-button {
  position: relative!important;
  min-height: 44px!important;
  gap: 11px!important;
  padding: 9px 12px 9px 16px!important;
  border: 0!important;
  border-radius: 10px!important;
  background: transparent!important;
  box-shadow: none!important;
  color: #c5dcd7!important;
  transition: background .16s ease,color .16s ease!important;
}
.nav-group-button:hover {
  background: rgba(255,255,255,.06)!important;
  color: #fff!important;
}
.nav-group-button.active {
  background: rgba(58,145,132,.24)!important;
  color: #fff!important;
  box-shadow: none!important;
}
.nav-group-button.active:before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: #6ee7d3;
}
.nav-icon,
.nav-group-button.active .nav-icon {
  width: 24px!important;
  height: 24px!important;
  flex-basis: 24px!important;
  border-radius: 0!important;
  background: transparent!important;
  color: inherit!important;
  font-size: 14px!important;
}
.sidebar-brand {
  margin-bottom: 20px!important;
}
.sidebar-user {
  border-radius: 10px!important;
  box-shadow: none!important;
}
/* Top heading and page spacing */
.admin-top {
  margin-bottom: 15px!important;
}
.admin-top h1 {
  font-size: clamp(25px,2.1vw,32px)!important;
  letter-spacing: -.035em!important;
}
.admin-heading-wrap {
  gap: 12px!important;
}
.admin-header-logo {
  width: 40px!important;
  height: 40px!important;
}
/* Secondary navigation: flat tab row instead of another button container */
.admin-subnav {
  min-height: 43px!important;
  gap: 4px!important;
  margin: 0 0 16px!important;
  padding: 0 4px!important;
  border: 0!important;
  border-bottom: 1px solid #d8e5e2!important;
  border-radius: 0!important;
  background: transparent!important;
  box-shadow: none!important;
}
.admin-subnav-button {
  position: relative!important;
  min-height: 42px!important;
  padding: 9px 13px!important;
  border-radius: 0!important;
  background: transparent!important;
  color: #617872!important;
  font-size: 10.5px!important;
  box-shadow: none!important;
}
.admin-subnav-button:hover {
  background: transparent!important;
  color: #087567!important;
}
.admin-subnav-button.active {
  background: transparent!important;
  color: #087567!important;
  box-shadow: none!important;
}
.admin-subnav-button.active:after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -1px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: #0f8f80;
}
/* Cards: slightly tighter, less rounded, less decorative */
.data-card,.form-card {
  border-radius: 14px!important;
  box-shadow: 0 7px 20px rgba(20,72,63,.045)!important;
}
.metric-grid,.quality-grid {
  gap: 12px!important;
  margin-bottom: 12px!important;
}
.metric-grid article,.quality-grid article {
  min-height: 108px!important;
  padding: 15px 17px!important;
  border-radius: 13px!important;
  box-shadow: 0 5px 16px rgba(20,72,63,.04)!important;
}
.metric-grid article:after {
  display: none!important;
}
.metric-grid strong,.quality-grid strong {
  font-size: clamp(27px,2.4vw,34px)!important;
  margin: 6px 0 3px!important;
}
.quality-grid article {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  grid-template-rows: auto auto!important;
  column-gap: 16px!important;
  align-items: start!important;
}
.quality-grid article>span {
  grid-column: 1!important;
  grid-row: 1!important;
}
.quality-grid article>strong {
  grid-column: 2!important;
  grid-row: 1 / span 2!important;
  margin: 0!important;
  align-self: center!important;
}
.quality-grid article>p {
  grid-column: 1!important;
  grid-row: 2!important;
  font-size: 11px!important;
  line-height: 1.35!important;
}
.card-head {
  margin-bottom: 12px!important;
}
.card-head h2 {
  font-size: 17px!important;
}
/* Consistent control geometry */
.primary,.secondary,.danger,.table-btn,
.filter-row input,.filter-row select,.card-head select,
.quality-export-control select {
  border-radius: 9px!important;
}
@media (max-width:980px) {
  .admin-main {
    max-width: none!important;
    margin: 0!important;
    padding: 17px 16px 38px!important;
  }
  .admin-subnav {
    margin: 2px 0 14px!important;
    padding: 0 2px!important;
  }
  .nav-group-button {
    min-height: 44px!important;
  }
}
@media (max-width:580px) {
  .admin-main {
    padding: 14px 12px 34px!important;
  }
  .admin-top {
    margin-bottom: 10px!important;
  }
  .admin-subnav {
    min-height: 41px!important;
    margin-bottom: 12px!important;
  }
  .admin-subnav-button {
    min-height: 40px!important;
    padding: 8px 11px!important;
    font-size: 10px!important;
  }
  .metric-grid article,.quality-grid article {
    min-height: 84px!important;
    padding: 13px 14px!important;
  }
  .quality-grid article {
    column-gap: 10px!important;
  }
  .quality-grid article>strong {
    font-size: 28px!important;
  }
  .data-card,.form-card {
    border-radius: 12px!important;
  }
}
/* ==========================================================================
   Enterprise usability upgrade — 2026-08-06
   Dashboard, tables, GIS tools, states, preferences, theme-ready UI.
   ========================================================================== */
:root {
  --ui-space-1: 8px;
  --ui-space-2: 16px;
  --ui-space-3: 24px;
  --ui-space-4: 32px;
  --ui-space-5: 48px;
  --ui-bg: #f4f8f7;
  --ui-surface: #fff;
  --ui-surface-soft: #f7fbfa;
  --ui-border: #dbe7e4;
  --ui-text: #173f39;
  --ui-muted: #657b76;
  --ui-primary: #0f8f80;
  --ui-primary-soft: #e3f5f1;
  --ui-warning: #b7791f;
  --ui-warning-soft: #fff8e7;
  --ui-danger: #c2413b;
  --ui-success: #16836f;
  --ui-radius-card: 14px;
  --ui-radius-control: 9px;
  --ui-shadow: 0 8px 24px rgba(21,67,60,.055);
}
.admin-body {
  background: var(--ui-bg);
  color: var(--ui-text);
}
.admin-main {
  display: block;
}
.admin-top {
  display: flex!important;
  align-items: center!important;
  justify-content: space-between!important;
  gap: 20px!important;
}
.admin-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.admin-breadcrumb b {
  font-weight: 400;
  color: #a1b4af;
}
.admin-breadcrumb strong {
  color: var(--ui-text);
}
.admin-breadcrumb .muted {
  color: var(--ui-muted);
}
.section-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--ui-primary);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
/* Reduce visual noise and formalize hierarchy */
.data-card,.form-card {
  border: 1px solid var(--ui-border)!important;
  background: var(--ui-surface)!important;
  box-shadow: var(--ui-shadow)!important;
}
.data-card:hover,.form-card:hover {
  box-shadow: 0 10px 28px rgba(21,67,60,.065)!important;
}
.metric-grid article,.quality-grid article {
  border: 1px solid var(--ui-border)!important;
  background: var(--ui-surface)!important;
}
.quality-grid article p {
  margin: 3px 0 0!important;
}
.quality-grid article:has(strong:not(:empty)) {
}
/* Tables: sticky headers, first column, sorting, scanning */
.enterprise-table-wrap {
  position: relative;
  max-height: min(64vh,720px);
  overflow: auto!important;
  border: 1px solid var(--ui-border);
  border-radius: 11px;
  background: #fff;
}
.enterprise-table-wrap table {
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
}
.enterprise-table-wrap thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #f3f8f6!important;
  box-shadow: 0 1px 0 var(--ui-border);
  white-space: nowrap;
}
.enterprise-table-wrap th:first-child,.enterprise-table-wrap td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: inherit;
}
.enterprise-table-wrap thead th:first-child {
  z-index: 5;
  background: #f3f8f6!important;
}
.enterprise-table-wrap tbody tr {
  background: #fff;
}
.enterprise-table-wrap tbody tr:hover {
  background: #f6fbfa;
}
.enterprise-table-wrap tbody tr:hover td:first-child {
  background: #f6fbfa;
}
.sortable-column {
  padding-right: 24px!important;
  cursor: pointer!important;
  user-select: none;
}
.sortable-column:after {
  content: '↕';
  position: absolute;
  right: 8px;
  color: #9aaca8;
  font-size: 10px;
}
.sortable-column.sorted:after {
  content: '↕';
  font-weight: 900;
  color: var(--ui-primary);
}
.records-table-head {
  align-items: center!important;
}
.table-command-bar {
  display: flex;
  align-items: center;
  gap: 8px;
}
.table-command-bar select {
  min-height: 38px;
  padding: 8px 32px 8px 12px;
  border: 1px solid #cddeda;
  border-radius: 9px;
  background: #fff;
  color: var(--ui-text);
  font-size: 10.5px;
  font-weight: 800;
}
.advanced-filter-panel {
  overflow: hidden;
  max-height: 360px;
  opacity: 1;
  transition: max-height .22s ease,opacity .16s ease,margin .22s ease;
}
.advanced-filter-panel.filters-collapsed {
  max-height: 0;
  opacity: 0;
  margin: 0!important;
  padding-top: 0!important;
  padding-bottom: 0!important;
  border: 0!important;
}
.filter-chip-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 30px;
  margin: 0 0 12px;
}
.filter-chip-row button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 9px;
  border: 1px solid #bcd9d3;
  border-radius: 999px;
  background: #eef8f5;
  color: #17685d;
  font-size: 9.5px;
  font-weight: 750;
  cursor: pointer;
}
.filter-chip-row button span {
  color: #5d7771;
}
.filter-chip-row button b {
  font-size: 13px;
}
.filter-chip-row .clear-all-chip {
  border-color: #d9dfdd;
  background: #fff;
  color: #64748b;
}
.filter-chip-empty {
  color: #8ca09b;
  font-size: 10px;
}
/* Better empty and loading states */
.polished-empty {
  display: grid;
  place-items: center;
  min-height: 150px;
  padding: 24px;
  text-align: center;
}
.polished-empty>span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--ui-primary-soft);
  color: var(--ui-primary);
  font-size: 18px;
}
.polished-empty h3 {
  margin: 10px 0 3px;
  font-size: 14px;
}
.polished-empty p {
  margin: 0;
  color: var(--ui-muted);
  font-size: 10px;
}
.skeleton-block,.skeleton-row span {
  display: block;
  min-height: 48px;
  border-radius: 10px;
  background: linear-gradient(90deg,#eef4f2 25%,#f8fbfa 45%,#eef4f2 65%);
  background-size: 250% 100%;
  animation: skeletonShift 1.2s infinite;
}
.skeleton-row td {
  padding: 7px!important;
}
.skeleton-row span {
  min-height: 30px;
}
@keyframes skeletonShift {
  to {
    background-position: -180% 0;
  }
}
/* Toast notifications */
.toast-stack {
  position: fixed;
  right: 18px;
  top: 18px;
  z-index: 99999;
  display: grid;
  gap: 8px;
  width: min(360px,calc(100vw - 30px));
  pointer-events: none;
}
.app-toast {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 9px;
  padding: 12px 14px;
  border: 1px solid #cfe2dd;
  border-radius: 11px;
  background: #fff;
  color: var(--ui-text);
  box-shadow: 0 14px 38px rgba(12,51,45,.17);
  font-size: 11px;
  font-weight: 700;
  opacity: 0;
  transform: translateY(-8px);
  transition: .2s ease;
}
.app-toast.show {
  opacity: 1;
  transform: none;
}
.app-toast>span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ui-primary-soft);
  color: var(--ui-primary);
}
.app-toast.warning>span {
  background: #fff4d7;
  color: #a56808;
}
.app-toast.error>span {
  background: #fdeceb;
  color: #b83d37;
}
/* Professional GIS utilities */
.admin-map-frame {
  --heat-opacity: .78;
}
.gis-coordinate-readout {
  position: absolute;
  z-index: 23;
  left: 12px;
  bottom: 12px;
  padding: 6px 9px;
  border-radius: 7px;
  background: rgba(8,53,47,.84);
  color: #fff;
  font: 700 8.5px/1.2 ui-monospace,monospace;
  pointer-events: none;
}
.gis-map-ornaments {
  position: absolute;
  z-index: 22;
  right: 13px;
  top: 72px;
  display: grid;
  justify-items: end;
  gap: 10px;
  color: #173f39;
  pointer-events: none;
}
.north-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 40px;
  border: 1px solid rgba(196,218,212,.9);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  font-size: 9px;
  font-weight: 900;
}
.north-arrow i {
  display: block;
  color: #0f8f80;
  font-style: normal;
  font-size: 15px;
}
.scale-bar {
  padding: 4px 8px 3px;
  border-bottom: 3px solid #173f39;
  background: rgba(255,255,255,.88);
  font-size: 8px;
  font-weight: 900;
}
.admin-map-floating-legend.legend-hidden {
  display: none!important;
}
.admin-map-frame:fullscreen {
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  background: #eef5f3;
}
.admin-map-frame:fullscreen .map-host {
  height: 100%!important;
  min-height: 100%!important;
}
/* Theme-ready and tablet icon-only sidebar */
@media (min-width:721px) and (max-width:1180px) {
  .admin-body {
    padding-left: 78px!important;
  }
  .sidebar {
    width: 78px!important;
    padding: 18px 10px!important;
  }
  .sidebar-brand {
    justify-content: center!important;
  }
  .sidebar-brand div,.nav-group-button>span:last-child,.sidebar-user {
    display: none!important;
  }
  .sidebar-brand img {
    width: 40px!important;
    height: 40px!important;
  }
  .nav-group-button {
    justify-content: center!important;
    padding: 10px!important;
  }
  .nav-group-button.active:before {
    top: 8px;
    bottom: 8px;
  }
  .admin-main {
    padding-left: 20px!important;
  }
  .nav-icon {
    font-size: 17px!important;
  }
}
@media (max-width:900px) {
  .system-health-strip {
    grid-template-columns: repeat(2,1fr);
  }
  .gis-map-ornaments {
    display: none;
  }
}
@media (max-width:580px) {
  .admin-breadcrumb {
    display: none;
  }
  .system-health-strip {
    grid-template-columns: 1fr 1fr;
  }
  .health-item {
    min-height: 56px;
    padding: 9px 10px;
  }
  .activity-timeline article {
    grid-template-columns: 9px 1fr;
  }
  .activity-timeline time {
    grid-column: 2;
  }
  .records-table-head {
    align-items: stretch!important;
    flex-direction: column;
  }
  .table-command-bar {
    width: 100%;
  }
  .table-command-bar>* {
    flex: 1;
  }
  .gis-coordinate-readout {
    bottom: 8px;
    left: 8px;
  }
  .toast-stack {
    right: 10px;
    top: 10px;
    width: calc(100vw - 20px);
  }
}
/* 2026-08-07 consolidation and resilience */
.admin-view .empty-state,.admin-view .state-empty,.admin-view .state-error {
  min-height: 150px;
  display: grid;
  place-content: center;
  text-align: center;
  padding: 24px;
  border: 1px dashed #cbded9;
  border-radius: 12px;
  background: #f8fbfa;
  color: #47645f;
}
.admin-view .state-error {
  border-color: #f1c7c7;
  background: #fff8f8;
  color: #9f2d2d;
}
.admin-view [aria-busy="true"] {
  position: relative;
  min-height: 120px;
  opacity: .65;
  pointer-events: none;
}
.admin-view [aria-busy="true"]:after {
  content: "Loading…";
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  font-size: 12px;
  font-weight: 800;
  color: #315f58;
  background: rgba(255,255,255,.76);
  border-radius: inherit;
}
#view-audit .metric-grid article,#view-quality .quality-grid article {
  min-height: 88px;
  padding: 14px;
}
#view-audit .metric-grid strong,#view-quality .quality-grid strong {
  font-size: clamp(20px,2.2vw,28px);
}
@media (max-width:780px) {
  .admin-primary-nav .nav-group-button span:last-child {
    font-size: 12px;
  }
  .admin-subnav {
    overflow-x: auto;
    white-space: nowrap;
  }
  .admin-subnav-button {
    flex: 0 0 auto;
  }
  .metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
/* ==========================================================================\n   Final admin consistency pass — 2026-08-07\n   Keeps existing features while simplifying visual hierarchy and controls.\n   ========================================================================== */
.admin-body {
  font-size: 14px;
}
.admin-top h1 {
  font-size: clamp(23px,2.3vw,30px)!important;
  line-height: 1.2!important;
}
.card-head h2,.admin-view h2 {
  font-size: 18px!important;
  line-height: 1.3!important;
}
.admin-view h3 {
  font-size: 15px!important;
}
.card-head p,.admin-view p {
  line-height: 1.55;
}
.overview-metrics article:first-child {
  border-top: 3px solid var(--ui-primary)!important;
  background: linear-gradient(180deg,#fff,#f8fcfb)!important;
}
.overview-metrics article:not(:first-child) {
  box-shadow: none!important;
}
.admin-subnav {
  scrollbar-width: thin;
}
.admin-subnav-button,.nav-group-button,button.primary,button.secondary,button.danger {
  border-radius: 9px!important;
}
.admin-view input,.admin-view select,.admin-view textarea {
  min-height: 40px;
  border-radius: 9px!important;
}
.admin-view input:focus,.admin-view select:focus,.admin-view textarea:focus {
  outline: 3px solid rgba(15,143,128,.14)!important;
  outline-offset: 1px;
  border-color: var(--ui-primary)!important;
}
.admin-view button:focus-visible,.sidebar a:focus-visible,.admin-subnav-button:focus-visible {
  outline: 3px solid rgba(37,99,235,.22)!important;
  outline-offset: 2px;
}
.data-card .data-card,.data-card .form-card {
  box-shadow: none!important;
  background: var(--ui-surface-soft)!important;
}
.table-wrap table tbody tr {
  transition: background .12s ease;
}
.table-wrap table tbody tr:hover {
  background: #f7fbfa;
}
.empty-state {
  min-height: 160px!important;
}
.empty-state>span {
  font-size: 22px!important;
  color: var(--ui-primary);
}
#record-search {
  min-width: 220px;
}
.admin-map-frame {
  overflow: hidden;
  border-radius: 12px!important;
}
.map-host {
  touch-action: none;
}
.admin-map-floating-legend {
  max-width: min(280px,calc(100% - 24px));
}
.app-toast {
  border-radius: 10px!important;
}
@media (max-width:760px) {
  .admin-top {
    align-items: flex-start!important;
  }
  .metric-grid {
    gap: 10px!important;
  }
  .data-card {
    padding: 14px!important;
  }
  .record-filter-grid {
    grid-template-columns: 1fr!important;
  }
  #record-search {
    min-width: 0;
  }
  .enterprise-table-wrap {
    max-height: 62vh;
  }
  .admin-map-frame,.map-host {
    min-height: 460px!important;
  }
}
@media (max-width:520px) {
  .metric-grid {
    grid-template-columns: 1fr 1fr!important;
  }
  .metric-grid article {
    min-height: 78px!important;
  }
  .metric-grid article strong {
    font-size: 25px!important;
  }
  .admin-map-frame,.map-host {
    min-height: 400px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation-duration: .01ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .01ms!important;
    scroll-behavior: auto!important;
  }
}
/* Remove unintended scrollbar from admin secondary tab navigation.
   overflow-x:auto makes overflow-y compute to auto in browsers; the active
   underline can then create a tiny vertical overflow and visible scrollbar. */
.admin-subnav {
  overflow-y: hidden!important;
  scrollbar-width: none!important;
  -ms-overflow-style: none!important;
}
.admin-subnav::-webkit-scrollbar {
  width: 0!important;
  height: 0!important;
  display: none!important;
}
.record-document-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0;
}
.record-document-actions .record-pdf-link {
  appearance: none;
  border: 0;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.record-pdf-note {
  font-size: 12px;
  color: #a16207;
}
.record-document-actions+.danger {
  margin-top: 0;
}
/* Assessment detail actions: keep PDF and archive actions balanced on one row */
.record-document-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 10px;
  margin-bottom: 0;
  align-items: stretch;
}
.record-document-actions .record-pdf-link,.record-document-actions .record-archive-btn {
  width: 100%;
  margin: 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.record-pdf-note {
  display: block;
  margin: 10px 0 0;
  font-size: 12px;
  color: #a16207;
}
@media (max-width:560px) {
  .record-document-actions {
    grid-template-columns: 1fr;
  }
}
/* Admin Overview: keep all summary metric cards visually equal. */
#view-overview .overview-metrics article:first-child {
  border-top: 1px solid #dfe9e6!important;
  background: #fff!important;
}
/* 2026-08-08 — Dedicated tablet layout (portrait/landscape tablets, separate from desktop and phone) */
@media (min-width:701px) and (max-width:1180px) {
  /* Tablet shell */
  .admin-body {
    padding-left: 0!important;
  }
  .admin-main {
    padding: 0 22px 92px!important;
    max-width: 1060px;
    margin: 0 auto!important;
  }
  .admin-top {
    min-height: 88px;
    padding: 18px 8px 16px 72px!important;
    margin-bottom: 8px!important;
  }
  .admin-menu-toggle {
    position: fixed!important;
    top: 18px!important;
    left: 18px!important;
    width: 50px!important;
    height: 50px!important;
    border-radius: 14px!important;
  }
  .admin-heading-wrap h1 {
    font-size: 29px!important;
    white-space: normal!important;
    line-height: 1.1!important;
  }
  .admin-heading-wrap .eyebrow {
    font-size: 10px!important;
  }
  .admin-breadcrumb {
    font-size: 12px!important;
  }
  .admin-view {
    padding: 14px 0 18px!important;
  }
  .admin-subnav {
    margin: 8px 0 14px!important;
    padding: 0 4px!important;
    background: transparent!important;
    border-radius: 0!important;
    border-bottom: 1px solid #dbe7e4!important;
  }
  .admin-subnav-button {
    min-height: 46px!important;
    padding: 11px 16px!important;
    border-radius: 0!important;
  }
  /* Tablet cards and spacing */
  .data-card,.form-card {
    border-radius: 18px!important;
  }
  .metric-grid,.overview-metrics {
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 12px!important;
  }
  .metric-grid article {
    min-height: 108px!important;
    padding: 18px!important;
  }
  .metric-grid article strong {
    font-size: 32px!important;
  }
  .metric-grid article span {
    font-size: 9px!important;
    letter-spacing: .08em;
  }
  /* Overview: preserve a wide map but remove phone-like excessive vertical sizing */
  #view-overview .overview-combined-grid {
    display: grid!important;
    grid-template-columns: minmax(0,1.55fr) minmax(300px,.85fr)!important;
    min-height: 520px!important;
    align-items: stretch!important;
  }
  #view-overview .overview-map-panel {
    border-right: 1px solid #e4ecea!important;
    border-bottom: 0!important;
    padding: 16px!important;
  }
  #view-overview .overview-map-panel #mini-map {
    height: 430px!important;
    min-height: 430px!important;
    aspect-ratio: auto!important;
  }
  #view-overview .overview-status-panel {
    min-width: 0!important;
    max-height: 520px!important;
    overflow: hidden!important;
  }
  #view-overview .summary-table-wrap {
    overflow: auto!important;
    max-height: 445px!important;
  }
  #view-overview .summary-table {
    min-width: 0!important;
    width: 100%!important;
  }
  #view-overview .summary-table th,#view-overview .summary-table td {
    padding-left: 8px!important;
    padding-right: 8px!important;
  }
  /* Assessment records */
  #view-records .data-card {
    padding: 20px!important;
  }
  #view-records .card-head {
    align-items: flex-start!important;
  }
  #view-records .filter-row {
    display: grid!important;
    grid-template-columns: minmax(240px,1.5fr) repeat(2,minmax(145px,.7fr)) auto!important;
    gap: 10px!important;
    align-items: end!important;
  }
  #view-records .filter-row input {
    min-width: 0!important;
    width: 100%!important;
  }
  .modal-card {
    width: min(680px,calc(100vw - 64px))!important;
    max-height: 84vh!important;
    padding: 26px!important;
    border-radius: 20px!important;
  }
  .detail-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 10px!important;
  }
  .detail-grid span {
    min-height: 64px!important;
    padding: 11px 12px!important;
  }
  /* Reports: tablet should use the available width instead of stacking like a phone */
  #view-reports .reports-layout,.reports-layout {
    display: grid!important;
    grid-template-columns: minmax(0,1.45fr) minmax(280px,.75fr)!important;
    gap: 16px!important;
    align-items: start!important;
  }
  .report-builder-card,.report-coverage-card {
    padding: 20px!important;
  }
  .report-coverage-card {
    position: sticky!important;
    top: 18px!important;
  }
  .report-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 12px!important;
  }
  .report-barangay-field {
    grid-column: 1/-1!important;
  }
  .report-action-row {
    align-items: center!important;
    gap: 14px!important;
  }
  .coverage-stats {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 10px!important;
  }
  /* GIS: tablet-specific map height and compact floating controls */
  #view-mapping .admin-map-workspace {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 14px!important;
  }
  #view-mapping .admin-map-frame.admin-gis-viewport {
    height: 600px!important;
    min-height: 600px!important;
    border-radius: 18px!important;
  }
  #view-mapping .admin-map-floating-toolbar {
    top: 14px!important;
    left: 14px!important;
    right: auto!important;
    width: min(500px,calc(100% - 28px))!important;
    max-width: 500px!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    padding: 10px!important;
    gap: 8px!important;
  }
  #view-mapping .admin-map-floating-toolbar select {
    height: 42px!important;
    font-size: 13px!important;
  }
  #view-mapping .admin-map-toggle {
    min-height: 36px!important;
    padding: 7px 10px!important;
  }
  #view-mapping .admin-map-viewport-tools {
    left: 14px!important;
    top: 178px!important;
  }
  #view-mapping .admin-map-live-overlay {
    top: 14px!important;
    right: 14px!important;
    transform: none!important;
  }
  #view-mapping .admin-map-floating-legend {
    left: 14px!important;
    bottom: 14px!important;
    max-width: 250px!important;
  }
  #view-mapping .admin-map-sidebar {
    display: grid!important;
    grid-template-columns: 1.15fr .85fr!important;
    gap: 14px!important;
  }
  #view-mapping .admin-map-sidebar>.data-card {
    height: 100%!important;
  }
  /* Keep tablet footer navigation compact and clearly tablet-sized */
  .admin-mobile-nav {
    height: 70px!important;
    padding: 7px 54px calc(7px + env(safe-area-inset-bottom))!important;
  }
  .admin-mobile-nav button {
    min-width: 92px!important;
    font-size: 10px!important;
  }
  .admin-floating-action {
    right: 24px!important;
    bottom: 82px!important;
    width: 54px!important;
    height: 54px!important;
  }
}
/* Narrow portrait tablets: keep the overview readable without becoming the phone layout */
@media (min-width:701px) and (max-width:900px) {
  .admin-main {
    padding-left: 16px!important;
    padding-right: 16px!important;
  }
  #view-overview .overview-combined-grid {
    grid-template-columns: 1fr!important;
  }
  #view-overview .overview-map-panel {
    border-right: 0!important;
    border-bottom: 1px solid #e4ecea!important;
  }
  #view-overview .overview-map-panel #mini-map {
    height: 420px!important;
    min-height: 420px!important;
  }
  #view-overview .overview-status-panel {
    max-height: none!important;
  }
  #view-overview .summary-table-wrap {
    max-height: none!important;
  }
  #view-records .filter-row {
    grid-template-columns: 1fr 1fr!important;
  }
  #view-records .filter-row>*:first-child {
    grid-column: 1/-1!important;
  }
  #view-reports .reports-layout,.reports-layout {
    grid-template-columns: 1fr!important;
  }
  .report-coverage-card {
    position: static!important;
  }
  #view-mapping .admin-map-sidebar {
    grid-template-columns: 1fr 1fr!important;
  }
}
/* 2026-08-08 — Tablet admin logout access and print-flow support */
.admin-top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
.admin-tablet-logout {
  display: none;
  text-decoration: none;
  font-weight: 800;
  color: #0b756b;
  border: 1px solid #bdd8d2;
  background: #fff;
  border-radius: 10px;
  padding: 9px 14px;
  line-height: 1;
}
@media (min-width:701px) and (max-width:1180px) {
  .admin-top-actions {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
  }
  .admin-tablet-logout {
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px!important;
    box-shadow: 0 4px 14px rgba(12,51,45,.06);
  }
}
@media (max-width:700px) {
  .admin-tablet-logout {
    display: none!important;
  }
}
/* 2026-08-08 — Tablet navigation cleanup: bottom nav is the only tablet navigation. */
@media (min-width:701px) and (max-width:1180px) {
  .admin-menu-toggle,
  .admin-sidebar-backdrop,
  .sidebar#admin-sidebar {
    display: none!important;
    visibility: hidden!important;
    pointer-events: none!important;
  }
  .admin-body {
    padding-left: 0!important;
  }
  .admin-top {
    padding-left: 8px!important;
  }
  .admin-mobile-nav {
    display: flex!important;
  }
}
/* 2026-08-09 — Tablet Reports layout refinement (separate from desktop/mobile) */
@media (min-width:760px) and (max-width:900px) {
  #view-reports.admin-view {
    padding-top: 8px!important;
  }
  #view-reports .reports-layout,
  .reports-layout {
    display: grid!important;
    grid-template-columns: minmax(0,1.55fr) minmax(250px,.85fr)!important;
    gap: 14px!important;
    align-items: start!important;
  }
  #view-reports .report-builder-card,
  #view-reports .report-coverage-card {
    padding: 16px!important;
    border-radius: 16px!important;
  }
  #view-reports .report-builder-head {
    margin-bottom: 14px!important;
    padding-bottom: 12px!important;
  }
  #view-reports .report-builder-head h2,
  #view-reports .report-coverage-card h2 {
    font-size: 20px!important;
    line-height: 1.15!important;
  }
  #view-reports .report-builder-head p,
  #view-reports .report-coverage-card .card-head p {
    font-size: 10px!important;
    line-height: 1.45!important;
  }
  #view-reports .report-filter-grid {
    grid-template-columns: 1fr!important;
    gap: 10px!important;
  }
  #view-reports .report-barangay-field {
    grid-column: auto!important;
  }
  #view-reports .report-filter-grid label {
    gap: 5px!important;
  }
  #view-reports .report-filter-grid label>span {
    font-size: 11px!important;
  }
  #view-reports .report-filter-grid label>small {
    min-height: 0!important;
    font-size: 9px!important;
    line-height: 1.35!important;
  }
  #view-reports .report-filter-grid input,
  #view-reports .report-filter-grid select {
    min-height: 42px!important;
    padding: 8px 11px!important;
    font-size: 12px!important;
  }
  #view-reports .report-action-row {
    margin-top: 14px!important;
    padding-top: 14px!important;
    align-items: stretch!important;
    flex-direction: column!important;
    gap: 8px!important;
  }
  #view-reports .report-generate-button {
    width: 100%!important;
    min-height: 42px!important;
  }
  #view-reports .report-action-row p {
    font-size: 9px!important;
    line-height: 1.4!important;
  }
  #view-reports .report-coverage-card {
    position: sticky!important;
    top: 12px!important;
  }
  #view-reports .readiness-list {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 8px!important;
  }
  #view-reports .readiness-list>div {
    min-height: 70px!important;
    padding: 11px 12px!important;
    border-radius: 11px!important;
  }
  #view-reports .readiness-list span {
    font-size: 9px!important;
  }
  #view-reports .readiness-list b {
    font-size: 24px!important;
  }
  #view-reports .method-note {
    margin-top: 9px!important;
    padding: 9px!important;
    font-size: 8.5px!important;
  }
}
@media (min-width:701px) and (max-width:759px) {
  #view-reports .reports-layout,
  .reports-layout {
    grid-template-columns: 1fr!important;
    gap: 12px!important;
  }
  #view-reports .report-builder-card,
  #view-reports .report-coverage-card {
    padding: 15px!important;
  }
  #view-reports .report-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 10px!important;
  }
  #view-reports .report-barangay-field {
    grid-column: 1/-1!important;
  }
  #view-reports .report-action-row {
    margin-top: 12px!important;
    padding-top: 12px!important;
  }
  #view-reports .report-coverage-card {
    position: static!important;
  }
  #view-reports .readiness-list {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 8px!important;
  }
  #view-reports .readiness-list>div {
    min-height: 72px!important;
    padding: 10px!important;
  }
  #view-reports .method-note {
    font-size: 9px!important;
  }
}
/* 2026-08-09 — Tablet bottom navigation refinement: compact dock, separate from phone/desktop. */
@media (min-width:701px) and (max-width:1180px) {
  .admin-body {
    padding-bottom: 94px!important;
  }
  .admin-mobile-nav {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 6px!important;
    left: 50%!important;
    right: auto!important;
    bottom: 12px!important;
    width: calc(100% - 32px)!important;
    max-width: 640px!important;
    height: auto!important;
    min-height: 62px!important;
    transform: translateX(-50%)!important;
    padding: 7px!important;
    border: 1px solid #d7e6e2!important;
    border-radius: 18px!important;
    background: rgba(255,255,255,.98)!important;
    box-shadow: 0 12px 30px rgba(13,67,58,.16)!important;
    overflow: hidden!important;
  }
  .admin-mobile-nav button {
    flex: 1 1 0!important;
    min-width: 0!important;
    min-height: 48px!important;
    padding: 6px 8px!important;
    border-radius: 12px!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 3px!important;
    color: #5e746f!important;
    font-size: 17px!important;
    line-height: 1!important;
    transition: background .16s ease,color .16s ease,transform .16s ease!important;
  }
  .admin-mobile-nav button span {
    display: block!important;
    font-size: 10px!important;
    line-height: 1.1!important;
    font-weight: 800!important;
    letter-spacing: 0!important;
  }
  .admin-mobile-nav button.active {
    background: #e7f5f1!important;
    color: #087d70!important;
  }
  .admin-mobile-nav button:active {
    transform: scale(.97);
  }
  .admin-mobile-fab,.admin-floating-action {
    right: 22px!important;
    bottom: 88px!important;
  }
}
/* 2026-08-09: keep record date filters visibly labeled on tablet/mobile */
#view-records .record-date-field {
  display: grid;
  gap: 6px;
  margin: 0;
  color: #315850;
  font-size: 11px;
  font-weight: 800;
  align-self: stretch;
}
#view-records .record-date-field>span {
  display: block;
  line-height: 1.1;
  color: #52706a;
}
#view-records .record-date-field input {
  width: 100%;
  min-width: 0;
  margin: 0;
}
@media (max-width:980px) {
  #view-records .record-date-field {
    gap: 5px;
  }
  #view-records .record-date-field>span {
    font-size: 11px;
    padding-left: 2px;
  }
  #view-records .record-date-field input {
    height: 46px!important;
    min-height: 46px!important;
    padding: 0 14px!important;
    font-size: 14px!important;
  }
}
/* Assessment record date format hints */
#view-records .record-date-input-wrap {
  position: relative;
  display: block;
  min-width: 0;
}
#view-records .record-date-input-wrap input {
  position: relative;
  z-index: 1;
  background: transparent;
}
#view-records .record-date-placeholder {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  color: #7b8d89;
  font-size: 14px;
  font-weight: 500;
  pointer-events: none;
}
#view-records .record-date-input-wrap:focus-within .record-date-placeholder {
  display: none;
}
#view-records .record-date-input-wrap.has-value .record-date-placeholder {
  display: none;
}
@media (min-width:600px) and (max-width:1199px) {
  #view-records .record-date-placeholder {
    left: 14px;
    font-size: 14px;
  }
}
/* 2026-08-09 — Consistent tablet date hints for Records, Reports, and Audit Trail */
.date-hint-input-wrap {
  position: relative;
  display: block;
  min-width: 0;
  width: 100%;
}
.date-hint-input-wrap input[type="date"] {
  position: relative;
  z-index: 1;
  width: 100%;
  background: transparent!important;
}
.date-input-placeholder {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  color: #7b8d89;
  font-size: 13px;
  font-weight: 500;
  pointer-events: none;
  line-height: 1;
}
.date-hint-input-wrap:focus-within .date-input-placeholder,.date-hint-input-wrap.has-value .date-input-placeholder {
  display: none;
}
.audit-date-field {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin: 0;
  color: #52706a;
  font-size: 10px;
  font-weight: 800;
}
.audit-date-field>span:first-child {
  line-height: 1.1;
}
.audit-date-field .date-hint-input-wrap input {
  height: 42px!important;
  margin: 0!important;
}
/* 2026-08-09 — Assessment Records tablet spacing/color refinement */
@media (min-width:701px) and (max-width:1180px) {
  #view-records.admin-view {
    padding-top: 8px!important;
  }
  #view-records .records-workspace {
    padding: 18px!important;
    background: #fff!important;
    border-color: #d7e6e2!important;
  }
  #view-records .records-table-head {
    margin-bottom: 8px!important;
    padding-bottom: 4px!important;
    gap: 12px!important;
  }
  #view-records .records-table-head h2 {
    font-size: 21px!important;
    line-height: 1.15!important;
  }
  #view-records .records-table-head p {
    font-size: 10px!important;
    line-height: 1.45!important;
  }
  #view-records .table-command-bar {
    gap: 8px!important;
    align-items: center!important;
  }
  #view-records .table-command-bar button,#view-records .table-command-bar select {
    min-height: 42px!important;
  }
  #view-records .filter-chip-row {
    margin: 0 0 8px!important;
    min-height: 24px!important;
  }
  #view-records .filter-chip-row:has(.filter-chip-empty) {
    min-height: 0!important;
    margin-bottom: 6px!important;
  }
  #view-records .filter-chip-empty {
    font-size: 9.5px!important;
    color: #839791!important;
  }
  #view-records .advanced-filter-panel {
    margin: 0 0 14px!important;
    padding: 14px!important;
    border: 1px solid #dce8e5!important;
    border-radius: 14px!important;
    background: #fbfdfc!important;
  }
  #view-records .record-filter-grid {
    grid-template-columns: 1fr 1fr!important;
    gap: 10px 12px!important;
    align-items: end!important;
    margin: 0!important;
  }
  #view-records #record-search {
    grid-column: 1/-1!important;
    min-height: 44px!important;
  }
  #view-records .record-filter-grid input,#view-records .record-filter-grid select,#view-records .record-filter-grid button {
    min-height: 44px!important;
    background: #fff!important;
  }
  #view-records .record-date-field {
    gap: 5px!important;
  }
  #view-records .record-date-field>span:first-child {
    font-size: 10.5px!important;
    color: #52706a!important;
    padding-left: 2px!important;
  }
  #view-records #clear-record-filters {
    align-self: end!important;
    min-height: 44px!important;
  }
  #view-records .filter-summary {
    margin-top: 10px!important;
    padding-top: 9px!important;
    border-top: 1px solid #e6efed!important;
    font-size: 10px!important;
  }
  #view-records .table-wrap {
    margin-top: 0!important;
    border: 1px solid #dce8e5!important;
    border-radius: 12px!important;
    background: #fff!important;
    overflow: auto!important;
  }
  #view-records .table-wrap table thead {
    background: #f3f8f6!important;
  }
  #view-records .table-wrap th {
    padding-top: 11px!important;
    padding-bottom: 11px!important;
  }
  #view-records .table-wrap td {
    padding-top: 12px!important;
    padding-bottom: 12px!important;
  }
}
/* Reports: use the same visible date format hint as Assessment Records */
#view-reports .date-hint-input-wrap input[type="date"] {
  min-height: 46px;
  padding: 10px 13px!important;
  border: 1px solid #cbded9;
  border-radius: 10px;
  background: transparent!important;
  color: #123f38;
  font-weight: 700;
  outline: none;
}
#view-reports .date-hint-input-wrap {
  background: #fff;
  border-radius: 10px;
}
#view-reports .date-input-placeholder {
  font-size: 12px;
  color: #7b8d89;
}
/* Audit Trail date field: match search/select sizing and spacing */
#audit-date {
  width: 100%!important;
  border: 1px solid #d5e4e0!important;
  border-radius: 10px!important;
  padding: 0 12px!important;
  background: transparent!important;
}
@media (min-width:701px) and (max-width:1180px) {
  .audit-toolbar {
    grid-template-columns: minmax(0,1.5fr) minmax(180px,.75fr) minmax(180px,.75fr)!important;
    gap: 10px!important;
    align-items: end!important;
  }
  .audit-toolbar>input,.audit-toolbar>select {
    height: 44px!important;
  }
  .audit-date-field .date-hint-input-wrap input {
    height: 44px!important;
  }
}
@media (max-width:760px) {
  .audit-toolbar {
    grid-template-columns: 1fr!important;
  }
}
/* 2026-08-09 — Records date labels inside fields + table breathing room */
@media (min-width:701px) and (max-width:1180px) {
  #view-records .record-date-field {
    display: block!important;
    gap: 0!important;
  }
  #view-records .record-date-input-wrap {
    display: block!important;
  }
  #view-records .record-date-placeholder {
    font-size: 14px!important;
    color: #667b76!important;
    font-weight: 500!important;
  }
  #view-records .advanced-filter-panel {
    margin-bottom: 26px!important;
  }
  #view-records .table-wrap {
    margin-top: 0!important;
  }
}
/* 2026-08-09 — Tablet Assessment Records filter border/alignment refinement */
@media (min-width:701px) and (max-width:1180px) {
  #view-records .advanced-filter-panel {
    padding: 16px!important;
    margin-bottom: 28px!important;
    border: 1px solid #dce8e5!important;
    border-radius: 14px!important;
    box-sizing: border-box!important;
  }
  #view-records .record-filter-grid {
    width: 100%!important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
    gap: 10px 12px!important;
  }
  #view-records #clear-record-filters {
    grid-column: 1/-1!important;
    width: 100%!important;
    margin: 0!important;
  }
  #view-records .filter-summary {
    margin: 12px 0 0!important;
    padding: 10px 0 0!important;
  }
}
/* 2026-08-09 — Restore tablet date text inside fields and balance filter bottom spacing */
@media (min-width:701px) and (max-width:1180px) {
  #view-records .record-date-input-wrap {
    position: relative!important;
    display: block!important;
  }
  #view-records .record-date-input-wrap input[type="date"] {
    position: relative!important;
    z-index: 1!important;
    background: transparent!important;
  }
  #view-records .record-date-placeholder {
    display: block!important;
    position: absolute!important;
    left: 15px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    z-index: 2!important;
    color: #667b76!important;
    font-size: 14px!important;
    font-weight: 500!important;
    pointer-events: none!important;
  }
  #view-records .record-date-input-wrap:focus-within .record-date-placeholder,
  #view-records .record-date-input-wrap.has-value .record-date-placeholder {
    display: none!important;
  }
  #view-records .advanced-filter-panel {
    padding: 16px 16px 24px!important;
    margin-bottom: 30px!important;
  }
  #view-records #clear-record-filters {
    margin-bottom: 0!important;
  }
}
/* 2026-08-09 — Small tablet top breathing room requested across Admin pages. */
@media (min-width:701px) and (max-width:1180px) {
  .admin-main {
    padding-top: 23px!important;
  }
}
/* 2026-08-09 — Small mobile top breathing room across Admin pages. */
@media (max-width:700px) {
  .admin-main {
    padding-top: 14px!important;
  }
}
@media (max-width:430px) {
  .admin-main {
    padding-top: 12px!important;
  }
}
/* 2026-08-09 — PHONE UI: purpose-built compact layout (separate from tablet and desktop) */
@media (max-width:700px) {
  :root {
    --mobile-gap: 10px;
    --mobile-radius: 14px;
  }
  body.admin-body {
    padding-bottom: 76px!important;
    background: #f4f8f7!important;
  }
  .admin-main {
    padding: 10px 10px 86px!important;
    max-width: none!important;
  }
  .admin-header {
    padding: 10px 10px 8px!important;
    min-height: auto!important;
    gap: 8px!important;
  }
  .admin-title-wrap .section-kicker,.admin-header .section-kicker {
    font-size: 9px!important;
    letter-spacing: .14em!important;
  }
  #view-title,.admin-header h1 {
    font-size: 22px!important;
    line-height: 1.05!important;
    margin: 2px 0 0!important;
  }
  #admin-breadcrumb {
    display: none!important;
  }
  .admin-tablet-logout {
    display: inline-flex!important;
    min-height: 36px!important;
    padding: 0 11px!important;
    font-size: 12px!important;
    border-radius: 10px!important;
  }
  .admin-subnav {
    display: flex!important;
    gap: 4px!important;
    overflow-x: auto!important;
    white-space: nowrap!important;
    padding: 0 10px 7px!important;
    margin: 0 -10px 9px!important;
    scrollbar-width: none!important;
  }
  .admin-subnav::-webkit-scrollbar {
    display: none!important;
  }
  .admin-subnav-button {
    flex: 0 0 auto!important;
    padding: 8px 10px!important;
    font-size: 10px!important;
    min-height: 34px!important;
  }
  .admin-view {
    margin: 0!important;
  }
  .data-card {
    border-radius: var(--mobile-radius)!important;
    box-shadow: 0 4px 16px rgba(18,75,65,.06)!important;
  }
  .card-head {
    padding: 13px 13px 10px!important;
    gap: 8px!important;
  }
  .card-head h2,.data-card h2 {
    font-size: 18px!important;
    line-height: 1.15!important;
  }
  .card-head p,.data-card p {
    font-size: 10px!important;
    line-height: 1.45!important;
  }
  /* Phone dashboard: 2 x 2 metric cards */
  .overview-metrics,.metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 8px!important;
    margin-bottom: 10px!important;
  }
  .metric-card {
    min-height: 82px!important;
    padding: 11px!important;
    border-radius: 13px!important;
  }
  .metric-card span {
    font-size: 8px!important;
    letter-spacing: .08em!important;
  }
  .metric-card strong {
    font-size: 25px!important;
    line-height: 1!important;
    margin-top: 5px!important;
  }
  .overview-combined-card {
    padding: 0!important;
    overflow: hidden!important;
  }
  .overview-combined-grid {
    display: block!important;
  }
  .overview-map-panel,.overview-status-panel {
    width: 100%!important;
    min-width: 0!important;
    border: 0!important;
  }
  .overview-map-head {
    padding: 12px 12px 8px!important;
  }
  #overview-map,.overview-map,.overview-map-frame {
    min-height: 300px!important;
    height: 300px!important;
  }
  .overview-map-footer {
    padding: 8px 12px 10px!important;
  }
  .overview-legend {
    gap: 9px!important;
    font-size: 9px!important;
    flex-wrap: wrap!important;
  }
  .overview-status-panel {
    border-top: 1px solid #e0ebe8!important;
  }
  .summary-card-head {
    padding: 12px!important;
  }
  .summary-count-note {
    font-size: 9px!important;
    padding: 5px 7px!important;
  }
  .overview-status-panel .table-wrap {
    max-height: none!important;
    border-radius: 0!important;
  }
  /* Phone records: compact controls + scrollable data table */
  #view-records .records-workspace {
    padding: 12px!important;
  }
  #view-records .records-table-head {
    display: grid!important;
    grid-template-columns: 1fr auto!important;
    align-items: start!important;
    padding: 0 0 9px!important;
    margin: 0!important;
  }
  #view-records .records-table-head h2 {
    font-size: 19px!important;
  }
  #view-records .table-command-bar {
    display: flex!important;
    gap: 6px!important;
  }
  #view-records .table-command-bar button,#view-records .table-command-bar select {
    height: 38px!important;
    min-height: 38px!important;
    padding: 0 10px!important;
    font-size: 11px!important;
    max-width: 92px!important;
  }
  #view-records .filter-chip-row {
    margin: 4px 0 7px!important;
    min-height: 0!important;
  }
  #view-records .advanced-filter-panel {
    padding: 10px!important;
    margin: 0 0 14px!important;
    border-radius: 12px!important;
    background: #fbfdfc!important;
  }
  #view-records .record-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 8px!important;
    align-items: stretch!important;
  }
  #view-records #record-search,#view-records #record-crop,#view-records #clear-record-filters {
    grid-column: 1/-1!important;
  }
  #view-records .record-filter-grid input,#view-records .record-filter-grid select,#view-records .record-filter-grid button {
    height: 42px!important;
    min-height: 42px!important;
    padding: 0 11px!important;
    font-size: 12px!important;
    border-radius: 10px!important;
  }
  #view-records .record-date-placeholder {
    left: 11px!important;
    font-size: 12px!important;
  }
  #view-records #clear-record-filters {
    margin-top: 2px!important;
  }
  #view-records .filter-summary {
    display: none!important;
  }
  #view-records .table-wrap {
    margin-top: 0!important;
    border-radius: 11px!important;
    overflow: auto!important;
    -webkit-overflow-scrolling: touch!important;
  }
  #view-records .table-wrap table {
    min-width: 900px!important;
    font-size: 11px!important;
  }
  #view-records .table-wrap th {
    padding: 9px 10px!important;
    font-size: 8px!important;
    white-space: nowrap!important;
  }
  #view-records .table-wrap td {
    padding: 10px!important;
    white-space: nowrap!important;
  }
  /* Phone reports */
  #view-reports .reports-layout {
    display: block!important;
  }
  #view-reports .report-builder-card,#view-reports .report-coverage-card {
    padding: 13px!important;
    margin-bottom: 10px!important;
  }
  #view-reports .report-filter-grid {
    grid-template-columns: 1fr!important;
    gap: 9px!important;
  }
  #view-reports .report-action-row {
    display: block!important;
    margin-top: 10px!important;
    padding-top: 10px!important;
  }
  #view-reports .report-action-row button {
    width: 100%!important;
    height: 44px!important;
  }
  #view-reports .report-action-row small {
    display: block!important;
    margin: 7px 0 0!important;
    font-size: 9px!important;
  }
  #view-reports .readiness-list {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 8px!important;
  }
  #view-reports .readiness-list>div {
    min-height: 70px!important;
    padding: 10px!important;
    border-radius: 11px!important;
  }
  #view-reports .readiness-list strong {
    font-size: 22px!important;
  }
  #view-reports .method-note {
    font-size: 9px!important;
    padding: 9px!important;
  }
  /* Phone system/audit */
  #view-audit .data-card,#view-users .data-card,#view-quality .data-card,#view-settings .data-card {
    padding: 13px!important;
  }
  .audit-toolbar {
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 8px!important;
  }
  .audit-toolbar>input {
    grid-column: 1/-1!important;
  }
  .audit-toolbar>input,.audit-toolbar>select,.audit-date-field .date-hint-input-wrap input {
    height: 42px!important;
    min-height: 42px!important;
    font-size: 12px!important;
  }
  .audit-date-field {
    display: block!important;
  }
  .audit-date-field>span:first-child {
    display: none!important;
  }
  .audit-summary {
    gap: 6px!important;
    flex-wrap: wrap!important;
  }
  .audit-summary>* {
    font-size: 10px!important;
    padding: 6px 8px!important;
  }
  .audit-list {
    max-height: 480px!important;
    overflow: auto!important;
  }
  .backup-settings-grid,.two-column {
    grid-template-columns: 1fr!important;
  }
  .compact-form input,.compact-form select,.compact-form button {
    min-height: 42px!important;
  }
  /* Purpose-built phone bottom navigation */
  .admin-mobile-nav {
    display: flex!important;
    position: fixed!important;
    z-index: 9998!important;
    left: 8px!important;
    right: 8px!important;
    bottom: 6px!important;
    width: auto!important;
    height: 62px!important;
    min-height: 62px!important;
    padding: 5px!important;
    gap: 2px!important;
    transform: none!important;
    border: 1px solid #d7e6e2!important;
    border-radius: 16px!important;
    background: rgba(255,255,255,.98)!important;
    box-shadow: 0 8px 24px rgba(13,67,58,.18)!important;
  }
  .admin-mobile-nav button {
    flex: 1 1 20%!important;
    min-width: 0!important;
    height: 50px!important;
    min-height: 50px!important;
    padding: 4px 2px!important;
    border-radius: 11px!important;
    font-size: 16px!important;
    gap: 2px!important;
  }
  .admin-mobile-nav button span {
    font-size: 9px!important;
    font-weight: 800!important;
  }
  .admin-mobile-nav button.active {
    background: #e6f5f1!important;
    color: #087d70!important;
  }
  .admin-mobile-fab,.admin-floating-action {
    width: 46px!important;
    height: 46px!important;
    right: 12px!important;
    bottom: 76px!important;
    font-size: 24px!important;
  }
}
@media (max-width:390px) {
  .admin-main {
    padding-left: 8px!important;
    padding-right: 8px!important;
  }
  #view-title,.admin-header h1 {
    font-size: 20px!important;
  }
  .metric-card {
    min-height: 76px!important;
    padding: 9px!important;
  }
  .metric-card strong {
    font-size: 22px!important;
  }
  #view-records .record-filter-grid {
    gap: 7px!important;
  }
  #view-records .record-filter-grid input,#view-records .record-filter-grid select,#view-records .record-filter-grid button {
    font-size: 11px!important;
    padding-left: 9px!important;
    padding-right: 9px!important;
  }
}
/* 2026-08-09 — PHONE UI v2: compact, overflow-safe layout; tablet/desktop unaffected */
@media (max-width:700px) {
  /* Bottom navigation replaces the hamburger/sidebar on phones. */
  .admin-menu-toggle,.admin-sidebar-backdrop,.sidebar {
    display: none!important;
  }
  body.admin-body.sidebar-open {
    overflow: auto!important;
  }
  .admin-main {
    padding: 8px 10px 82px!important;
    overflow-x: hidden!important;
  }
  .admin-header {
    padding: 10px 4px 10px!important;
    display: grid!important;
    grid-template-columns: minmax(0,1fr) auto!important;
    align-items: start!important;
    column-gap: 8px!important;
  }
  .admin-title-wrap {
    min-width: 0!important;
  }
  #view-title,.admin-header h1 {
    font-size: 21px!important;
    line-height: 1.1!important;
    overflow-wrap: anywhere!important;
  }
  .admin-tablet-logout {
    align-self: start!important;
    height: 36px!important;
    min-height: 36px!important;
    padding: 0 11px!important;
  }
  .admin-subnav {
    padding: 0 4px 7px!important;
    margin: 0 -4px 8px!important;
    gap: 3px!important;
  }
  .admin-subnav-button {
    padding: 7px 8px!important;
    font-size: 9.5px!important;
  }
  /* Records: no control may escape its filter card. */
  #view-records .records-workspace {
    padding: 11px!important;
    overflow: hidden!important;
  }
  #view-records .records-table-head {
    grid-template-columns: minmax(0,1fr) auto!important;
    gap: 8px!important;
  }
  #view-records .records-table-head>div:first-child {
    min-width: 0!important;
  }
  #view-records .records-table-head h2 {
    font-size: 18px!important;
    overflow-wrap: anywhere!important;
  }
  #view-records .table-command-bar {
    gap: 5px!important;
  }
  #view-records .table-command-bar button,#view-records .table-command-bar select {
    width: auto!important;
    max-width: 78px!important;
    padding: 0 8px!important;
    font-size: 10px!important;
  }
  #view-records .advanced-filter-panel {
    box-sizing: border-box!important;
    width: 100%!important;
    max-width: 100%!important;
    padding: 10px!important;
    margin: 0 0 12px!important;
    overflow: hidden!important;
  }
  #view-records .record-filter-grid {
    box-sizing: border-box!important;
    width: 100%!important;
    max-width: 100%!important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
    gap: 7px!important;
  }
  #view-records .record-filter-grid>* {
    min-width: 0!important;
    max-width: 100%!important;
    box-sizing: border-box!important;
  }
  #view-records #record-search {
    grid-column: 1/-1!important;
  }
  #view-records #record-crop {
    grid-column: 1/-1!important;
  }
  #view-records .record-date-field,#view-records .record-date-input-wrap {
    display: block!important;
    width: 100%!important;
    min-width: 0!important;
    max-width: 100%!important;
    box-sizing: border-box!important;
    overflow: hidden!important;
  }
  #view-records .record-date-input-wrap {
    height: 42px!important;
  }
  #view-records .record-date-input-wrap input[type="date"] {
    display: block!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    height: 42px!important;
    min-height: 42px!important;
    box-sizing: border-box!important;
    padding: 0 10px!important;
    margin: 0!important;
    font-size: 12px!important;
    line-height: 42px!important;
    border-radius: 10px!important;
    background: #fff!important;
  }
  #view-records .record-date-placeholder {
    left: 10px!important;
    font-size: 12px!important;
    white-space: nowrap!important;
  }
  #view-records #clear-record-filters {
    grid-column: 1/-1!important;
    width: 100%!important;
    margin-top: 1px!important;
  }
  #view-records .table-wrap {
    width: 100%!important;
    max-width: 100%!important;
    overflow-x: auto!important;
  }
  /* Reports: true phone form; date controls remain one compact row each. */
  #view-reports .reports-layout {
    display: block!important;
    width: 100%!important;
  }
  #view-reports .report-builder-card,#view-reports .report-coverage-card {
    box-sizing: border-box!important;
    width: 100%!important;
    max-width: 100%!important;
    padding: 12px!important;
    overflow: hidden!important;
  }
  #view-reports .report-builder-head {
    margin-bottom: 9px!important;
    padding-bottom: 9px!important;
  }
  #view-reports .report-builder-head h2 {
    font-size: 18px!important;
    line-height: 1.15!important;
  }
  #view-reports .report-filter-grid {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 9px!important;
    width: 100%!important;
  }
  #view-reports .report-filter-grid label {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 4px!important;
    min-width: 0!important;
    max-width: 100%!important;
    width: 100%!important;
  }
  #view-reports .report-filter-grid label>span:first-child {
    font-size: 11px!important;
  }
  #view-reports .date-hint-input-wrap {
    display: block!important;
    position: relative!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    height: 44px!important;
    box-sizing: border-box!important;
    overflow: hidden!important;
    border-radius: 10px!important;
    background: #fff!important;
  }
  #view-reports .date-hint-input-wrap input[type="date"] {
    display: block!important;
    position: relative!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    height: 44px!important;
    min-height: 44px!important;
    box-sizing: border-box!important;
    margin: 0!important;
    padding: 0 11px!important;
    font-size: 12px!important;
    line-height: 44px!important;
    border-radius: 10px!important;
    -webkit-appearance: auto!important;
    appearance: auto!important;
  }
  #view-reports .date-input-placeholder {
    left: 11px!important;
    font-size: 12px!important;
    white-space: nowrap!important;
  }
  #view-reports .report-filter-grid small {
    min-height: 0!important;
    margin: 0!important;
    font-size: 9px!important;
    line-height: 1.25!important;
  }
  #view-reports .report-filter-grid select {
    height: 44px!important;
    min-height: 44px!important;
    font-size: 12px!important;
  }
  #view-reports .report-action-row {
    margin-top: 9px!important;
    padding-top: 9px!important;
  }
  #view-reports .report-action-row button {
    height: 42px!important;
    min-height: 42px!important;
    font-size: 12px!important;
  }
  #view-reports .readiness-list {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  /* Audit: search full-width; action/date equal-width and contained. */
  #view-audit .two-column {
    display: block!important;
  }
  #view-audit .data-card {
    box-sizing: border-box!important;
    width: 100%!important;
    max-width: 100%!important;
    padding: 12px!important;
    overflow: hidden!important;
  }
  #view-audit .audit-toolbar {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
    gap: 7px!important;
    width: 100%!important;
    max-width: 100%!important;
    align-items: stretch!important;
  }
  #view-audit .audit-toolbar>* {
    min-width: 0!important;
    max-width: 100%!important;
    box-sizing: border-box!important;
  }
  #view-audit #audit-search {
    grid-column: 1/-1!important;
    width: 100%!important;
  }
  #view-audit #audit-action {
    width: 100%!important;
    height: 42px!important;
    min-height: 42px!important;
    font-size: 12px!important;
  }
  #view-audit .audit-date-field.date-hint-input-wrap {
    position: relative!important;
    display: block!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    height: 42px!important;
    overflow: hidden!important;
    border-radius: 10px!important;
    background: #fff!important;
  }
  #view-audit #audit-date {
    display: block!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    height: 42px!important;
    min-height: 42px!important;
    box-sizing: border-box!important;
    margin: 0!important;
    padding: 0 10px!important;
    font-size: 12px!important;
    line-height: 42px!important;
    background: #fff!important;
  }
  #view-audit .audit-date-field .date-input-placeholder {
    left: 10px!important;
    font-size: 12px!important;
    white-space: nowrap!important;
  }
  #view-audit .audit-summary {
    margin: 8px 0!important;
    gap: 5px!important;
  }
  #view-audit .audit-list {
    max-height: 430px!important;
  }
  /* Phone dock: smaller and less intrusive. */
  .admin-mobile-nav {
    left: 10px!important;
    right: 10px!important;
    bottom: 6px!important;
    height: 58px!important;
    min-height: 58px!important;
    border-radius: 15px!important;
    padding: 4px!important;
  }
  .admin-mobile-nav button {
    height: 48px!important;
    min-height: 48px!important;
    font-size: 15px!important;
    border-radius: 10px!important;
  }
  .admin-mobile-nav button span {
    font-size: 8.5px!important;
  }
  .admin-mobile-fab,.admin-floating-action {
    width: 42px!important;
    height: 42px!important;
    right: 12px!important;
    bottom: 72px!important;
    font-size: 22px!important;
  }
}
@media (max-width:390px) {
  #view-records .record-filter-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
  }
  #view-records .record-filter-grid input,#view-records .record-filter-grid select,#view-records .record-filter-grid button {
    font-size: 11px!important;
    padding-left: 8px!important;
    padding-right: 8px!important;
  }
  #view-reports .report-builder-card,#view-reports .report-coverage-card,#view-audit .data-card {
    padding: 10px!important;
  }
}
/* 2026-08-09 — DESKTOP/LAPTOP RESTORE: keep PC layout independent from tablet/phone UI. */
@media (min-width:1181px) {
  body.admin-body {
    padding-bottom: 0!important;
  }
  .admin-mobile-nav,.admin-mobile-fab,.admin-floating-action,.admin-tablet-logout,.admin-menu-toggle,.admin-sidebar-backdrop {
    display: none!important;
  }
  .sidebar {
    display: flex!important;
  }
  .admin-main {
    padding-top: 18px!important;
    padding-bottom: 28px!important;
    overflow-x: hidden!important;
  }
  .admin-header {
    padding-top: 0!important;
    padding-bottom: 16px!important;
  }
  .admin-subnav {
    margin-bottom: 16px!important;
  }
  .data-card {
    border-radius: 16px!important;
  }
  /* Assessment Records — spacious desktop filter grid and clean separation from table. */
  #view-records .records-workspace {
    padding: 0!important;
    overflow: hidden!important;
  }
  #view-records .records-table-head {
    padding: 20px 20px 14px!important;
    align-items: flex-start!important;
  }
  #view-records .records-table-head h2 {
    font-size: 22px!important;
    line-height: 1.15!important;
  }
  #view-records .records-table-head p {
    font-size: 12px!important;
    margin-top: 5px!important;
  }
  #view-records .filter-chip-row {
    padding: 0 20px!important;
    margin: 0 0 10px!important;
  }
  #view-records .advanced-filter-panel {
    margin: 0 20px 18px!important;
    padding: 16px!important;
    border: 1px solid #dce8e5!important;
    border-radius: 14px!important;
    background: #f8fbfa!important;
  }
  #view-records .record-filter-grid {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 10px!important;
    align-items: stretch!important;
  }
  #view-records #record-search {
    grid-column: span 2!important;
  }
  #view-records #record-crop {
    grid-column: auto!important;
  }
  #view-records .record-date-field,#view-records .record-date-input-wrap {
    display: block!important;
    position: relative!important;
    min-width: 0!important;
    width: 100%!important;
  }
  #view-records .record-filter-grid input,#view-records .record-filter-grid select,#view-records .record-filter-grid button,#view-records .record-date-input-wrap input[type="date"] {
    height: 44px!important;
    min-height: 44px!important;
    box-sizing: border-box!important;
    font-size: 13px!important;
    border-radius: 10px!important;
  }
  #view-records .record-date-input-wrap input[type="date"] {
    width: 100%!important;
    color: transparent!important;
    background: #fff!important;
    padding: 0 12px!important;
  }
  #view-records .record-date-input-wrap input[type="date"]:focus,#view-records .record-date-input-wrap.has-value input[type="date"] {
    color: #244f48!important;
  }
  #view-records .record-date-placeholder {
    display: block!important;
    position: absolute!important;
    left: 13px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    z-index: 2!important;
    color: #667b76!important;
    font-size: 13px!important;
    font-weight: 500!important;
    pointer-events: none!important;
    white-space: nowrap!important;
  }
  #view-records .record-date-input-wrap:focus-within .record-date-placeholder,#view-records .record-date-input-wrap.has-value .record-date-placeholder {
    display: none!important;
  }
  #view-records #clear-record-filters {
    grid-column: span 2!important;
    width: 100%!important;
  }
  #view-records .filter-summary {
    margin-top: 12px!important;
    padding-top: 10px!important;
    border-top: 1px solid #e4eeeb!important;
    font-size: 12px!important;
  }
  #view-records .table-wrap {
    margin: 0 20px 20px!important;
    border: 1px solid #dce8e5!important;
    border-radius: 12px!important;
    max-height: 58vh!important;
    overflow: auto!important;
  }
  #view-records .table-wrap table {
    min-width: 1180px!important;
  }
  #view-records .table-wrap th {
    padding: 12px 12px!important;
    font-size: 10px!important;
  }
  #view-records .table-wrap td {
    padding: 12px!important;
    font-size: 12px!important;
  }
  /* Municipal Reports — desktop uses a strong 2-column composition without oversized empty controls. */
  #view-reports .reports-layout {
    display: grid!important;
    grid-template-columns: minmax(0,2.15fr) minmax(320px,.95fr)!important;
    gap: 18px!important;
    align-items: start!important;
  }
  #view-reports .report-builder-card,#view-reports .report-coverage-card {
    padding: 20px!important;
    margin: 0!important;
  }
  #view-reports .report-filter-grid {
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 14px!important;
  }
  #view-reports .report-filter-grid label:last-child {
    grid-column: 1/-1!important;
  }
  #view-reports .report-filter-grid input,#view-reports .report-filter-grid select {
    height: 46px!important;
    min-height: 46px!important;
    font-size: 13px!important;
  }
  #view-reports .report-action-row {
    margin-top: 18px!important;
    padding-top: 16px!important;
  }
  #view-reports .readiness-list {
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 10px!important;
  }
  #view-reports .readiness-list>div {
    min-height: 86px!important;
    padding: 14px!important;
  }
  /* Audit & Backup — keep the activity list dominant and settings at a practical width. */
  #view-audit .two-column {
    display: grid!important;
    grid-template-columns: minmax(0,2.3fr) minmax(340px,.85fr)!important;
    gap: 18px!important;
    align-items: start!important;
  }
  #view-audit .data-card {
    padding: 20px!important;
  }
  #view-audit .audit-toolbar {
    display: grid!important;
    grid-template-columns: minmax(280px,2fr) minmax(180px,.8fr) minmax(180px,.8fr)!important;
    gap: 10px!important;
    margin: 14px 0 12px!important;
  }
  #view-audit .audit-toolbar input,#view-audit .audit-toolbar select,#view-audit #audit-date {
    height: 44px!important;
    min-height: 44px!important;
    font-size: 13px!important;
  }
  #view-audit .audit-list {
    max-height: 60vh!important;
    overflow: auto!important;
  }
}
/* 2026-08-09 — Desktop date-field overlap fix + small top breathing room */
@media (min-width:1181px) {
  .admin-main {
    padding-top: 28px!important;
  }
  .admin-header {
    margin-top: 2px!important;
  }
  /* Keep our dd/mm/yyyy hint from sitting on top of the browser's native date text. */
  #view-reports .date-hint-input-wrap,
  #view-audit .audit-date-field.date-hint-input-wrap {
    position: relative!important;
    display: block!important;
    width: 100%!important;
    min-width: 0!important;
    overflow: hidden!important;
    background: #fff!important;
    border-radius: 10px!important;
  }
  #view-reports .date-hint-input-wrap input[type="date"],
  #view-audit #audit-date {
    position: relative!important;
    z-index: 1!important;
    width: 100%!important;
    box-sizing: border-box!important;
    background: transparent!important;
    color: transparent!important;
    -webkit-text-fill-color: transparent!important;
  }
  #view-reports .date-hint-input-wrap input[type="date"]::-webkit-datetime-edit,
  #view-audit #audit-date::-webkit-datetime-edit {
    color: transparent!important;
  }
  #view-reports .date-hint-input-wrap:focus-within input[type="date"],
  #view-reports .date-hint-input-wrap.has-value input[type="date"],
  #view-audit .audit-date-field:focus-within #audit-date,
  #view-audit .audit-date-field.has-value #audit-date {
    color: #123f38!important;
    -webkit-text-fill-color: #123f38!important;
  }
  #view-reports .date-hint-input-wrap:focus-within input[type="date"]::-webkit-datetime-edit,
  #view-reports .date-hint-input-wrap.has-value input[type="date"]::-webkit-datetime-edit,
  #view-audit .audit-date-field:focus-within #audit-date::-webkit-datetime-edit,
  #view-audit .audit-date-field.has-value #audit-date::-webkit-datetime-edit {
    color: #123f38!important;
  }
  #view-reports .date-input-placeholder,
  #view-audit .audit-date-field .date-input-placeholder {
    z-index: 2!important;
    left: 14px!important;
    font-size: 13px!important;
    font-weight: 600!important;
    color: #647b76!important;
    white-space: nowrap!important;
  }
  #view-reports .date-hint-input-wrap:focus-within .date-input-placeholder,
  #view-reports .date-hint-input-wrap.has-value .date-input-placeholder,
  #view-audit .audit-date-field:focus-within .date-input-placeholder,
  #view-audit .audit-date-field.has-value .date-input-placeholder {
    display: none!important;
  }
}
/* 2026-08-09 — Desktop spacing BELOW the page header (not above it) */
@media (min-width:1181px) {
  .admin-view.active {
    margin-top: 14px!important;
  }
}
/* 2026-08-09 — FINAL desktop header spacing correction
   Restore the original header position; put breathing room BELOW the header/subnav. */
@media (min-width:1181px) {
  .admin-main {
    padding-top: 18px!important;
  }
  .admin-header {
    margin-top: 0!important;
  }
  .admin-view.active {
    margin-top: 18px!important;
  }
}
/* 2026-08-09 — Desktop content gap BELOW header/sub-navigation.
   Keep the page heading at its normal position and create the visible gap
   inside each active view so margin-collapsing / ID-level tablet rules cannot cancel it. */
@media (min-width:1181px) {
  .admin-main {
    padding-top: 20px!important;
  }
  .admin-header,.admin-top {
    margin-top: 0!important;
  }
  .admin-view.active {
    margin-top: 0!important;
  }
  #view-overview.admin-view.active,
  #view-mapping.admin-view.active,
  #view-analytics.admin-view.active,
  #view-trends.admin-view.active,
  #view-records.admin-view.active,
  #view-workflow.admin-view.active,
  #view-farmers.admin-view.active,
  #view-users.admin-view.active,
  #view-reports.admin-view.active,
  #view-quality.admin-view.active,
  #view-audit.admin-view.active,
  #view-settings.admin-view.active {
    padding-top: 18px!important;
  }
}
/* 2026-08-09 — Desktop header top spacing refinement.
   Reduce only the space above the page heading; preserve the content gap below it. */
@media (min-width:1181px) {
  .admin-main {
    padding-top: 8px!important;
  }
}
/* 2026-08-09 — Audit performance feedback + Backup & Restore desktop refinement */
.audit-loading-state {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #607a75;
  font-size: 12px;
}
.audit-loading-state span {
  width: 18px;
  height: 18px;
  border: 2px solid #d5e8e3;
  border-top-color: #0f8f80;
  border-radius: 50%;
  animation: auditSpin .7s linear infinite;
}
@keyframes auditSpin {
  to {
    transform: rotate(360deg);
  }
}
.backup-settings-card {
  overflow: hidden;
}
.backup-card-head {
  padding-bottom: 14px;
  border-bottom: 1px solid #e1ebe8;
}
.backup-card-head h2 {
  margin: 3px 0 5px!important;
}
.backup-card-head p {
  margin: 0;
  line-height: 1.55;
}
.backup-action-stack {
  display: grid;
  gap: 10px;
  margin: 14px 0 16px;
}
.backup-action-panel {
  padding: 13px;
  border: 1px solid #dbe9e5;
  border-radius: 12px;
  background: #f8fbfa;
}
.backup-action-panel>div:first-child {
  display: grid;
  gap: 3px;
  margin-bottom: 10px;
}
.backup-action-panel strong {
  font-size: 13px;
  color: #173f39;
}
.backup-action-panel small {
  font-size: 10px;
  line-height: 1.45;
  color: #6b817c;
  font-weight: 500;
}
.backup-download-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  background: #f2faf7;
}
.backup-download-panel>div:first-child {
  margin-bottom: 0;
}
.backup-download-panel .backup-link {
  margin: 0;
  white-space: nowrap;
}
.backup-restore-panel {
  background: #fff;
}
.backup-restore-panel #restore-form {
  display: grid;
  gap: 9px;
}
.backup-file-field {
  margin: 0!important;
}
.backup-file-field>span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #607a75;
}
.backup-file-field input[type=file] {
  padding: 8px!important;
  background: #fff!important;
  font-size: 11px;
}
.backup-restore-panel .danger {
  justify-self: start;
}
.system-settings-panel {
  border-top: 1px solid #dfe9e6;
  padding-top: 15px;
}
.settings-panel-head {
  margin-bottom: 10px;
}
.settings-panel-head h3 {
  margin: 0 0 3px;
  font-size: 15px;
}
.settings-panel-head p {
  margin: 0;
  color: #6b817c;
  font-size: 10px;
  line-height: 1.45;
}
.threshold-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
#system-settings>button {
  margin-top: 5px;
}
@media (min-width:1181px) {
  #view-audit .two-column {
    grid-template-columns: minmax(0,2.4fr) minmax(370px,.92fr)!important;
    gap: 18px!important;
  }
  #view-audit .backup-settings-card {
    padding: 18px!important;
  }
}
@media (max-width:1180px) {
  .backup-download-panel {
    grid-template-columns: 1fr;
  }
  .backup-download-panel .backup-link {
    justify-self: start;
  }
}
@media (max-width:580px) {
  .threshold-fields {
    grid-template-columns: 1fr;
  }
  .backup-action-panel {
    padding: 11px;
  }
}
/* 2026-08-09 — Backup & Restore professional cleanup */
.backup-settings-card {
  padding: 0!important;
  overflow: hidden;
  background: #fff;
}
.backup-card-head {
  padding: 20px 20px 16px;
  border-bottom: 1px solid #e3ece9;
}
.backup-card-head .section-kicker {
  margin-bottom: 5px;
}
.backup-card-head h2 {
  margin: 0 0 6px!important;
  font-size: 20px;
  line-height: 1.2;
}
.backup-card-head p {
  margin: 0;
  max-width: 44ch;
  font-size: 11px;
  line-height: 1.55;
  color: #687d78;
}
.backup-maintenance-list {
  padding: 0 20px;
}
.backup-maintenance-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 17px 0;
  border-bottom: 1px solid #edf2f0;
}
.backup-maintenance-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.backup-maintenance-copy strong {
  font-size: 13px;
  line-height: 1.3;
  color: #173f39;
}
.backup-maintenance-copy span {
  font-size: 10px;
  line-height: 1.45;
  color: #72847f;
}
.backup-maintenance-row .backup-link {
  margin: 0;
  min-width: 126px;
  white-space: nowrap;
}
.backup-restore-row {
  grid-template-columns: 1fr;
  gap: 11px;
  padding-bottom: 18px;
}
.backup-restore-form {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 10px;
}
.backup-file-field {
  display: grid!important;
  gap: 6px;
  margin: 0!important;
  min-width: 0;
}
.backup-file-field>span {
  font-size: 9px!important;
  font-weight: 800!important;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #607a75!important;
}
.backup-file-field input[type=file] {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 7px 8px!important;
  border: 1px solid #cdded9!important;
  border-radius: 9px!important;
  background: #fff!important;
  font-size: 10px!important;
  color: #324f49;
}
.backup-restore-form .danger {
  height: 42px;
  padding: 0 15px;
  white-space: nowrap;
  align-self: end;
}
#restore-message:empty {
  display: none;
}
.system-settings-panel {
  padding: 18px 20px 20px;
  border-top: 0;
  background: #fbfcfc;
}
.settings-panel-head {
  margin: 0 0 14px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e5edeb;
}
.settings-panel-head .section-kicker {
  display: block;
  margin-bottom: 4px;
}
.settings-panel-head h3 {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1.25;
  color: #173f39;
}
.settings-panel-head p {
  margin: 0;
  font-size: 10px;
  line-height: 1.45;
  color: #72847f;
}
.system-settings-form {
  display: grid;
  gap: 12px;
}
.system-settings-form label {
  display: grid;
  gap: 6px;
  font-size: 10px;
  font-weight: 800;
  color: #294b45;
}
.system-settings-form label small {
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #8a9a96;
}
.system-settings-form input {
  height: 42px!important;
  padding: 0 12px!important;
  background: #fff!important;
}
.threshold-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.settings-save-row {
  display: flex;
  justify-content: flex-start;
  padding-top: 2px;
}
.settings-save-row .primary {
  min-width: 112px;
}
@media (min-width:1181px) {
  #view-audit .backup-settings-card {
    padding: 0!important;
  }
}
@media (max-width:1180px) {
  .backup-maintenance-row {
    grid-template-columns: 1fr;
  }
  .backup-maintenance-row .backup-link {
    justify-self: start;
  }
}
@media (max-width:580px) {
  .backup-card-head,.backup-maintenance-list,.system-settings-panel {
    padding-left: 15px;
    padding-right: 15px;
  }
  .backup-restore-form {
    grid-template-columns: 1fr;
  }
  .backup-restore-form .danger {
    justify-self: start;
  }
  .threshold-fields {
    grid-template-columns: 1fr;
  }
}
/* 2026-08-09 — Backup & Restore minimalist redesign */
.backup-settings-card {
  background: #fff!important;
  border: 1px solid #dce7e4!important;
  border-radius: 14px!important;
  box-shadow: none!important;
}
.backup-card-head {
  padding: 16px 16px 12px!important;
  border-bottom: 1px solid #edf2f0!important;
}
.backup-card-head h2 {
  font-size: 17px!important;
  margin: 0 0 3px!important;
}
.backup-card-head p {
  font-size: 10px!important;
  line-height: 1.35!important;
  color: #72847f!important;
  max-width: none!important;
}
.backup-maintenance-list {
  padding: 0 16px!important;
}
.backup-maintenance-row {
  padding: 13px 0!important;
  gap: 12px!important;
  border-bottom: 1px solid #edf2f0!important;
  background: transparent!important;
}
.backup-maintenance-copy {
  gap: 2px!important;
}
.backup-maintenance-copy strong {
  font-size: 12px!important;
}
.backup-maintenance-copy span {
  font-size: 9px!important;
  line-height: 1.35!important;
}
.backup-maintenance-row .backup-link {
  min-width: 92px!important;
  height: 36px!important;
  padding: 0 13px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  border-radius: 8px!important;
  font-size: 11px!important;
}
.backup-restore-row {
  gap: 9px!important;
  padding-bottom: 14px!important;
}
.backup-restore-form {
  gap: 8px!important;
}
.backup-file-field {
  gap: 4px!important;
}
.backup-file-field>span {
  font-size: 8px!important;
  letter-spacing: .05em!important;
}
.backup-file-field input[type=file] {
  height: 38px!important;
  padding: 5px 7px!important;
  border-radius: 8px!important;
  font-size: 9px!important;
}
.backup-restore-form .danger {
  height: 38px!important;
  padding: 0 13px!important;
  border-radius: 8px!important;
  font-size: 11px!important;
}
.system-settings-panel {
  padding: 14px 16px 16px!important;
  background: #fff!important;
  border-top: 0!important;
}
.settings-panel-head {
  margin: 0 0 10px!important;
  padding: 0!important;
  border: 0!important;
}
.settings-panel-head h3 {
  font-size: 14px!important;
  margin: 0!important;
}
.system-settings-form {
  gap: 10px!important;
}
.system-settings-form label {
  gap: 4px!important;
  font-size: 9px!important;
}
.system-settings-form label small {
  font-size: 7px!important;
}
.system-settings-form input {
  height: 38px!important;
  padding: 0 10px!important;
  border-radius: 8px!important;
}
.threshold-fields {
  gap: 8px!important;
}
.settings-save-row {
  padding-top: 0!important;
}
.settings-save-row .primary {
  min-width: 86px!important;
  height: 36px!important;
  padding: 0 14px!important;
  border-radius: 8px!important;
  font-size: 11px!important;
}
@media (min-width:1181px) {
  #view-audit .two-column {
    grid-template-columns: minmax(0,2.65fr) minmax(330px,.82fr)!important;
  }
}
/* 2026-08-09 — Final minimalist Backup & Restore cleanup */
.backup-settings-card .section-kicker,
.backup-settings-card .eyebrow,
.backup-settings-card .backup-card-head::before,
.backup-settings-card .system-settings-panel::before,
.backup-settings-card [data-label="DATABASE MAINTENANCE"],
.backup-settings-card [data-label="CONFIGURATION"] {
  display: none!important;
  content: none!important;
}
.backup-card-head {
  padding-top: 14px!important;
}
.backup-card-head h2 {
  margin-top: 0!important;
}
.system-settings-panel {
  padding-top: 14px!important;
}
.settings-panel-head {
  margin-top: 0!important;
}
/* 2026-08-09 — Ultra-minimal backup/settings panel */
.backup-settings-card .backup-card-head {
  padding-bottom: 10px!important;
}
.backup-settings-card .backup-card-head p {
  display: none!important;
}
.backup-settings-card .backup-maintenance-copy span {
  display: none!important;
}
.backup-settings-card .backup-maintenance-row {
  padding: 12px 0!important;
  min-height: 0!important;
}
.backup-settings-card .backup-file-field>span {
  display: none!important;
}
.backup-settings-card .system-settings-panel {
  margin-top: 0!important;
  padding-top: 12px!important;
}
.backup-settings-card .settings-panel-head {
  margin-bottom: 10px!important;
}
.backup-settings-card .system-settings-form label small {
  display: none!important;
}
.backup-settings-card .system-settings-form {
  gap: 12px!important;
}
/* 2026-08-09 — Restore control alignment refinement */
.backup-settings-card .backup-restore-row {
  display: block!important;
}
.backup-settings-card .backup-restore-row>.backup-maintenance-copy {
  margin-bottom: 8px!important;
}
.backup-settings-card .backup-restore-form {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  align-items: center!important;
  gap: 8px!important;
  width: 100%!important;
}
.backup-settings-card .backup-file-input {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  opacity: 0!important;
  pointer-events: none!important;
}
.backup-settings-card .backup-file-picker {
  min-width: 0!important;
  height: 38px!important;
  display: flex!important;
  align-items: center!important;
  gap: 8px!important;
  padding: 4px 8px 4px 5px!important;
  border: 1px solid #cbdad6!important;
  border-radius: 8px!important;
  background: #fff!important;
}
.backup-settings-card .backup-file-button {
  flex: 0 0 auto!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  height: 28px!important;
  padding: 0 10px!important;
  margin: 0!important;
  border: 1px solid #c4d4d0!important;
  border-radius: 6px!important;
  background: #f5f8f7!important;
  color: #173f39!important;
  font-size: 9px!important;
  font-weight: 700!important;
  line-height: 1!important;
  cursor: pointer!important;
  white-space: nowrap!important;
}
.backup-settings-card .backup-file-button:hover {
  background: #edf4f2!important;
}
.backup-settings-card .backup-file-name {
  min-width: 0!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  white-space: nowrap!important;
  color: #71827e!important;
  font-size: 9px!important;
  line-height: 1.2!important;
}
.backup-settings-card .backup-restore-button {
  min-width: 96px!important;
  height: 38px!important;
  margin: 0!important;
  padding: 0 14px!important;
  border-radius: 8px!important;
  white-space: nowrap!important;
}
@media (max-width:560px) {
  .backup-settings-card .backup-restore-form {
    grid-template-columns: 1fr!important;
  }
  .backup-settings-card .backup-restore-button {
    width: 100%!important;
  }
}
/* 2026-08-09 — Restore backup clean stacked control */
.backup-settings-card .backup-restore-row {
  padding-top: 12px!important;
  padding-bottom: 14px!important;
}
.backup-settings-card .backup-restore-row>.backup-maintenance-copy {
  margin-bottom: 7px!important;
}
.backup-settings-card .backup-restore-form {
  display: flex!important;
  flex-direction: column!important;
  align-items: stretch!important;
  gap: 8px!important;
}
.backup-settings-card .backup-file-picker {
  width: 100%!important;
  min-height: 42px!important;
  height: auto!important;
  display: grid!important;
  grid-template-columns: auto minmax(0,1fr)!important;
  align-items: center!important;
  gap: 10px!important;
  padding: 6px!important;
  border: 1px solid #d5e1de!important;
  border-radius: 9px!important;
  background: #fff!important;
  box-shadow: none!important;
  outline: 0!important;
}
.backup-settings-card .backup-file-button {
  height: 30px!important;
  padding: 0 11px!important;
  border: 0!important;
  border-radius: 6px!important;
  background: #eef5f3!important;
  color: #173f39!important;
  font-size: 9px!important;
  font-weight: 800!important;
  cursor: pointer!important;
}
.backup-settings-card .backup-file-button:hover {
  background: #e5f0ed!important;
}
.backup-settings-card .backup-file-name {
  display: block!important;
  min-width: 0!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  white-space: nowrap!important;
  color: #7b8c88!important;
  font-size: 9px!important;
  font-weight: 600!important;
}
.backup-settings-card .backup-restore-button {
  align-self: flex-start!important;
  min-width: 0!important;
  width: auto!important;
  height: 34px!important;
  padding: 0 14px!important;
  border-radius: 7px!important;
  font-size: 10px!important;
  font-weight: 800!important;
  box-shadow: none!important;
}
.backup-settings-card .backup-file-input:focus + .backup-file-picker,
.backup-settings-card .backup-file-picker:focus-within {
  border-color: #b8cfca!important;
  box-shadow: 0 0 0 2px rgba(15,143,128,.08)!important;
}
@media (max-width:580px) {
  .backup-settings-card .backup-restore-button {
    width: 100%!important;
    justify-content: center!important;
  }
}
/* 2026-08-09 — Compact Backup & Restore panel */
.backup-settings-card {
  padding: 0!important;
}
.backup-settings-card .backup-card-head {
  padding: 14px 16px 10px!important;
}
.backup-settings-card .backup-card-head h2 {
  margin: 0!important;
  font-size: 18px!important;
  line-height: 1.2!important;
}
.backup-settings-card .backup-maintenance-list {
  padding: 0 16px!important;
}
.backup-settings-card .backup-maintenance-row {
  padding: 10px 0!important;
  min-height: 0!important;
}
.backup-settings-card .backup-maintenance-copy {
  margin: 0!important;
}
.backup-settings-card .backup-maintenance-copy strong {
  font-size: 12px!important;
  line-height: 1.25!important;
}
.backup-settings-card .backup-link {
  min-height: 34px!important;
  padding: 0 14px!important;
  font-size: 10px!important;
  border-radius: 7px!important;
}
.backup-settings-card .backup-restore-row {
  padding: 10px 0 11px!important;
}
.backup-settings-card .backup-restore-row>.backup-maintenance-copy {
  margin-bottom: 6px!important;
}
.backup-settings-card .backup-restore-form {
  gap: 6px!important;
}
.backup-settings-card .backup-file-picker {
  min-height: 36px!important;
  padding: 4px!important;
  gap: 7px!important;
  border-radius: 7px!important;
}
.backup-settings-card .backup-file-button {
  height: 26px!important;
  padding: 0 9px!important;
  border-radius: 5px!important;
  font-size: 8px!important;
}
.backup-settings-card .backup-file-name {
  font-size: 8px!important;
}
.backup-settings-card .backup-restore-button {
  height: 30px!important;
  padding: 0 12px!important;
  border-radius: 6px!important;
  font-size: 9px!important;
}
.backup-settings-card .system-settings-panel {
  margin-top: 0!important;
  padding: 11px 16px 14px!important;
}
.backup-settings-card .settings-panel-head {
  margin: 0 0 9px!important;
  padding: 0!important;
}
.backup-settings-card .settings-panel-head h3 {
  margin: 0!important;
  font-size: 15px!important;
  line-height: 1.2!important;
}
.backup-settings-card .system-settings-form {
  gap: 9px!important;
}
.backup-settings-card .system-settings-form label {
  gap: 4px!important;
  font-size: 9px!important;
  line-height: 1.2!important;
}
.backup-settings-card .system-settings-form input {
  height: 36px!important;
  min-height: 36px!important;
  padding: 0 11px!important;
  font-size: 16px!important;
  border-radius: 7px!important;
}
.backup-settings-card .threshold-fields {
  gap: 8px!important;
}
.backup-settings-card .settings-save-row {
  margin-top: 1px!important;
}
.backup-settings-card .settings-save-row .primary {
  min-height: 32px!important;
  padding: 0 14px!important;
  border-radius: 7px!important;
  font-size: 10px!important;
}
/* 2026-08-09 — Restore backup single-line compact layout */
.backup-settings-card .backup-restore-form {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  align-items: center!important;
  gap: 8px!important;
}
.backup-settings-card .backup-file-picker {
  min-width: 0!important;
  width: 100%!important;
  min-height: 38px!important;
  height: 38px!important;
  padding: 4px 6px!important;
}
.backup-settings-card .backup-file-button {
  height: 28px!important;
  padding: 0 10px!important;
}
.backup-settings-card .backup-restore-button {
  align-self: center!important;
  width: auto!important;
  height: 38px!important;
  margin: 0!important;
  padding: 0 14px!important;
}
@media (max-width:380px) {
  .backup-settings-card .backup-restore-form {
    grid-template-columns: minmax(0,1fr) auto!important;
    gap: 6px!important;
  }
  .backup-settings-card .backup-file-picker {
    gap: 6px!important;
    padding: 4px!important;
  }
  .backup-settings-card .backup-file-button {
    padding: 0 7px!important;
    font-size: 8px!important;
  }
  .backup-settings-card .backup-file-name {
    font-size: 8px!important;
  }
  .backup-settings-card .backup-restore-button {
    width: auto!important;
    padding: 0 10px!important;
    font-size: 9px!important;
  }
}
/* 2026-08-09 — Backup & Restore balanced compact layout */
.backup-settings-card {
  overflow: hidden!important;
}
.backup-settings-card .backup-card-head {
  padding: 14px 16px 12px!important;
  border-bottom: 1px solid #e2ebe8!important;
}
.backup-settings-card .backup-maintenance-list {
  padding: 0 16px 12px!important;
}
.backup-settings-card .backup-maintenance-row {
  padding: 11px 0!important;
  border-bottom: 1px solid #e7eeec!important;
}
.backup-settings-card .backup-maintenance-row:last-child {
  border-bottom: 0!important;
  padding-bottom: 0!important;
}
.backup-settings-card .backup-maintenance-row:not(.backup-restore-row) {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  align-items: center!important;
  gap: 12px!important;
}
.backup-settings-card .backup-maintenance-copy strong {
  display: block!important;
  font-size: 12px!important;
  line-height: 1.25!important;
  color: #123f38!important;
}
.backup-settings-card .backup-link {
  min-width: 92px!important;
  height: 36px!important;
  min-height: 36px!important;
  padding: 0 14px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  border-radius: 7px!important;
  font-size: 10px!important;
}
.backup-settings-card .backup-restore-row {
  display: block!important;
}
.backup-settings-card .backup-restore-row>.backup-maintenance-copy {
  margin: 0 0 7px!important;
}
.backup-settings-card .backup-restore-form {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) 76px!important;
  align-items: stretch!important;
  gap: 8px!important;
}
.backup-settings-card .backup-file-picker {
  box-sizing: border-box!important;
  width: 100%!important;
  min-width: 0!important;
  height: 36px!important;
  min-height: 36px!important;
  padding: 4px 8px!important;
  display: grid!important;
  grid-template-columns: auto minmax(0,1fr)!important;
  align-items: center!important;
  gap: 8px!important;
  border: 1px solid #c9dbd7!important;
  border-radius: 7px!important;
  background: #fff!important;
  box-shadow: none!important;
}
.backup-settings-card .backup-file-button {
  height: 26px!important;
  padding: 0 9px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  border: 0!important;
  border-radius: 5px!important;
  background: #edf5f3!important;
  color: #12463e!important;
  font-size: 8px!important;
  font-weight: 800!important;
  white-space: nowrap!important;
}
.backup-settings-card .backup-file-name {
  min-width: 0!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  white-space: nowrap!important;
  color: #748580!important;
  font-size: 8px!important;
  font-weight: 600!important;
}
.backup-settings-card .backup-restore-button {
  width: 76px!important;
  min-width: 76px!important;
  height: 36px!important;
  padding: 0 10px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  border-radius: 7px!important;
  font-size: 9px!important;
  font-weight: 800!important;
  box-shadow: none!important;
}
.backup-settings-card #restore-message:empty {
  display: none!important;
}
@media (max-width:420px) {
  .backup-settings-card .backup-card-head {
    padding: 12px 14px 10px!important;
  }
  .backup-settings-card .backup-maintenance-list {
    padding: 0 14px 10px!important;
  }
  .backup-settings-card .backup-restore-form {
    grid-template-columns: minmax(0,1fr) 68px!important;
    gap: 7px!important;
  }
  .backup-settings-card .backup-restore-button {
    width: 68px!important;
    min-width: 68px!important;
    padding: 0 7px!important;
  }
}
/* 2026-08-09 — Backup & Restore refined action-card redesign */
.backup-settings-card {
  padding: 0!important;
  border-radius: 14px!important;
  background: #fff!important;
  border: 1px solid #d7e4e1!important;
  box-shadow: 0 10px 28px rgba(17,63,56,.06)!important;
}
.backup-settings-card .backup-card-head {
  padding: 15px 16px 13px!important;
  border-bottom: 1px solid #e5eeeb!important;
  background: linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%)!important;
}
.backup-settings-card .backup-card-head h2 {
  font-size: 18px!important;
  letter-spacing: -.2px!important;
}
.backup-settings-card .backup-maintenance-list {
  display: grid!important;
  gap: 9px!important;
  padding: 12px 14px 14px!important;
}
.backup-settings-card .backup-maintenance-row,
.backup-settings-card .backup-maintenance-row:last-child {
  border: 1px solid #e0ebe8!important;
  border-radius: 10px!important;
  background: #fbfdfc!important;
  padding: 10px!important;
}
.backup-settings-card .backup-maintenance-row:not(.backup-restore-row) {
  grid-template-columns: minmax(0,1fr) auto!important;
  gap: 10px!important;
}
.backup-settings-card .backup-maintenance-copy {
  display: flex!important;
  align-items: center!important;
  gap: 8px!important;
}
.backup-settings-card .backup-maintenance-copy::before {
  content: '↓'!important;
  width: 26px!important;
  height: 26px!important;
  flex: 0 0 26px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  border-radius: 7px!important;
  background: #e7f4f1!important;
  color: #087e70!important;
  font-size: 14px!important;
  font-weight: 900!important;
}
.backup-settings-card .backup-restore-row>.backup-maintenance-copy::before {
  content: '↥'!important;
  background: #fff1f1!important;
  color: #c43a3a!important;
}
.backup-settings-card .backup-maintenance-copy strong {
  font-size: 12px!important;
  font-weight: 800!important;
}
.backup-settings-card .backup-link {
  min-width: 88px!important;
  height: 34px!important;
  min-height: 34px!important;
  border-radius: 8px!important;
  padding: 0 13px!important;
  box-shadow: none!important;
}
.backup-settings-card .backup-restore-row>.backup-maintenance-copy {
  margin: 0 0 8px!important;
}
.backup-settings-card .backup-restore-form {
  grid-template-columns: minmax(0,1fr) 74px!important;
  gap: 7px!important;
}
.backup-settings-card .backup-file-picker {
  height: 35px!important;
  min-height: 35px!important;
  border-color: #d1e0dc!important;
  border-radius: 8px!important;
  background: #fff!important;
  padding: 4px 6px!important;
}
.backup-settings-card .backup-file-button {
  height: 25px!important;
  border-radius: 6px!important;
  background: #edf5f3!important;
}
.backup-settings-card .backup-restore-button {
  width: 74px!important;
  min-width: 74px!important;
  height: 35px!important;
  border-radius: 8px!important;
}
.backup-settings-card .backup-file-picker:focus-within {
  border-color: #7ebdb5!important;
  box-shadow: 0 0 0 2px rgba(15,143,128,.08)!important;
}
@media (max-width:420px) {
  .backup-settings-card .backup-maintenance-list {
    padding: 10px 11px 12px!important;
    gap: 8px!important;
  }
  .backup-settings-card .backup-maintenance-row,
  .backup-settings-card .backup-maintenance-row:last-child {
    padding: 9px!important;
  }
  .backup-settings-card .backup-maintenance-copy::before {
    width: 24px!important;
    height: 24px!important;
    flex-basis: 24px!important;
  }
  .backup-settings-card .backup-restore-form {
    grid-template-columns: minmax(0,1fr) 68px!important;
  }
  .backup-settings-card .backup-restore-button {
    width: 68px!important;
    min-width: 68px!important;
  }
}
/* 2026-08-09 — User Management refinement */
#view-users .user-management-layout {
  grid-template-columns: minmax(0,1.75fr) minmax(330px,.72fr);
  gap: 18px;
  align-items: start;
}
#view-users .user-accounts-card {
  height: auto!important;
  min-height: 0!important;
  padding: 18px!important;
}
#view-users .user-accounts-head {
  align-items: flex-end;
  margin-bottom: 14px;
}
#view-users .user-accounts-head h2 {
  font-size: 18px;
  margin: 0 0 3px;
}
#view-users .user-accounts-head p {
  margin: 0;
}
#view-users .user-account-summary {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  color: #6b817c;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
#view-users .user-account-summary span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
#view-users .user-account-summary b {
  color: #0f766e;
  font-size: 11px;
}
#view-users .user-account-summary i {
  font-style: normal;
  color: #b7c9c5;
}
#view-users .user-table-wrap {
  border: 1px solid #dce8e5;
  border-radius: 11px;
  overflow: auto;
  background: #fff;
}
#view-users .user-table {
  font-size: 11px;
}
#view-users .user-table th {
  padding: 10px 11px;
  font-size: 9px;
  background: #f4f8f7;
  white-space: nowrap;
}
#view-users .user-table td {
  padding: 11px;
  vertical-align: middle;
}
#view-users .user-name-cell strong {
  font-weight: 700;
  color: #173f39;
}
#view-users .user-record-count {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
#view-users .user-action-cell {
  min-width: 112px;
}
#view-users .role-badge,.current-account-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
#view-users .role-badge.admin {
  background: #e8f2ff;
  color: #315f8f;
}
#view-users .role-badge.technician {
  background: #edf7f4;
  color: #2f675e;
}
#view-users .current-account-badge {
  background: #f1f5f4;
  color: #617671;
  border: 1px solid #dfe9e6;
}
#view-users .user-status-btn.disable {
  border-color: #ead8d8;
  color: #a33d3d;
  background: #fffafa;
}
#view-users .user-status-btn.disable:hover {
  background: #fff1f1;
}
#view-users .user-status-btn.enable {
  border-color: #cfe4de;
  color: #0f766e;
  background: #f8fcfb;
}
#view-users .user-create-card {
  padding: 18px!important;
}
#view-users .user-form-head {
  padding-bottom: 11px;
  margin-bottom: 4px;
  border-bottom: 1px solid #e5eeec;
}
#view-users .user-form-head h2 {
  margin: 0 0 3px;
  font-size: 18px;
}
#view-users .user-form-head p {
  margin: 0;
  color: #71847f;
  font-size: 10px;
  line-height: 1.4;
}
#view-users .user-form-fields {
  display: grid;
  gap: 0;
}
#view-users .user-create-card label {
  margin: 8px 0 0!important;
  gap: 5px!important;
  font-size: 10px!important;
}
#view-users .user-create-card input,#view-users .user-create-card select {
  min-height: 39px!important;
  padding: 9px 11px!important;
  border-radius: 9px!important;
}
#view-users .user-create-card label>small {
  font-size: 9px;
  color: #84938f;
  font-weight: 500;
  margin-top: -1px;
}
#view-users .password-field {
  position: relative;
  display: block;
}
#view-users .password-field input {
  padding-right: 55px!important;
}
#view-users .password-toggle {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  height: 29px;
  padding: 0 9px;
  border: 0;
  border-radius: 7px;
  background: #edf6f3;
  color: #24675d;
  font-size: 9px;
  font-weight: 800;
}
#view-users .password-toggle:hover {
  background: #e2f1ed;
}
#view-users .user-create-submit {
  margin-top: 12px;
  min-height: 38px;
  padding: 9px 15px;
}
#view-users #user-message .alert {
  margin: 10px 0 0;
  font-size: 10px;
  padding: 9px 10px;
}
@media (max-width:1180px) {
  #view-users .user-management-layout {
    grid-template-columns: minmax(0,1.35fr) minmax(300px,.75fr);
  }
}
@media (max-width:900px) {
  #view-users .user-management-layout {
    grid-template-columns: 1fr!important;
  }
  #view-users .user-account-summary {
    margin-top: 4px;
  }
  #view-users .user-accounts-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width:580px) {
  #view-users .user-accounts-card,#view-users .user-create-card {
    padding: 13px!important;
  }
  #view-users .user-table {
    min-width: 720px;
  }
  #view-users .user-account-summary {
    gap: 5px;
    font-size: 9px;
  }
  #view-users .user-create-submit {
    width: 100%;
  }
}
/* ==========================================================================
   Data Quality workspace refinement — 2026-08-09
   Focused, actionable quality review without changing source assessment data.
   ========================================================================== */
#view-quality .quality-grid {
  display: grid!important;
  grid-template-columns: repeat(5,minmax(0,1fr))!important;
  gap: 10px!important;
  margin-bottom: 14px!important;
}
#view-quality .quality-summary-card {
  appearance: none;
  width: 100%;
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid #d7e6e2;
  border-radius: 13px;
  background: #fff;
  color: #173f39;
  text-align: left;
  box-shadow: 0 5px 16px rgba(20,72,63,.045);
  transition: border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease;
}
#view-quality .quality-summary-card:hover {
  border-color: #a9cec7;
  box-shadow: 0 7px 20px rgba(20,72,63,.075);
  transform: translateY(-1px);
}
#view-quality .quality-summary-card.active {
  border-color: #159788;
  background: #f1fbf8;
  box-shadow: 0 0 0 2px rgba(21,151,136,.09);
}
#view-quality .quality-summary-card>span {
  grid-column: 1;
  grid-row: 1;
  font-size: 11px;
  font-weight: 900;
  color: #315850;
  letter-spacing: 0!important;
  text-transform: none!important;
}
#view-quality .quality-summary-card>strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  margin: 0!important;
  font-size: 27px!important;
  line-height: 1;
  color: #173f39;
}
#view-quality .quality-summary-card>p {
  grid-column: 1;
  grid-row: 2;
  margin: 4px 0 0!important;
  font-size: 10.5px!important;
  line-height: 1.32!important;
  color: #718780!important;
}
#view-quality .quality-summary-card.attention {
  border-left: 3px solid #e8a40d;
}
#view-quality .quality-summary-card.issue {
  border-left: 3px solid #86aaa3;
}
#view-quality .quality-summary-card.clear {
  border-left: 3px solid #45b494;
}
#view-quality .quality-summary-card.clear>strong {
  color: #087d70;
}
#view-quality .quality-table-card {
  padding: 16px!important;
}
#view-quality .quality-table-head {
  margin-bottom: 12px!important;
  align-items: center!important;
}
#view-quality .quality-title-line {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
#view-quality .quality-title-line h2 {
  margin: 0!important;
}
#view-quality .quality-total-badge {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf7f4;
  color: #397066;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
#view-quality .quality-toolbar {
  display: grid;
  grid-template-columns: minmax(220px,1fr) minmax(160px,220px);
  gap: 9px;
  margin: 0 0 12px;
  padding: 10px;
  background: #f7faf9;
  border: 1px solid #e0ebe8;
  border-radius: 11px;
}
#view-quality .quality-search-wrap,#view-quality .quality-filter-wrap {
  display: block;
  min-width: 0;
}
#view-quality #quality-search,#view-quality #quality-filter {
  width: 100%;
  height: 38px;
  border: 1px solid #cadeda;
  border-radius: 9px;
  background: #fff;
  color: #244942;
  padding: 0 12px;
  outline: 0;
  font-size: 12px;
}
#view-quality #quality-search:focus,#view-quality #quality-filter:focus {
  border-color: #159788;
  box-shadow: 0 0 0 3px rgba(21,151,136,.09);
}
#view-quality .quality-table-wrap {
  border: 1px solid #dce8e5;
  border-radius: 11px;
  overflow: auto;
}
#view-quality .quality-record-table th {
  background: #f3f8f6;
  position: sticky;
  top: 0;
  z-index: 1;
}
#view-quality .quality-record-table td {
  vertical-align: middle;
}
#view-quality .quality-record-table td:nth-child(4) {
  white-space: normal;
  min-width: 250px;
}
#view-quality .quality-flag-list {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
#view-quality .quality-flag {
  display: inline-flex;
  align-items: center;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid transparent;
}
#view-quality .quality-flag.gps {
  background: #eef4f8;
  color: #476b7a;
  border-color: #d9e7ed;
}
#view-quality .quality-flag.manual {
  background: #f3f1fb;
  color: #665d8b;
  border-color: #e5e0f3;
}
#view-quality .quality-flag.review {
  background: #fff4d8;
  color: #936414;
  border-color: #f2dfaa;
}
#view-quality .quality-flag.ph {
  background: #fff0ed;
  color: #a84638;
  border-color: #f2d4cf;
}
#view-quality .quality-flag.duplicate {
  background: #f7f1e9;
  color: #795e3b;
  border-color: #eadccc;
}
#view-quality .quality-action-head,#view-quality .quality-action-cell {
  text-align: right;
  width: 76px;
}
#view-quality .quality-action-cell .table-btn {
  min-width: 50px;
}
@media (max-width:1350px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:980px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:620px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 8px!important;
  }
  #view-quality .quality-summary-card {
    min-height: 76px;
    padding: 11px 12px;
    column-gap: 8px;
  }
  #view-quality .quality-summary-card>strong {
    font-size: 24px!important;
  }
  #view-quality .quality-summary-card>p {
    font-size: 9.5px!important;
  }
  #view-quality .quality-toolbar {
    grid-template-columns: 1fr;
    padding: 8px;
  }
  #view-quality .quality-table-head {
    align-items: stretch!important;
  }
}
@media (max-width:430px) {
  #view-quality .quality-grid {
    grid-template-columns: 1fr!important;
  }
}
#view-quality .quality-flag.incomplete {
  background: #f1f3f4;
  color: #59666a;
  border-color: #dfe4e6;
}
/* ==========================================================================
   Data Quality — professional KPI rail refinement — 2026-08-09
   Replaces individual floating issue boxes with one restrained summary panel.
   ========================================================================== */
#view-quality .quality-grid {
  display: grid!important;
  grid-template-columns: repeat(5,minmax(0,1fr))!important;
  gap: 0!important;
  margin: 0 0 16px!important;
  padding: 0!important;
  overflow: hidden;
  border: 1px solid #d8e5e2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(20,72,63,.035);
}
#view-quality .quality-summary-card {
  position: relative;
  min-height: 94px!important;
  padding: 15px 16px 14px!important;
  border: 0!important;
  border-right: 1px solid #e4ecea!important;
  border-radius: 0!important;
  background: #fff!important;
  box-shadow: none!important;
  transform: none!important;
  transition: background .15s ease,color .15s ease!important;
}
#view-quality .quality-summary-card:last-child {
  border-right: 0!important;
}
#view-quality .quality-summary-card:hover {
  background: #f8fbfa!important;
  box-shadow: none!important;
  transform: none!important;
}
#view-quality .quality-summary-card.active {
  background: #f1f8f6!important;
  box-shadow: inset 0 -3px 0 #148f82!important;
}
#view-quality .quality-summary-card.attention,
#view-quality .quality-summary-card.issue,
#view-quality .quality-summary-card.clear {
  border-left: 0!important;
}
#view-quality .quality-summary-card>span {
  font-size: 10.5px!important;
  font-weight: 800!important;
  color: #536f69!important;
  line-height: 1.2!important;
}
#view-quality .quality-summary-card>strong {
  font-size: 29px!important;
  font-weight: 750!important;
  color: #153f38!important;
  letter-spacing: -.8px;
}
#view-quality .quality-summary-card>p {
  max-width: 190px;
  margin: 7px 0 0!important;
  font-size: 9.5px!important;
  line-height: 1.35!important;
  color: #82928e!important;
}
#view-quality .quality-summary-card.attention>strong {
  color: #9b6511!important;
}
#view-quality .quality-summary-card.clear>strong {
  color: #178274!important;
}
#view-quality .quality-summary-card::before {
  content: "";
  position: absolute;
  left: 16px;
  bottom: 10px;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: #cbdad6;
  opacity: .8;
}
#view-quality .quality-summary-card.attention::before {
  background: #d9a23a;
}
#view-quality .quality-summary-card.clear::before {
  background: #51a99a;
}
#view-quality .quality-summary-card.active::before {
  opacity: 0;
}
#view-quality .quality-table-card {
  padding: 17px 18px 18px!important;
  border-color: #d8e5e2!important;
  box-shadow: 0 5px 18px rgba(20,72,63,.04)!important;
}
#view-quality .quality-toolbar {
  padding: 0!important;
  margin: 0 0 12px!important;
  background: transparent!important;
  border: 0!important;
  border-radius: 0!important;
}
#view-quality #quality-search,#view-quality #quality-filter {
  height: 39px!important;
  border-color: #d0dfdc!important;
  border-radius: 8px!important;
}
#view-quality .quality-table-wrap {
  border-radius: 9px!important;
}
#view-quality .quality-total-badge {
  min-height: 22px!important;
  padding: 2px 8px!important;
  border: 1px solid #dce9e6;
  background: #f7faf9!important;
  color: #59736d!important;
}
#view-quality .quality-flag {
  padding: 3px 7px!important;
  border-radius: 6px!important;
  font-size: 9px!important;
  font-weight: 800!important;
}
@media (max-width:1350px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
  #view-quality .quality-summary-card:nth-child(3n) {
    border-right: 0!important;
  }
  #view-quality .quality-summary-card:nth-child(n+4) {
    border-top: 1px solid #e4ecea!important;
  }
}
@media (max-width:980px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-quality .quality-summary-card {
    border-right: 1px solid #e4ecea!important;
    border-top: 0!important;
  }
  #view-quality .quality-summary-card:nth-child(2n) {
    border-right: 0!important;
  }
  #view-quality .quality-summary-card:nth-child(n+3) {
    border-top: 1px solid #e4ecea!important;
  }
}
@media (max-width:620px) {
  #view-quality .quality-grid {
    grid-template-columns: 1fr!important;
  }
  #view-quality .quality-summary-card {
    min-height: 76px!important;
    border-right: 0!important;
    border-top: 1px solid #e4ecea!important;
    padding: 12px 14px!important;
  }
  #view-quality .quality-summary-card:first-child {
    border-top: 0!important;
  }
  #view-quality .quality-summary-card>strong {
    font-size: 25px!important;
  }
  #view-quality .quality-summary-card::before {
    display: none;
  }
}
/* Assessment Review Queue — professional compact layout */
#view-workflow {
  --rq-border: #d9e6e2;
  --rq-muted: #6b7f7a;
  --rq-soft: #f6faf8;
}
#view-workflow #workflow-kpis.metric-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid var(--rq-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(18,63,55,.045);
}
#view-workflow #workflow-kpis article {
  min-height: auto;
  padding: 15px 18px;
  background: transparent;
  border: 0;
  border-right: 1px solid #e7efed;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2px 12px;
}
#view-workflow #workflow-kpis article:last-child {
  border-right: 0;
}
#view-workflow #workflow-kpis span {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--rq-muted);
}
#view-workflow #workflow-kpis strong {
  grid-column: 2;
  grid-row: 1/3;
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
  color: #123f38;
}
#view-workflow #workflow-kpis small {
  font-size: 9px;
  color: #8a9a96;
}
#view-workflow>.data-card {
  padding: 0;
  overflow: hidden;
}
#view-workflow>.data-card>.card-head {
  padding: 18px 20px 14px;
  border-bottom: 1px solid #e5eeeb;
}
#view-workflow>.data-card>.card-head h2 {
  margin: 0 0 3px;
  font-size: 18px;
}
#view-workflow>.data-card>.card-head p {
  margin: 0;
  color: var(--rq-muted);
  font-size: 10px;
}
.workflow-toolbar {
  display: grid;
  grid-template-columns: minmax(240px,1fr) 190px;
  gap: 10px;
  padding: 12px 20px;
  background: var(--rq-soft);
  border-bottom: 1px solid #e5eeeb;
}
.workflow-toolbar input,.workflow-toolbar select {
  width: 100%;
  height: 38px;
  padding: 0 12px;
  border: 1px solid #cbded9;
  border-radius: 9px;
  background: #fff;
  color: #173f39;
  font: inherit;
  outline: none;
}
.workflow-toolbar input:focus,.workflow-toolbar select:focus {
  border-color: #6ab6aa;
  box-shadow: 0 0 0 3px rgba(15,143,128,.08);
}
.workflow-results-meta {
  padding: 10px 20px 7px;
  font-size: 10px;
  font-weight: 700;
  color: #60756f;
}
.workflow-list {
  display: block;
  padding: 0 20px 14px;
}
.workflow-list article {
  display: grid;
  grid-template-columns: minmax(140px,.8fr) minmax(160px,1.1fr) minmax(150px,.85fr) minmax(170px,1fr) 150px;
  align-items: center;
  gap: 16px;
  padding: 11px 12px;
  border: 0;
  border-bottom: 1px solid #e8efed;
  border-radius: 0;
  background: #fff;
}
.workflow-list article:first-child {
  border-top: 1px solid #e8efed;
}
.workflow-list article:hover {
  background: #f8fbfa;
}
.workflow-code {
  font-size: 10px;
  font-weight: 800;
  color: #24554d;
}
.workflow-date {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  color: #7b8d89;
}
.workflow-person strong {
  display: block;
  font-size: 12px;
  color: #153f38;
}
.workflow-person small,.workflow-location small {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  color: #748783;
}
.workflow-location b {
  font-size: 11px;
  color: #284f48;
}
.workflow-tech {
  font-size: 10px;
  color: #536f69;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.workflow-status {
  display: flex;
  justify-content: flex-end;
}
.workflow-status select {
  width: 138px;
  height: 36px;
  padding: 0 30px 0 11px;
  border: 1px solid #cbded9;
  border-radius: 9px;
  background-color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: capitalize;
  color: #234e47;
}
.workflow-empty {
  padding: 30px 10px;
  text-align: center;
  color: #71847f;
}
@media (max-width:1100px) {
  .workflow-list article {
    grid-template-columns: 1fr 1fr 1fr 145px;
  }
  .workflow-tech {
    display: none;
  }
}
@media (max-width:800px) {
  #view-workflow #workflow-kpis.metric-grid {
    grid-template-columns: repeat(2,1fr);
  }
  #view-workflow #workflow-kpis article:nth-child(2) {
    border-right: 0;
  }
  #view-workflow #workflow-kpis article:nth-child(-n+2) {
    border-bottom: 1px solid #e7efed;
  }
  .workflow-toolbar {
    grid-template-columns: 1fr;
  }
  .workflow-list article {
    grid-template-columns: 1fr auto;
    gap: 8px 12px;
    padding: 13px 4px;
  }
  .workflow-location {
    grid-column: 1;
  }
  .workflow-status {
    grid-column: 2;
    grid-row: 1/3;
  }
  .workflow-tech {
    display: none;
  }
}
/* ==========================================================================
   Assessment Review Queue — Data Quality visual alignment — 2026-08-09
   ========================================================================== */
#view-workflow {
  --rq-border: #d8e5e2;
  --rq-muted: #6d827c;
  --rq-soft: #f7faf9;
}
#view-workflow #workflow-kpis.workflow-summary-rail {
  display: grid!important;
  grid-template-columns: repeat(5,minmax(0,1fr))!important;
  gap: 0!important;
  margin: 0 0 16px!important;
  padding: 0!important;
  overflow: hidden;
  border: 1px solid var(--rq-border)!important;
  border-radius: 12px!important;
  background: #fff!important;
  box-shadow: 0 4px 14px rgba(20,72,63,.035)!important;
}
#view-workflow .workflow-summary-card {
  appearance: none;
  border: 0;
  border-right: 1px solid #e4ecea;
  background: #fff;
  text-align: left;
  position: relative;
  min-width: 0;
  min-height: 94px;
  padding: 15px 16px 14px;
  cursor: pointer;
  color: inherit;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: auto 1fr;
  column-gap: 10px;
  transition: background .15s ease,box-shadow .15s ease;
}
#view-workflow .workflow-summary-card:last-child {
  border-right: 0;
}
#view-workflow .workflow-summary-card:hover {
  background: #f8fbfa;
}
#view-workflow .workflow-summary-card.active {
  background: #f1f8f6;
  box-shadow: inset 0 -3px 0 #148f82;
}
#view-workflow .workflow-summary-card>span {
  font-size: 10.5px;
  font-weight: 800;
  color: #536f69;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
}
#view-workflow .workflow-summary-card>strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 29px;
  line-height: 1;
  font-weight: 750;
  color: #153f38;
  letter-spacing: -.8px;
}
#view-workflow .workflow-summary-card>p {
  grid-column: 1;
  margin: 7px 0 0;
  font-size: 9.5px;
  line-height: 1.35;
  color: #82928e;
}
#view-workflow .workflow-summary-card::before {
  content: "";
  position: absolute;
  left: 16px;
  bottom: 10px;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: #cbdad6;
  opacity: .8;
}
#view-workflow .workflow-summary-card.review>strong {
  color: #9b6511;
}
#view-workflow .workflow-summary-card.review::before {
  background: #d9a23a;
}
#view-workflow .workflow-summary-card.verified>strong,#view-workflow .workflow-summary-card.approved>strong {
  color: #178274;
}
#view-workflow .workflow-summary-card.verified::before,#view-workflow .workflow-summary-card.approved::before {
  background: #51a99a;
}
#view-workflow .workflow-summary-card.archived>strong {
  color: #647672;
}
#view-workflow .workflow-summary-card.active::before {
  opacity: 0;
}
#view-workflow>.workflow-table-card {
  padding: 17px 18px 18px!important;
  overflow: hidden;
  border-color: var(--rq-border)!important;
  box-shadow: 0 5px 18px rgba(20,72,63,.04)!important;
}
#view-workflow>.workflow-table-card>.workflow-table-head {
  padding: 0!important;
  margin: 0 0 12px!important;
  border: 0!important;
  align-items: center!important;
}
#view-workflow .workflow-title-line {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
#view-workflow .workflow-title-line h2 {
  margin: 0!important;
  font-size: 18px!important;
}
#view-workflow .workflow-table-head p {
  margin: 4px 0 0!important;
  color: var(--rq-muted)!important;
  font-size: 10px!important;
}
#view-workflow .workflow-total-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid #dce9e6;
  border-radius: 999px;
  background: #f7faf9;
  color: #59736d;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
#view-workflow .workflow-toolbar {
  display: grid;
  grid-template-columns: minmax(220px,1fr) minmax(160px,220px);
  gap: 9px;
  padding: 0!important;
  margin: 0 0 8px!important;
  background: transparent!important;
  border: 0!important;
}
#view-workflow .workflow-toolbar input,#view-workflow .workflow-toolbar select {
  width: 100%;
  height: 39px!important;
  padding: 0 12px;
  border: 1px solid #d0dfdc!important;
  border-radius: 8px!important;
  background: #fff;
  color: #244942;
  font-size: 12px;
  outline: 0;
}
#view-workflow .workflow-toolbar input:focus,#view-workflow .workflow-toolbar select:focus {
  border-color: #159788!important;
  box-shadow: 0 0 0 3px rgba(21,151,136,.09)!important;
}
#view-workflow .workflow-results-meta {
  padding: 0 0 10px!important;
  color: #60756f;
  font-size: 10px;
  font-weight: 700;
}
#view-workflow .workflow-table-wrap {
  border: 1px solid #dce8e5;
  border-radius: 9px;
  overflow: auto;
  background: #fff;
}
#view-workflow .workflow-list {
  padding: 0!important;
  min-width: 860px;
}
#view-workflow .workflow-row {
  display: grid!important;
  grid-template-columns: minmax(150px,.9fr) minmax(150px,1fr) minmax(150px,.9fr) minmax(180px,1.1fr) 145px;
  align-items: center;
  gap: 14px;
  margin: 0!important;
  padding: 11px 12px!important;
  border: 0!important;
  border-bottom: 1px solid #e8efed!important;
  border-radius: 0!important;
  background: #fff!important;
}
#view-workflow .workflow-row:last-child {
  border-bottom: 0!important;
}
#view-workflow article.workflow-row:hover {
  background: #f8fbfa!important;
}
#view-workflow .workflow-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 9px 12px!important;
  background: #f3f8f6!important;
  color: #60736e;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
#view-workflow .workflow-code b {
  display: block;
  font-size: 10px;
  font-weight: 800;
  color: #24554d;
}
#view-workflow .workflow-date {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  color: #7b8d89;
}
#view-workflow .workflow-person strong {
  font-size: 11px;
  color: #153f38;
}
#view-workflow .workflow-location b {
  display: block;
  font-size: 10.5px;
  color: #284f48;
}
#view-workflow .workflow-location small {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  color: #748783;
}
#view-workflow .workflow-tech {
  font-size: 10px;
  color: #536f69;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-workflow .workflow-status {
  display: flex;
  justify-content: flex-end;
}
#view-workflow .workflow-status-select {
  width: 138px;
  height: 34px;
  padding: 0 30px 0 10px;
  border: 1px solid #cbded9;
  border-radius: 8px;
  background: #fff;
  font-size: 10px;
  font-weight: 750;
  text-transform: capitalize;
  color: #234e47;
  outline: 0;
}
#view-workflow .workflow-status-select:focus {
  border-color: #159788;
  box-shadow: 0 0 0 3px rgba(21,151,136,.08);
}
#view-workflow .workflow-status-select.status-review {
  background: #fffaf0;
  border-color: #ead9a8;
  color: #8e6319;
}
#view-workflow .workflow-status-select.status-verified,#view-workflow .workflow-status-select.status-approved {
  background: #f3faf7;
  border-color: #cfe6de;
  color: #187564;
}
#view-workflow .workflow-status-select.status-archived {
  background: #f6f7f7;
  color: #647672;
}
#view-workflow .workflow-empty {
  padding: 34px 16px;
  text-align: center;
  color: #71847f;
}
@media (max-width:1350px) {
  #view-workflow #workflow-kpis.workflow-summary-rail {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
  #view-workflow .workflow-summary-card:nth-child(3n) {
    border-right: 0;
  }
  #view-workflow .workflow-summary-card:nth-child(n+4) {
    border-top: 1px solid #e4ecea;
  }
}
@media (max-width:980px) {
  #view-workflow #workflow-kpis.workflow-summary-rail {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-workflow .workflow-summary-card {
    border-right: 1px solid #e4ecea;
    border-top: 0;
  }
  #view-workflow .workflow-summary-card:nth-child(2n) {
    border-right: 0;
  }
  #view-workflow .workflow-summary-card:nth-child(n+3) {
    border-top: 1px solid #e4ecea;
  }
  #view-workflow .workflow-toolbar {
    grid-template-columns: 1fr;
  }
}
@media (max-width:620px) {
  #view-workflow #workflow-kpis.workflow-summary-rail {
    grid-template-columns: 1fr!important;
  }
  #view-workflow .workflow-summary-card {
    min-height: 76px;
    border-right: 0!important;
    border-top: 1px solid #e4ecea!important;
    padding: 12px 14px;
  }
  #view-workflow .workflow-summary-card:first-child {
    border-top: 0!important;
  }
  #view-workflow .workflow-summary-card>strong {
    font-size: 25px;
  }
  #view-workflow .workflow-summary-card::before {
    display: none;
  }
  #view-workflow>.workflow-table-card {
    padding: 14px!important;
  }
}
/* 2026-08-09 — Farmer Profiles professional directory/table redesign */
#view-farmers.farmer-profiles-view {
  display: none;
  flex-direction: column;
  gap: 14px;
}
#view-farmers.farmer-profiles-view.active {
  display: flex;
}
#view-farmers .farmer-summary-rail {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  min-width: 0;
  border: 1px solid #d9e6e3;
  border-radius: 13px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 5px 16px rgba(25,65,57,.035);
}
#view-farmers .farmer-summary-rail>div {
  min-height: 76px;
  padding: 13px 16px;
  border-right: 1px solid #e4ecea;
  background: #fff;
}
#view-farmers .farmer-summary-rail>div:last-child {
  border-right: 0;
}
#view-farmers .farmer-summary-rail span,#view-farmers .farmer-summary-rail strong,#view-farmers .farmer-summary-rail small {
  display: block;
}
#view-farmers .farmer-summary-rail span {
  color: #617a74;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}
#view-farmers .farmer-summary-rail strong {
  margin-top: 4px;
  color: #123f38;
  font-size: 22px;
  line-height: 1.05;
}
#view-farmers .farmer-summary-rail small {
  margin-top: 4px;
  color: #83948f;
  font-size: 8px;
}
#view-farmers .farmer-directory-card {
  padding: 0;
  overflow: hidden;
}
#view-farmers .farmer-directory-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px 13px;
  border-bottom: 1px solid #e5eeec;
  background: #fff;
}
#view-farmers .farmer-title-line {
  display: flex;
  align-items: center;
  gap: 9px;
}
#view-farmers .farmer-title-line h2 {
  margin: 0;
  font-size: 17px;
}
#view-farmers .farmer-total-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid #d6e5e1;
  border-radius: 999px;
  background: #f5faf8;
  color: #4f6c65;
  font-size: 8px;
  font-weight: 900;
}
#view-farmers .farmer-directory-head p {
  margin: 4px 0 0;
  color: #728680;
  font-size: 9px;
  line-height: 1.45;
}
#view-farmers .farmer-toolbar {
  display: grid;
  grid-template-columns: minmax(300px,1fr) 190px 190px;
  gap: 9px;
  padding: 12px 18px;
  background: #f8fbfa;
  border-bottom: 1px solid #e6eeec;
}
#view-farmers .farmer-toolbar input,#view-farmers .farmer-toolbar select {
  width: 100%;
  height: 38px;
  padding: 0 11px;
  border: 1px solid #cadcd8;
  border-radius: 9px;
  background: #fff;
  color: #173f39;
  font-size: 10px;
  font-weight: 700;
  outline: none;
}
#view-farmers .farmer-toolbar input:focus,#view-farmers .farmer-toolbar select:focus {
  border-color: #159487;
  box-shadow: 0 0 0 2px rgba(21,148,135,.10);
}
#view-farmers .farmer-results-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 18px;
  color: #6b817b;
  font-size: 8px;
  background: #fff;
}
#view-farmers .farmer-results-meta b {
  color: #123f38;
}
#view-farmers .farmer-results-meta small {
  color: #8b9a96;
}
#view-farmers .farmer-table-head,#view-farmers .farmer-row-main {
  display: grid;
  grid-template-columns: minmax(210px,1.45fr) minmax(170px,1fr) 90px 130px 125px 120px 100px;
  align-items: center;
  column-gap: 12px;
}
#view-farmers .farmer-table-head {
  padding: 9px 18px;
  border-top: 1px solid #e5eeec;
  border-bottom: 1px solid #dce8e5;
  background: #f2f7f5;
  color: #70867f;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
#view-farmers .farmer-profile-list {
  display: block;
  max-height: calc(100vh - 360px);
  min-height: 240px;
  overflow: auto;
  background: #fff;
}
#view-farmers .farmer-profile-row {
  border-bottom: 1px solid #e5ecea;
  background: #fff;
}
#view-farmers .farmer-profile-row:last-child {
  border-bottom: 0;
}
#view-farmers .farmer-row-main {
  min-height: 63px;
  padding: 9px 18px;
  transition: background .15s;
}
#view-farmers .farmer-profile-row:hover>.farmer-row-main {
  background: #fbfdfc;
}
#view-farmers .farmer-cell {
  min-width: 0;
  color: #274c45;
  font-size: 9px;
}
#view-farmers .farmer-cell>strong,#view-farmers .farmer-cell>small {
  display: block;
}
#view-farmers .farmer-cell>strong {
  color: #173f39;
  font-size: 10px;
}
#view-farmers .farmer-cell>small {
  margin-top: 2px;
  color: #879893;
  font-size: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-farmers .farmer-person {
  display: flex;
  align-items: center;
  gap: 10px;
}
#view-farmers .farmer-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 9px;
  background: #e5f3ef;
  color: #08796d;
  font-size: 12px;
  font-weight: 900;
}
#view-farmers .farmer-person>div {
  min-width: 0;
}
#view-farmers .farmer-person strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-farmers .farmer-place strong {
  text-transform: none;
}
#view-farmers .farmer-status-pill,#view-farmers .farmer-fertility-pill,#view-farmers .farmer-trend-pill {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 7.5px;
  font-weight: 900;
  white-space: nowrap;
}
#view-farmers .gps-complete {
  background: #dcf5ea;
  color: #08735d;
}
#view-farmers .gps-partial {
  background: #fff1ca;
  color: #906000;
}
#view-farmers .gps-missing {
  background: #f2f4f3;
  color: #687c77;
}
#view-farmers .farmer-fertility-pill.high {
  background: #dcf5ea;
  color: #08735d;
}
#view-farmers .farmer-fertility-pill.moderate {
  background: #fff2c8;
  color: #946100;
}
#view-farmers .farmer-fertility-pill.low {
  background: #ffe0e0;
  color: #b4232d;
}
#view-farmers .farmer-trend-pill.up {
  background: #e4f5ef;
  color: #087760;
}
#view-farmers .farmer-trend-pill.down {
  background: #ffe4e5;
  color: #b52e3a;
}
#view-farmers .farmer-trend-pill.neutral {
  background: #eef3f2;
  color: #647a74;
}
#view-farmers .farmer-history-toggle {
  padding: 6px 9px;
  border: 1px solid #cbded9;
  border-radius: 8px;
  background: #fff;
  color: #176b60;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
#view-farmers .farmer-history-toggle:hover {
  background: #f0f8f6;
  border-color: #a9cec6;
}
#view-farmers .farmer-profile-row.history-open>.farmer-row-main {
  background: #f8fbfa;
}
#view-farmers .farmer-history-panel {
  padding: 0 18px 14px;
  background: #f8fbfa;
  border-top: 1px solid #e5eeec;
}
#view-farmers .farmer-history-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 8px;
  color: #31574f;
  font-size: 9px;
}
#view-farmers .farmer-history-heading span {
  color: #82958f;
  font-size: 8px;
}
#view-farmers .farmer-history-table {
  overflow: hidden;
  border: 1px solid #dce8e5;
  border-radius: 9px;
  background: #fff;
}
#view-farmers .farmer-history-row {
  display: grid;
  grid-template-columns: 90px 1fr 130px 2fr 55px;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid #e7eeec;
  color: #5e756f;
  font-size: 8px;
}
#view-farmers .farmer-history-row:last-child {
  border-bottom: 0;
}
#view-farmers .farmer-history-row em {
  justify-self: end;
  padding: 3px 6px;
  border-radius: 999px;
  background: #e0f3ee;
  color: #08796d;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
#view-farmers .history-score {
  display: inline-flex;
  min-width: 24px;
  justify-content: center;
  padding: 2px 5px;
  border-radius: 999px;
}
.history-score.high {
  background: #dcf5ea;
  color: #08735d;
}
.history-score.moderate {
  background: #fff2c8;
  color: #946100;
}
.history-score.low {
  background: #ffe0e0;
  color: #b4232d;
}
@media (max-width:1200px) {
  #view-farmers .farmer-table-head,#view-farmers .farmer-row-main {
    grid-template-columns: minmax(180px,1.3fr) minmax(150px,1fr) 75px 110px 110px 105px 90px;
  }
  #view-farmers .farmer-toolbar {
    grid-template-columns: 1fr 170px 170px;
  }
}
@media (max-width:900px) {
  #view-farmers .farmer-summary-rail {
    grid-template-columns: repeat(2,1fr);
  }
  #view-farmers .farmer-summary-rail>div:nth-child(2) {
    border-right: 0;
  }
  #view-farmers .farmer-summary-rail>div:nth-child(-n+2) {
    border-bottom: 1px solid #e4ecea;
  }
  #view-farmers .farmer-toolbar {
    grid-template-columns: 1fr 1fr;
  }
  #view-farmers .farmer-search-box {
    grid-column: 1/-1;
  }
  #view-farmers .farmer-table-head {
    display: none;
  }
  #view-farmers .farmer-profile-list {
    max-height: none;
    overflow: visible;
    padding: 8px 12px 14px;
    background: #f8fbfa;
  }
  #view-farmers .farmer-profile-row {
    margin-bottom: 9px;
    border: 1px solid #dce8e5;
    border-radius: 11px;
    overflow: hidden;
  }
  #view-farmers .farmer-row-main {
    grid-template-columns: 1.4fr 1fr 100px;
    row-gap: 10px;
    padding: 12px;
  }
  #view-farmers .farmer-row-main>.farmer-cell:nth-child(3),#view-farmers .farmer-row-main>.farmer-cell:nth-child(4),#view-farmers .farmer-row-main>.farmer-cell:nth-child(5),#view-farmers .farmer-row-main>.farmer-cell:nth-child(6) {
    padding-top: 8px;
    border-top: 1px solid #edf2f1;
  }
  #view-farmers .farmer-history-cell {
    justify-self: end;
  }
  #view-farmers .farmer-history-row {
    grid-template-columns: 80px 1fr 110px 1.5fr 45px;
  }
}
@media (max-width:600px) {
  #view-farmers .farmer-directory-head {
    padding: 14px;
  }
  #view-farmers .farmer-toolbar {
    grid-template-columns: 1fr;
    padding: 10px 14px;
  }
  #view-farmers .farmer-search-box {
    grid-column: auto;
  }
  #view-farmers .farmer-results-meta {
    align-items: flex-start;
    flex-direction: column;
    padding: 8px 14px;
  }
  #view-farmers .farmer-row-main {
    grid-template-columns: 1fr 1fr;
  }
  #view-farmers .farmer-person {
    grid-column: 1/-1;
  }
  #view-farmers .farmer-history-cell {
    justify-self: stretch;
  }
  #view-farmers .farmer-history-toggle {
    width: 100%;
  }
  #view-farmers .farmer-history-panel {
    padding: 0 10px 10px;
  }
  #view-farmers .farmer-history-table {
    overflow-x: auto;
  }
  #view-farmers .farmer-history-row {
    min-width: 620px;
  }
}
/* Assessment Records — compact professional layout aligned with Data Quality */
#view-records .records-workspace {
  overflow: hidden;
}
#view-records .records-table-head {
  padding: 20px 22px 14px;
  align-items: flex-start;
  border-bottom: 0;
}
#view-records .records-table-head h2 {
  margin: 3px 0 4px;
}
#view-records .records-table-head p {
  margin: 0;
}
#view-records #records-filter-toggle {
  display: none!important;
}
#view-records .table-command-bar {
  margin-left: auto;
}
#view-records #records-export-format {
  height: 40px;
  min-width: 112px;
  border: 1px solid #cadeda;
  border-radius: 10px;
  background: #fff;
  padding: 0 34px 0 12px;
  font-weight: 750;
  color: #244942;
}
#view-records .filter-chip-row {
  min-height: 0;
  margin: 0;
  padding: 0 22px;
}
#view-records .filter-chip-row:empty {
  display: none;
}
#view-records .advanced-filter-panel {
  margin: 0;
  padding: 12px 22px 10px;
  background: #f8fbfa;
  border-top: 1px solid #e5efec;
  border-bottom: 1px solid #e1ece9;
}
#view-records .record-filter-grid {
  display: grid!important;
  grid-template-columns: 1.7fr 1fr 1fr 1fr;
  gap: 8px!important;
}
#view-records .record-filter-grid input,#view-records .record-filter-grid select,#view-records .record-filter-grid button {
  height: 40px;
  min-height: 40px;
  border-radius: 9px;
}
#view-records #record-search {
  grid-column: span 2;
}
#view-records #record-crop {
  grid-column: auto;
}
#view-records #clear-record-filters {
  background: #fff;
}
#view-records .filter-summary {
  margin: 9px 0 0;
  padding-top: 9px;
  border-top: 1px solid #e3ece9;
  font-size: 11px;
  align-items: center;
}
#view-records .table-wrap {
  margin: 14px 22px 20px;
  border: 1px solid #d7e5e1;
  border-radius: 12px;
  overflow: auto;
  background: #fff;
}
#view-records .table-wrap table {
  margin: 0;
}
#view-records .table-wrap th {
  height: 38px;
  padding: 9px 10px;
  background: #f3f8f6;
  font-size: 10px;
  letter-spacing: .06em;
}
#view-records .table-wrap td {
  padding: 10px;
  font-size: 12px;
}
#view-records .table-wrap tbody tr:hover {
  background: #f8fbfa;
}
@media (max-width:1200px) {
  #view-records .record-filter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-records #record-search {
    grid-column: span 2;
  }
}
@media (max-width:700px) {
  #view-records .records-table-head {
    padding: 16px;
  }
  #view-records .advanced-filter-panel {
    padding: 10px 16px;
  }
  #view-records .record-filter-grid {
    grid-template-columns: 1fr!important;
  }
  #view-records #record-search {
    grid-column: auto;
  }
  #view-records .table-wrap {
    margin: 12px 16px 16px;
  }
}
/* 2026-08-09 — Assessment Records compact vertical spacing */
@media (min-width:1181px) {
  #view-records .records-table-head {
    padding: 12px 20px 4px!important;
    min-height: 40px!important;
  }
  #view-records .records-table-head>div:first-child:empty {
    display: none!important;
  }
  #view-records .records-table-head {
    justify-content: flex-end!important;
  }
  #view-records .filter-chip-row:has(.filter-chip-empty) {
    display: none!important;
    margin: 0!important;
    padding: 0!important;
    min-height: 0!important;
  }
  #view-records .advanced-filter-panel {
    margin: 4px 20px 12px!important;
    padding: 12px!important;
  }
  #view-records .filter-summary {
    margin-top: 10px!important;
    padding-top: 8px!important;
  }
  #view-records .table-wrap {
    margin-top: 0!important;
  }
}
/* 2026-08-09 — Overview professional compact refinement */
#view-overview .overview-metrics {
  gap: 10px;
  margin-bottom: 10px;
}
#view-overview .overview-metrics article {
  min-height: 64px!important;
  padding: 10px 14px!important;
}
#view-overview .overview-metrics strong {
  margin-top: 4px;
  font-size: 25px;
}
#view-overview .overview-metrics article small {
  display: inline;
  margin-left: 3px;
  font-size: 9px;
  color: #71847f;
  font-weight: 700;
}
#view-overview .overview-combined-grid {
  grid-template-columns: minmax(0,1.62fr) minmax(390px,.92fr);
}
#view-overview .overview-map-panel {
  padding: 14px;
  gap: 8px;
}
#view-overview .overview-map-panel #mini-map {
  min-height: 410px;
}
#view-overview .overview-legend {
  gap: 15px;
  font-size: 10.5px;
  font-weight: 600;
}
#view-overview .overview-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
#view-overview .overview-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: 0 0 8px;
}
#view-overview .summary-table td {
  height: 48px;
  padding: 7px 11px;
}
#view-overview .summary-table th {
  padding: 7px 11px;
}
#view-overview .summary-footer {
  min-height: 30px;
  padding: 7px 14px;
  font-size: 9px;
  font-weight: 600;
  color: #657a74;
}
@media (max-width:1180px) {
  #view-overview .overview-combined-grid {
    grid-template-columns: 1fr;
  }
}
/* 2026-08-09 — Municipal Fertility Map professional refinement */
#view-mapping .gis-filter-shell {
  width: min(340px,calc(100% - 24px))!important;
}
#view-mapping .gis-filter-panel {
  padding: 8px!important;
  border-radius: 12px!important;
  box-shadow: 0 7px 18px rgba(20,64,57,.08)!important;
}
#view-mapping .gis-filter-header {
  margin-bottom: 4px!important;
}
#view-mapping .gis-filter-fields {
  gap: 6px!important;
}
#view-mapping .gis-filter-fields select {
  height: 34px!important;
  line-height: 34px!important;
  font-size: 10px!important;
}
#view-mapping .gis-filter-layers {
  margin-top: 4px!important;
  padding: 4px 8px 0!important;
  gap: 15px!important;
}
#view-mapping .gis-filter-layers label {
  font-size: 8.5px!important;
}
#view-mapping .admin-map-viewport-tools {
  top: 160px!important;
}
#view-mapping .admin-sample-point {
  stroke-width: 1.7!important;
  filter: drop-shadow(0 1px 2px rgba(8,55,48,.2))!important;
}
#view-mapping .admin-sample-point:hover,#view-mapping .admin-sample-point:focus-visible {
  r: 6.2!important;
  filter: drop-shadow(0 2px 4px rgba(8,55,48,.3))!important;
}
#view-mapping .admin-label-layer {
  pointer-events: none;
}
#view-mapping .admin-brgy-label {
  font-size: 14px;
  font-weight: 850;
  fill: #143f39;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 3.6px;
  stroke-linejoin: round;
  pointer-events: none;
}
#view-mapping .admin-brgy-label.muted {
  opacity: .42;
}
#view-mapping .admin-map-floating-legend {
  max-width: 235px!important;
  padding: 9px 11px!important;
}
#view-mapping .admin-map-floating-legend strong {
  font-size: 10.5px!important;
  margin-bottom: 6px!important;
}
#view-mapping .admin-map-floating-legend .admin-legend-list {
  display: grid;
  gap: 4px;
}
#view-mapping .admin-map-floating-legend .admin-legend-row {
  display: grid!important;
  grid-template-columns: 24px 1fr auto;
  gap: 7px;
  margin: 0!important;
  font-size: 8.5px!important;
}
#view-mapping .admin-map-floating-legend .admin-legend-row i {
  width: 24px!important;
  height: 6px!important;
  margin: 0!important;
}
#view-mapping .admin-map-floating-legend .admin-legend-row b {
  font-size: 8.5px;
}
#view-mapping .admin-map-floating-legend .admin-legend-row em {
  font-style: normal;
  color: #486761;
  font-weight: 800;
  white-space: nowrap;
}
#view-mapping .admin-map-floating-legend small {
  display: none!important;
}
#view-mapping .gis-coordinate-readout {
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .15s ease,transform .15s ease;
}
#view-mapping .gis-coordinate-readout.is-visible {
  opacity: 1;
  transform: translateY(0);
}
#view-mapping .admin-map-gesture-hint {
  font-size: 8px!important;
  padding: 5px 8px!important;
  opacity: .58;
  box-shadow: none!important;
  background: rgba(255,255,255,.78)!important;
}
#view-mapping .admin-map-sidebar {
  gap: 8px!important;
}
#view-mapping .admin-map-sidebar>section {
  padding: 12px!important;
  border-radius: 12px!important;
  box-shadow: none!important;
}
#view-mapping .admin-summary-heading {
  margin-bottom: 8px!important;
}
#view-mapping .admin-heatmap-statistics {
  gap: 6px!important;
}
#view-mapping .admin-heatmap-statistics article {
  min-height: 72px!important;
  padding: 9px!important;
  border-radius: 9px!important;
}
#view-mapping .admin-heatmap-statistics article strong {
  margin: 5px 0 2px!important;
  font-size: 17px!important;
  line-height: 1.08!important;
  overflow: visible!important;
  text-overflow: clip!important;
  white-space: normal!important;
  word-break: normal!important;
  overflow-wrap: break-word!important;
}
#view-mapping .admin-heatmap-statistics article:nth-child(n+4) strong {
  font-size: 14px!important;
}
#view-mapping .admin-heatmap-statistics article span,#view-mapping .admin-heatmap-statistics article small {
  font-size: 7.5px!important;
}
#view-mapping .map-detail-panel>p.map-detail-empty {
  display: grid;
  place-items: center;
  min-height: 86px;
  padding: 10px!important;
  background: transparent!important;
  border: 1px dashed #dbe7e4;
  border-radius: 9px;
  color: #71847f;
  text-align: center;
  line-height: 1.5;
}
#view-mapping .map-detail-panel>div {
  padding: 7px 0!important;
}
#view-mapping .map-detail-panel span {
  font-size: 8px!important;
}
#view-mapping .map-detail-panel strong {
  font-size: 10px!important;
  max-width: 60%;
  line-height: 1.3;
}
@media (max-width:700px) {
  #view-mapping .gis-filter-shell {
    width: min(320px,calc(100% - 20px))!important;
  }
  #view-mapping .admin-map-viewport-tools {
    top: 154px!important;
  }
  #view-mapping .admin-brgy-label {
    font-size: 11px;
  }
}
/* 2026-08-09 — Professional Analytics dashboard refinement */
#view-analytics.analytics-page {
  gap: 14px!important;
}
#view-analytics .analytics-summary {
  gap: 0!important;
  border: 1px solid #dce8e5;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 7px 22px rgba(31,71,63,.045);
}
#view-analytics .analytics-summary>div {
  min-height: 86px!important;
  padding: 14px 18px!important;
  border: 0!important;
  border-right: 1px solid #e4eeeb!important;
  border-radius: 0!important;
  background: #fff!important;
}
#view-analytics .analytics-summary>div:last-child {
  border-right: 0!important;
}
#view-analytics .analytics-kpi span {
  font-size: 8px!important;
  letter-spacing: .08em;
  color: #718680!important;
}
#view-analytics .analytics-kpi strong {
  font-size: 25px!important;
  line-height: 1!important;
  margin-top: 5px!important;
  color: #103f38!important;
}
#view-analytics .analytics-kpi strong em {
  font-style: normal;
  font-size: 13px;
  font-weight: 800;
  color: #6b817b;
  margin-left: 3px;
}
#view-analytics .analytics-kpi small {
  display: block;
  margin-top: 6px;
  color: #7a8c88;
  font-size: 9px;
  line-height: 1.35;
}
#view-analytics .analytics-grid-refined {
  column-gap: 14px!important;
  row-gap: 14px!important;
}
#view-analytics .analytics-grid-refined>.data-card {
  padding: 15px!important;
  border-radius: 14px!important;
  box-shadow: 0 7px 22px rgba(31,71,63,.045)!important;
}
#view-analytics .card-head {
  margin: 0 0 12px!important;
  align-items: flex-start!important;
}
#view-analytics .card-head h2 {
  font-size: 16px!important;
  letter-spacing: -.02em!important;
}
#view-analytics .card-head p {
  display: block!important;
  margin: 3px 0 0!important;
  color: #748883!important;
  font-size: 9px!important;
  line-height: 1.4!important;
}
#view-analytics .analytics-card {
  min-height: 176px!important;
}
#view-analytics .analytics-bars {
  gap: 13px!important;
}
#view-analytics .analytics-bars header {
  align-items: baseline;
}
#view-analytics .analytics-bars header span {
  font-size: 10px;
  font-weight: 800;
  color: #284f48;
}
#view-analytics .analytics-bars header b {
  font-size: 10px;
  color: #153f38;
  white-space: nowrap;
}
#view-analytics .analytics-bars header b small {
  font-size: 8px;
  font-weight: 700;
  color: #7a8e89;
}
#view-analytics .bar-track {
  height: 6px!important;
  margin-top: 5px!important;
  background: #eaf1ef!important;
}
#view-analytics .bar-track i {
  background: linear-gradient(90deg,#0e9584,#39c8aa)!important;
}
#view-analytics .fertility-analytics-layout {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  align-items: center;
  gap: 18px;
}
#view-analytics .fertility-donut {
  --low: 0;
  --moderate: 0;
  --high: 0;
  width: 116px;
  aspect-ratio: 1;
  margin: auto;
  border-radius: 50%;
  position: relative;
  background: conic-gradient(#ef5b62 0 calc(var(--low)*1%),#f5bd3f calc(var(--low)*1%) calc((var(--low) + var(--moderate))*1%),#1aa36f calc((var(--low) + var(--moderate))*1%) 100%);
  box-shadow: inset 0 0 0 1px rgba(15,80,69,.05);
}
#view-analytics .fertility-donut:after {
  content: "";
  position: absolute;
  inset: 25px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px #edf2f0;
}
#view-analytics .fertility-donut>div {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#view-analytics .fertility-donut strong {
  font-size: 24px;
  line-height: 1;
  color: #153f38;
}
#view-analytics .fertility-donut span {
  margin-top: 3px;
  color: #7a8e89;
  font-size: 9px;
  font-weight: 700;
}
#view-analytics .analytics-fertility-card .analytics-bars>div:nth-child(1) .bar-track i {
  background: #ef5b62!important;
}
#view-analytics .analytics-fertility-card .analytics-bars>div:nth-child(2) .bar-track i {
  background: #f5bd3f!important;
}
#view-analytics .analytics-fertility-card .analytics-bars>div:nth-child(3) .bar-track i {
  background: #1aa36f!important;
}
#view-analytics .ranking-card {
  padding-bottom: 15px!important;
}
#view-analytics .ranking-list-refined {
  gap: 6px!important;
}
#view-analytics .ranking-list-refined>div {
  min-height: 48px!important;
  padding: 7px 10px!important;
  border-radius: 9px!important;
  background: #fbfdfc!important;
}
#view-analytics .rank-number {
  width: 26px!important;
  height: 26px!important;
  border-radius: 8px!important;
  font-size: 10px!important;
}
#view-analytics .ranking-name b {
  font-size: 11px!important;
}
#view-analytics .ranking-name small {
  margin-top: 2px!important;
  font-size: 8.5px!important;
}
#view-analytics .ranking-list-refined>div>strong {
  font-size: 15px!important;
}
#view-analytics .ranking-level {
  padding: 3px 7px!important;
  font-size: 7.5px!important;
}
#view-analytics .card-caption {
  padding: 5px 8px!important;
  font-size: 7px!important;
}
@media (max-width:1100px) {
  #view-analytics .fertility-analytics-layout {
    grid-template-columns: 120px minmax(0,1fr);
    gap: 12px;
  }
  #view-analytics .fertility-donut {
    width: 100px;
  }
}
@media (max-width:760px) {
  #view-analytics .analytics-summary {
    grid-template-columns: 1fr!important;
  }
  #view-analytics .analytics-summary>div {
    border-right: 0!important;
    border-bottom: 1px solid #e4eeeb!important;
  }
  #view-analytics .analytics-summary>div:last-child {
    border-bottom: 0!important;
  }
  #view-analytics .fertility-analytics-layout {
    grid-template-columns: 1fr;
  }
  .fertility-donut {
    margin-bottom: 4px!important;
  }
}
/* 2026-08-09 — Analytics balance + density refinement */
#view-analytics .analytics-summary>div {
  min-height: 74px!important;
  padding: 11px 16px!important;
}
#view-analytics .analytics-kpi strong {
  font-size: 23px!important;
  margin-top: 4px!important;
}
#view-analytics .analytics-kpi small {
  margin-top: 4px!important;
}
#view-analytics .analytics-grid-refined {
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr)!important;
  align-items: start!important;
}
#view-analytics .analytics-fertility-card {
  min-height: 164px!important;
}
#view-analytics .fertility-analytics-layout {
  grid-template-columns: 126px minmax(0,1fr)!important;
  gap: 14px!important;
}
#view-analytics .fertility-donut {
  width: 96px!important;
}
#view-analytics .fertility-donut:after {
  inset: 21px!important;
}
#view-analytics .fertility-donut strong {
  font-size: 21px!important;
}
#view-analytics .ranking-list-refined>div {
  min-height: 43px!important;
  padding: 6px 9px!important;
  transition: background .16s ease,border-color .16s ease,transform .16s ease;
}
#view-analytics .ranking-list-refined>div:hover {
  background: #f5faf8!important;
  border-color: #cfe2dd!important;
  transform: translateY(-1px);
}
#view-analytics .ranking-list-refined>div>strong {
  min-width: 42px!important;
  font-variant-numeric: tabular-nums;
}
#view-analytics .rank-number {
  width: 24px!important;
  height: 24px!important;
}
#view-analytics .ranking-name small {
  color: #718680!important;
}
#view-analytics .analytics-crops-card {
  grid-column: 1!important;
  min-height: 0!important;
}
#view-analytics .analytics-workload-card {
  grid-column: 2!important;
  min-height: 0!important;
  align-self: start!important;
}
#view-analytics .analytics-crops-card .analytics-bars {
  gap: 10px!important;
}
#view-analytics .analytics-workload-card .analytics-bars {
  gap: 12px!important;
}
#view-analytics .analytics-crops-card .bar-track,#view-analytics .analytics-workload-card .bar-track {
  height: 5px!important;
}
#view-analytics .analytics-quality-mini {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e7efed;
}
#view-analytics .analytics-quality-mini>div {
  padding: 9px 10px;
  border: 1px solid #e0ebe8;
  border-radius: 9px;
  background: #f8fbfa;
}
#view-analytics .analytics-quality-mini span,#view-analytics .analytics-quality-mini strong {
  display: block;
}
#view-analytics .analytics-quality-mini span {
  font-size: 7.5px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #748883;
}
#view-analytics .analytics-quality-mini strong {
  margin-top: 4px;
  font-size: 15px;
  color: #163f38;
  font-variant-numeric: tabular-nums;
}
#view-analytics .analytics-quality-mini em {
  font-size: 9px;
  font-style: normal;
  color: #7a8c88;
}
#view-analytics .analytics-crops-card .analytics-bars header span {
  text-transform: none!important;
}
@media (max-width:1000px) {
  #view-analytics .analytics-grid-refined {
    grid-template-columns: 1fr!important;
  }
  #view-analytics .analytics-grid-refined>.span-two,#view-analytics .analytics-crops-card,#view-analytics .analytics-workload-card {
    grid-column: auto!important;
  }
  #view-analytics .analytics-workload-card {
    width: 100%!important;
  }
}
@media (max-width:760px) {
  #view-analytics .analytics-summary>div {
    min-height: 68px!important;
    padding: 10px 13px!important;
  }
  #view-analytics .analytics-quality-mini {
    grid-template-columns: 1fr 1fr;
  }
}
/* Trends & Comparison professional refinement — 2026-08-09 */
#view-trends .trend-workspace {
  padding: 16px 18px 14px;
}
#view-trends .trend-toolbar {
  align-items: end;
  gap: 18px;
}
#view-trends .trend-toolbar .card-head {
  min-width: 205px;
}
#view-trends .trend-filter-row {
  grid-template-columns: 135px minmax(260px,1fr) 165px;
  gap: 8px;
}
#view-trends .trend-filter-row select {
  min-height: 38px;
}
#view-trends .trend-chart-summary {
  gap: 1px;
  margin: 12px 0 2px;
  border: 1px solid #e1ebe8;
  border-radius: 10px;
  overflow: hidden;
  background: #e7efed;
}
#view-trends .trend-chart-summary>div {
  border: 0;
  border-radius: 0;
  background: #fbfdfc;
  padding: 8px 11px;
  min-height: 50px;
}
#view-trends .trend-chart-summary strong {
  font-size: 12px;
}
#view-trends .refined-chart-host {
  min-height: 292px;
  margin-top: 6px;
  padding-top: 6px;
}
#view-trends .refined-trend-svg .value-label {
  font-size: 9px;
}
#view-trends .refined-trend-svg .axis-label,#view-trends .refined-trend-svg .date-label {
  font-size: 9px;
}
#view-trends .refined-trend-svg .threshold-line line {
  stroke: #c9d9d5;
  stroke-width: 1;
  stroke-dasharray: 5 5;
}
#view-trends .refined-trend-svg .threshold-line text {
  fill: #82948f;
  font-size: 8px;
  font-weight: 700;
}
#view-trends .comparison-layout {
  grid-template-columns: 1.25fr .85fr;
  gap: 12px;
  margin-top: 12px;
}
#view-trends .comparison-card,#view-trends .screening-card {
  min-height: 0;
  padding: 16px 18px;
}
#view-trends .comparison-card .card-head,#view-trends .screening-card .card-head {
  margin-bottom: 12px;
}
#view-trends .comparison-card .empty-state,#view-trends .screening-card .empty-state {
  min-height: 118px;
  padding: 16px;
  border: 0;
  background: #f7faf9;
}
#view-trends .comparison-card .empty-state>span,#view-trends .screening-card .empty-state>span {
  display: none;
}
#view-trends .stack-label select {
  min-height: 39px;
}
#view-trends .comparison-head-refined {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin-top: 10px;
  border: 1px solid #e2ece9;
  border-radius: 10px;
  background: #f8fbfa;
}
#view-trends .comparison-head-refined>div {
  display: grid;
  gap: 2px;
}
#view-trends .comparison-head-refined>div:last-child {
  text-align: right;
}
#view-trends .comparison-head-refined span {
  font-size: 8px;
  color: #718680;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .05em;
}
#view-trends .comparison-head-refined b {
  font-size: 12px;
  color: #173f39;
}
#view-trends .comparison-head-refined small {
  font-size: 8px;
  color: #82938f;
}
#view-trends .comparison-head-refined>strong {
  color: #86a099;
  font-size: 16px;
}
#view-trends .delta-grid {
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 6px;
  margin-top: 8px;
}
#view-trends .delta-grid>div {
  padding: 8px 9px;
  border: 1px solid #e4ecea;
  border-radius: 9px;
  background: #fff;
}
#view-trends .delta-grid span {
  font-size: 7.5px;
}
#view-trends .delta-grid b {
  font-size: 10px;
  white-space: nowrap;
}
#view-trends .delta-grid b em {
  font-style: normal;
  color: #8ba09a;
  font-weight: 600;
}
#view-trends .delta-grid small {
  margin-top: 3px;
  font-size: 8px;
  font-weight: 800;
}
#view-trends .delta-item.up small {
  color: #08775d;
}
#view-trends .delta-item.down small {
  color: #be3441;
}
#view-trends .delta-item.flat small {
  color: #718680;
}
#view-trends .shi-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding: 10px 12px;
}
#view-trends .shi-total span {
  font-size: 8px;
  text-transform: uppercase;
  font-weight: 800;
  color: #718680;
}
#view-trends .shi-total strong {
  margin-left: auto;
  font-size: 22px;
}
#view-trends .shi-total small {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef5f3;
  font-size: 8px;
  font-weight: 800;
}
#view-trends .component-list {
  gap: 8px;
  margin-top: 10px;
}
#view-trends .component-list header {
  font-size: 9px;
}
#view-trends .component-list .bar-track {
  height: 6px;
  margin-top: 4px;
}
#view-trends .method-note {
  margin: 10px 0 0;
  font-size: 8px;
  line-height: 1.45;
  color: #7b8d88;
}
@media (max-width:1100px) {
  #view-trends .trend-filter-row {
    grid-template-columns: 140px minmax(220px,1fr) 170px;
  }
  #view-trends .delta-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width:760px) {
  #view-trends .trend-filter-row {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-layout {
    grid-template-columns: 1fr;
  }
  #view-trends .delta-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-trends .comparison-head-refined {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-head-refined>div:last-child {
    text-align: left;
  }
  #view-trends .comparison-head-refined>strong {
    transform: rotate(90deg);
    justify-self: start;
  }
}
/* Fertility score breakdown — use the same rule as the stored assessment score. */
#view-trends .fertility-rule-list {
  display: grid;
  gap: 0;
  margin-top: 10px;
  border: 1px solid #dfeae7;
  border-radius: 11px;
  overflow: hidden;
  background: #fff;
}
#view-trends .fertility-rule-row {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(105px,.8fr) minmax(115px,.8fr);
  align-items: center;
  gap: 10px;
  padding: 9px 11px;
  border-bottom: 1px solid #e8efed;
}
#view-trends .fertility-rule-row:last-child {
  border-bottom: 0;
}
#view-trends .fertility-rule-row>div:first-child span,#view-trends .rule-effect small {
  display: block;
  color: #748984;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
}
#view-trends .fertility-rule-row>div:first-child strong {
  display: block;
  margin-top: 2px;
  color: #173f39;
  font-size: 12px;
}
#view-trends .rule-status {
  justify-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}
#view-trends .rule-status.high {
  background: #dcf8ea;
  color: #08775d;
}
#view-trends .rule-status.moderate {
  background: #fff2c9;
  color: #966300;
}
#view-trends .rule-status.low {
  background: #ffe0e2;
  color: #b82d3b;
}
#view-trends .rule-status.neutral {
  background: #eef3f2;
  color: #687c77;
}
#view-trends .rule-effect {
  text-align: right;
}
#view-trends .rule-effect b {
  display: block;
  margin-top: 2px;
  color: #173f39;
  font-size: 12px;
}
#view-trends .score-formula {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1.15fr;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 11px;
  background: #f3f8f7;
  border: 1px solid #e0ebe8;
}
#view-trends .score-formula>div span {
  display: block;
  color: #748984;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}
#view-trends .score-formula>div b {
  display: block;
  margin-top: 2px;
  color: #173f39;
  font-size: 13px;
}
#view-trends .score-formula .formula-result b {
  font-size: 16px;
  color: #08786d;
}
#view-trends .formula-symbol {
  color: #91a39f;
  font-size: 17px;
  font-weight: 800;
  text-align: center;
}
#view-trends .score-warning {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 9px;
  background: #fff7ed;
  color: #9a5a11;
  font-size: 9px;
  line-height: 1.45;
}
#view-trends .score-level {
  white-space: nowrap;
}
@media (max-width:700px) {
  #view-trends .fertility-rule-row {
    grid-template-columns: 1fr auto;
    gap: 6px 10px;
  }
  #view-trends .rule-effect {
    grid-column: 1/-1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding-top: 4px;
    border-top: 1px dashed #e6eeec;
  }
  #view-trends .score-formula {
    grid-template-columns: 1fr auto 1fr;
    row-gap: 7px;
  }
  #view-trends .score-formula .formula-result {
    grid-column: 1/-1;
    padding-top: 7px;
    border-top: 1px solid #dce8e5;
  }
  #view-trends .score-formula>.formula-symbol:nth-of-type(2) {
    display: none;
  }
}
\n/* Fertility assessment details — measurements only; no misleading equal-point shares. */
#view-trends .measurement-list {
  display: grid;
  margin-top: 10px;
  border: 1px solid #dfeae7;
  border-radius: 11px;
  overflow: hidden;
  background: #fff;
}
#view-trends .measurement-row {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(90px,.55fr) minmax(100px,.55fr);
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #e8efed;
}
#view-trends .measurement-row:last-child {
  border-bottom: 0;
}
#view-trends .measurement-name span {
  display: block;
  color: #173f39;
  font-size: 10px;
  font-weight: 800;
}
#view-trends .measurement-name small {
  display: block;
  margin-top: 2px;
  color: #7a8d88;
  font-size: 7.5px;
  line-height: 1.35;
}
#view-trends .measurement-value {
  color: #173f39;
  font-size: 12px;
  text-align: right;
  white-space: nowrap;
}
#view-trends .measurement-row .rule-status {
  justify-self: end;
}
#view-trends .score-explanation {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #dfeae7;
  border-radius: 10px;
  background: #f7faf9;
  color: #657b75;
}
#view-trends .score-explanation strong {
  display: block;
  margin-bottom: 3px;
  color: #31534b;
  font-size: 9px;
}
#view-trends .score-explanation p {
  margin: 0;
  font-size: 8.5px;
  line-height: 1.5;
}
#view-trends .score-explanation b {
  color: #173f39;
}
@media (max-width:700px) {
  #view-trends .measurement-row {
    grid-template-columns: 1fr auto;
    gap: 5px 10px;
  }
  #view-trends .measurement-row .rule-status {
    grid-column: 2;
    grid-row: 1/3;
    align-self: center;
  }
  #view-trends .measurement-value {
    text-align: left;
    font-size: 11px;
  }
}
/* Municipal Reports — compact professional report-builder workflow */
@media (min-width:1101px) {
  #view-reports .reports-layout {
    grid-template-columns: minmax(0,1.7fr) minmax(310px,.72fr)!important;
    gap: 18px!important;
  }
  #view-reports .report-builder-card {
    padding: 18px 20px!important;
  }
  #view-reports .report-coverage-card {
    padding: 18px!important;
  }
}
#view-reports .report-builder-head {
  margin-bottom: 13px!important;
  padding-bottom: 12px!important;
}
#view-reports .report-builder-head p {
  margin-top: 4px!important;
  max-width: 650px;
}
#view-reports .report-period-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 11px;
}
#view-reports .report-period-head>div {
  display: grid;
  gap: 2px;
}
#view-reports .report-field-title {
  font-size: 12px;
  font-weight: 800;
  color: #173f39;
}
#view-reports .report-period-head small {
  font-size: 9.5px;
  color: #718b85;
}
#view-reports .report-quick-range {
  display: grid;
  grid-template-columns: auto 150px;
  align-items: center;
  gap: 8px;
  color: #173f39;
  font-weight: 800;
}
#view-reports .report-quick-range>span {
  font-size: 10px;
}
#view-reports .report-quick-range select {
  height: 38px;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid #cbded9;
  border-radius: 9px;
  background: #fff;
  color: #123f38;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
}
#view-reports .report-filter-grid {
  gap: 11px!important;
}
#view-reports .report-filter-grid label {
  gap: 5px!important;
}
#view-reports .report-filter-grid label>span:first-child {
  font-size: 11px!important;
}
#view-reports .report-filter-grid label>small {
  display: none!important;
}
#view-reports .report-filter-grid input,#view-reports .report-filter-grid select {
  min-height: 42px!important;
  height: 42px!important;
  padding: 8px 11px!important;
  font-size: 12px!important;
}
#view-reports .report-selection-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #d9e8e4;
  border-radius: 10px;
  background: #f6faf9;
}
#view-reports .report-selection-summary div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
#view-reports .report-selection-summary span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #708781;
  font-weight: 800;
}
#view-reports .report-selection-summary strong {
  font-size: 13px;
  color: #123f38;
}
#view-reports .report-selection-summary p {
  margin: 0;
  font-size: 10px;
  color: #607a74;
}
#view-reports .report-selection-summary i {
  font-style: normal;
  margin: 0 4px;
  color: #9ab0ab;
}
#view-reports .report-action-row {
  margin-top: 12px!important;
  padding-top: 12px!important;
  display: flex!important;
  align-items: center!important;
  justify-content: flex-start!important;
  flex-direction: row!important;
  gap: 12px!important;
}
#view-reports .report-generate-button {
  width: auto!important;
  min-height: 40px!important;
  padding: 9px 15px!important;
  font-size: 11px!important;
}
#view-reports .report-action-note {
  font-size: 9.5px;
  color: #6f8781;
  line-height: 1.35;
}
#view-reports .report-coverage-card .card-head {
  margin-bottom: 10px;
}
#view-reports .report-coverage-card .card-head p {
  margin-top: 4px!important;
}
#view-reports .readiness-list {
  grid-template-columns: repeat(2,minmax(0,1fr))!important;
  gap: 8px!important;
}
#view-reports .readiness-list>div {
  min-height: 68px!important;
  padding: 10px 11px!important;
  border-radius: 10px!important;
  background: #f3f8f6!important;
}
#view-reports .readiness-list span {
  font-size: 9px!important;
}
#view-reports .readiness-list b {
  font-size: 22px!important;
  line-height: 1.1!important;
  margin-top: 3px;
}
#view-reports .report-coverage-summary {
  display: grid;
  gap: 3px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e2ece9;
}
#view-reports .report-coverage-summary strong {
  font-size: 10px;
  color: #173f39;
}
#view-reports .report-coverage-summary span {
  font-size: 9px;
  color: #718b85;
}
#view-reports .method-note {
  display: none!important;
}
@media (max-width:1100px) {
  #view-reports .report-period-head {
    align-items: stretch;
  }
  #view-reports .report-coverage-card {
    position: static!important;
  }
}
@media (max-width:700px) {
  #view-reports .report-period-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #view-reports .report-quick-range {
    grid-template-columns: 1fr!important;
    gap: 4px;
  }
  #view-reports .report-quick-range select {
    width: 100%;
  }
  #view-reports .report-selection-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  #view-reports .report-action-row {
    align-items: stretch!important;
    flex-direction: column!important;
  }
  #view-reports .report-generate-button {
    width: 100%!important;
  }
  #view-reports .readiness-list {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
}
/* Trends: keep the View by value fully visible without oversizing the toolbar */
#view-trends .trend-filter-row {
  grid-template-columns: 165px minmax(260px,1fr) 165px;
}
#view-trends #trend-scope {
  min-width: 0;
  width: 100%;
  padding-right: 34px;
}
@media (max-width:1100px) and (min-width:761px) {
  #view-trends .trend-filter-row {
    grid-template-columns: 165px minmax(220px,1fr) 170px;
  }
}
/* Account & Security — focused current-user settings */
#view-settings.account-security-view {
  max-width: 880px;
  margin: 0 auto;
}
.account-security-shell {
  display: grid;
  gap: 14px;
}
.account-security-shell .data-card {
  box-shadow: 0 8px 24px rgba(20,72,63,.045);
  border-radius: 16px;
}
.account-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.account-section-head h2,.account-session-card h2 {
  margin: 0;
  font-size: 18px;
  color: #173f39;
}
.account-section-head p,.account-session-card p {
  margin: 4px 0 0;
  color: #708781;
  font-size: 12px;
  font-weight: 500;
}
.account-status-badge {
  padding: 5px 9px;
  border-radius: 999px;
  background: #dff7eb;
  color: #08785f;
  font-size: 10px;
  font-weight: 900;
}
.account-info-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr .8fr;
  margin: 0;
  border: 1px solid #dce9e6;
  border-radius: 12px;
  overflow: hidden;
  background: #fbfdfc;
}
.account-info-grid>div {
  padding: 13px 15px;
  border-right: 1px solid #e2ece9;
  min-width: 0;
}
.account-info-grid>div:last-child {
  border-right: 0;
}
.account-info-grid dt {
  color: #718681;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 9px;
  font-weight: 900;
}
.account-info-grid dd {
  margin: 5px 0 0;
  color: #173f39;
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.account-password-card label {
  margin: 0;
}
.account-password-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.account-password-field {
  position: relative;
  display: block;
}
.account-password-field input {
  padding-right: 62px!important;
  background: #fff!important;
}
.account-password-toggle {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  border-radius: 7px;
  background: #edf7f4;
  color: #17665c;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 900;
}
.account-form-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 15px;
}
.account-form-footer #password-message {
  flex: 1;
}
.account-form-footer .alert {
  margin: 0;
}
.account-session-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 17px!important;
  padding-bottom: 17px!important;
}
.account-logout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 9px 14px;
  border: 1px solid #f1caca;
  border-radius: 9px;
  background: #fff7f7;
  color: #b42323;
  text-decoration: none;
  font-size: 11px;
  font-weight: 900;
}
.account-logout-button:hover {
  background: #feecec;
}
@media (max-width:700px) {
  #view-settings.account-security-view {
    max-width: none;
  }
  .account-info-grid,.account-password-grid {
    grid-template-columns: 1fr;
  }
  .account-info-grid>div {
    border-right: 0;
    border-bottom: 1px solid #e2ece9;
  }
  .account-info-grid>div:last-child {
    border-bottom: 0;
  }
  .account-session-card,.account-form-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .account-logout-button {
    width: 100%;
  }
}
/* Data Quality — keep all six KPI summaries on one horizontal line */
#view-quality .quality-grid {
  grid-template-columns: repeat(6,minmax(0,1fr))!important;
  overflow-x: auto!important;
  overflow-y: hidden!important;
}
#view-quality .quality-summary-card {
  min-width: 0!important;
  border-top: 0!important;
  border-right: 1px solid #e4ecea!important;
}
#view-quality .quality-summary-card:last-child {
  border-right: 0!important;
}
@media (max-width:1350px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(6,minmax(165px,1fr))!important;
  }
  #view-quality .quality-summary-card {
    border-top: 0!important;
    border-right: 1px solid #e4ecea!important;
  }
  #view-quality .quality-summary-card:last-child {
    border-right: 0!important;
  }
}
@media (max-width:980px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(6,minmax(155px,1fr))!important;
  }
  #view-quality .quality-summary-card {
    border-top: 0!important;
    border-right: 1px solid #e4ecea!important;
  }
  #view-quality .quality-summary-card:last-child {
    border-right: 0!important;
  }
}
@media (max-width:620px) {
  #view-quality .quality-grid {
    grid-template-columns: repeat(6,minmax(150px,1fr))!important;
  }
  #view-quality .quality-summary-card {
    border-top: 0!important;
    border-right: 1px solid #e4ecea!important;
  }
  #view-quality .quality-summary-card:last-child {
    border-right: 0!important;
  }
}
/* 2026-08-09 — data integrity workflow refinements */
.quality-summary-card.informational {
  background: #f8fbfa;
  border-color: #d9e7e4;
}
.quality-summary-card.informational strong {
  color: #56706a;
}
.quality-summary-card.informational:after {
  background: #9ebdb6;
}
.quality-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.quality-row-actions .table-btn {
  white-space: nowrap;
}
.quality-row-actions .quality-resolve-btn {
  border-color: #b9dcd5;
  background: #f4fbf9;
  color: #0a756a;
}
.quality-row-actions .danger-soft {
  border-color: #f0c8c8;
  background: #fff5f5;
  color: #a42727;
}
.quality-record-table .quality-action-cell {
  min-width: 210px;
}
.quality-table-card .quality-table-wrap {
  overflow: auto;
}
@media (max-width:900px) {
  .quality-record-table .quality-action-cell {
    min-width: 180px;
  }
  .quality-row-actions {
    justify-content: flex-start;
  }
  .farmer-history-row {
    min-width: 680px;
  }
}
/* 2026-08-09 — Farmer Profiles summary rail cleanup */
#view-farmers .farmer-summary-rail {
  grid-template-columns: repeat(4,minmax(0,1fr));
  border: 1px solid #dbe7e4;
  border-radius: 13px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(25,65,57,.035);
}
#view-farmers .farmer-summary-rail>div {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "label value" "meta value";
  align-items: center;
  column-gap: 14px;
  min-height: 72px;
  padding: 12px 16px;
  border-right: 1px solid #e4ecea;
  background: #fff;
}
#view-farmers .farmer-summary-rail>div:last-child {
  border-right: 0;
}
#view-farmers .farmer-summary-rail>div>span {
  grid-area: label;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #657b75;
  font-size: 8px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .07em;
  text-transform: uppercase;
}
#view-farmers .farmer-summary-rail>div>strong {
  grid-area: value;
  align-self: center;
  margin: 0;
  color: #123f38;
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
}
#view-farmers .farmer-summary-rail>div>small {
  grid-area: meta;
  display: block;
  margin: 4px 0 0;
  color: #8a9995;
  font-size: 7.5px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: .025em;
  text-transform: uppercase;
}
@media (max-width:900px) {
  #view-farmers .farmer-summary-rail {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-farmers .farmer-summary-rail>div {
    min-height: 68px;
  }
  #view-farmers .farmer-summary-rail>div:nth-child(2) {
    border-right: 0;
  }
  #view-farmers .farmer-summary-rail>div:nth-child(-n+2) {
    border-bottom: 1px solid #e4ecea;
  }
}
@media (max-width:520px) {
  #view-farmers .farmer-summary-rail {
    grid-template-columns: 1fr 1fr;
  }
  #view-farmers .farmer-summary-rail>div {
    padding: 10px 12px;
    column-gap: 8px;
  }
  #view-farmers .farmer-summary-rail>div>strong {
    font-size: 21px;
  }
  #view-farmers .farmer-summary-rail>div>span {
    font-size: 7.5px;
  }
  #view-farmers .farmer-summary-rail>div>small {
    font-size: 7px;
  }
}
/* Data Quality: keep row actions on one clean horizontal line */
#view-quality .quality-action-head,
#view-quality .quality-action-cell {
  width: 260px;
  min-width: 260px;
}
#view-quality .quality-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
#view-quality .quality-row-actions .table-btn {
  flex: 0 0 auto;
  min-width: auto;
  white-space: nowrap;
}
@media (max-width:900px) {
  #view-quality .quality-action-head,
  #view-quality .quality-action-cell {
    width: 260px;
    min-width: 260px;
  }
  #view-quality .quality-row-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
  }
}
/* 2026-08-10 — Unified Assessment Records / Data Quality table header alignment */
#view-records .table-wrap thead th,
#view-quality .quality-record-table thead th {
  vertical-align: middle!important;
  line-height: 1.2!important;
  white-space: nowrap!important;
}
#view-records .table-wrap thead th,
#view-records .table-wrap tbody td {
  text-align: left!important;
}
#view-records .table-wrap thead th:last-child,
#view-records .table-wrap tbody td:last-child,
#view-quality .quality-record-table thead th.quality-action-head,
#view-quality .quality-record-table tbody td.quality-action-cell {
  text-align: right!important;
}
#view-quality .quality-record-table thead th,
#view-quality .quality-record-table tbody td {
  vertical-align: middle!important;
}
#view-quality .quality-record-table thead th:not(.quality-action-head),
#view-quality .quality-record-table tbody td:not(.quality-action-cell) {
  text-align: left!important;
}
#view-records .table-wrap thead th {
  padding-top: 10px!important;
  padding-bottom: 10px!important;
}
#view-quality .quality-record-table thead th {
  padding-top: 10px!important;
  padding-bottom: 10px!important;
}
#view-quality .quality-action-head,
#view-quality .quality-action-cell {
  width: 270px!important;
  min-width: 270px!important;
  padding-right: 12px!important;
}
/* 2026-08-10 — Table headers: keep sort glyph attached to the label and rebalance columns */
#view-records .table-wrap thead th.sortable-column,
#view-quality .quality-record-table thead th.sortable-column {
  position: sticky!important;
  padding-right: 10px!important;
  cursor: pointer!important;
}
#view-records .table-wrap thead th.sortable-column::after,
#view-quality .quality-record-table thead th.sortable-column::after {
  position: static!important;
  display: inline-block!important;
  margin-left: 6px!important;
  transform: none!important;
  vertical-align: baseline!important;
  line-height: 1!important;
  color: #9aaca8;
}
#view-records .table-wrap thead th.sortable-column.sorted::after,
#view-quality .quality-record-table thead th.sortable-column.sorted::after {
  color: #148f82!important;
}
/* Assessment Records: content-driven widths, with no detached header spacing */
#view-records .table-wrap table {
  width: 100%!important;
  min-width: 1360px!important;
  table-layout: auto!important;
}
#view-records .table-wrap th,
#view-records .table-wrap td {
  padding-left: 10px!important;
  padding-right: 10px!important;
}
#view-records .table-wrap th:nth-child(1),#view-records .table-wrap td:nth-child(1) {
  min-width: 135px;
}
#view-records .table-wrap th:nth-child(2),#view-records .table-wrap td:nth-child(2) {
  min-width: 105px;
}
#view-records .table-wrap th:nth-child(3),#view-records .table-wrap td:nth-child(3) {
  min-width: 135px;
}
#view-records .table-wrap th:nth-child(4),#view-records .table-wrap td:nth-child(4) {
  min-width: 195px;
}
#view-records .table-wrap th:nth-child(5),#view-records .table-wrap td:nth-child(5) {
  min-width: 105px;
}
#view-records .table-wrap th:nth-child(6),#view-records .table-wrap td:nth-child(6) {
  min-width: 125px;
}
#view-records .table-wrap th:nth-child(7),#view-records .table-wrap td:nth-child(7) {
  min-width: 95px;
}
#view-records .table-wrap th:nth-child(8),#view-records .table-wrap td:nth-child(8) {
  min-width: 65px;
}
#view-records .table-wrap th:nth-child(9),#view-records .table-wrap td:nth-child(9) {
  min-width: 115px;
}
#view-records .table-wrap th:nth-child(10),#view-records .table-wrap td:nth-child(10) {
  min-width: 130px;
}
#view-records .table-wrap th:nth-child(11),#view-records .table-wrap td:nth-child(11) {
  width: 72px;
  min-width: 72px;
}
/* Data Quality: compact information columns, wider flags/actions where content needs room */
#view-quality .quality-record-table {
  width: 100%!important;
  min-width: 1080px!important;
  table-layout: auto!important;
}
#view-quality .quality-record-table th,
#view-quality .quality-record-table td {
  padding-left: 12px!important;
  padding-right: 12px!important;
}
#view-quality .quality-record-table th:nth-child(1),#view-quality .quality-record-table td:nth-child(1) {
  width: 18%;
  min-width: 155px;
}
#view-quality .quality-record-table th:nth-child(2),#view-quality .quality-record-table td:nth-child(2) {
  width: 17%;
  min-width: 145px;
}
#view-quality .quality-record-table th:nth-child(3),#view-quality .quality-record-table td:nth-child(3) {
  width: 14%;
  min-width: 120px;
}
#view-quality .quality-record-table th:nth-child(4),#view-quality .quality-record-table td:nth-child(4) {
  width: auto;
  min-width: 280px;
}
#view-quality .quality-record-table th:nth-child(5),#view-quality .quality-record-table td:nth-child(5) {
  width: 270px!important;
  min-width: 270px!important;
}
@media (max-width:900px) {
  #view-records .table-wrap table {
    min-width: 1360px!important;
  }
  #view-quality .quality-record-table {
    min-width: 1080px!important;
  }
}
/* 2026-08-10 — Data Quality Action header: restore sorting and move it away from the outer edge */
#view-quality .quality-record-table thead th.quality-action-head {
  text-align: right!important;
  padding-left: 18px!important;
  padding-right: 24px!important;
  width: 250px!important;
  min-width: 250px!important;
}
#view-quality .quality-record-table tbody td.quality-action-cell {
  padding-left: 18px!important;
  padding-right: 24px!important;
  width: 250px!important;
  min-width: 250px!important;
}
#view-quality .quality-action-head.sortable-column::after {
  margin-left: 5px!important;
}
#view-quality .quality-row-actions {
  justify-content: flex-end!important;
  padding-right: 0!important;
}
#view-quality .quality-record-table th:nth-child(5),
#view-quality .quality-record-table td:nth-child(5) {
  width: 250px!important;
  min-width: 250px!important;
}
/* 2026-08-10 — Align Data Quality Action heading over the first action button */
#view-quality .quality-record-table thead th.quality-action-head {
  text-align: left!important;
  padding-left: 24px!important;
  padding-right: 12px!important;
}
#view-quality .quality-record-table tbody td.quality-action-cell {
  padding-left: 24px!important;
  padding-right: 24px!important;
}
#view-quality .quality-action-head.sortable-column::after {
  display: inline-block!important;
  margin-left: 5px!important;
  position: static!important;
  transform: none!important;
}
/* 2026-08-10 — User Accounts table header alignment */
#view-users .user-table thead th.sortable-column {
  position: relative!important;
  padding-right: 10px!important;
  text-align: left!important;
}
#view-users .user-table thead th.sortable-column::after {
  position: static!important;
  display: inline-block!important;
  margin-left: 6px!important;
  transform: none!important;
  vertical-align: baseline!important;
  line-height: 1!important;
}
#view-users .user-table th:last-child,
#view-users .user-table td:last-child {
  width: 170px!important;
  min-width: 170px!important;
  text-align: center!important;
  padding-left: 16px!important;
  padding-right: 16px!important;
}
#view-users .user-table td:last-child > * {
  margin-left: auto!important;
  margin-right: auto!important;
}
/* 2026-08-10 — User Accounts Action header sorting */
#view-users .user-table thead th:last-child.sortable-column::after {
  position: static!important;
  display: inline-block!important;
  margin-left: 6px!important;
  transform: none!important;
  vertical-align: baseline!important;
  line-height: 1!important;
}
/* 2026-08-10 — User Accounts: center Records and Action columns only */
#view-users .user-table th:nth-child(4),
#view-users .user-table td:nth-child(4),
#view-users .user-table th:nth-child(6),
#view-users .user-table td:nth-child(6) {
  text-align: center!important;
}
#view-users .user-table th:nth-child(4).sortable-column,
#view-users .user-table th:nth-child(6).sortable-column {
  text-align: center!important;
}
#view-users .user-table td:nth-child(6) > * {
  margin-left: auto!important;
  margin-right: auto!important;
}
/* 2026-08-10 — Farmer Profiles desktop column alignment */
@media (min-width:901px) {
  #view-farmers .farmer-table-head > :nth-child(n+3) {
    text-align: center;
    justify-self: stretch;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) {
    text-align: center;
    justify-self: stretch;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) .farmer-status-pill,
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) .farmer-fertility-pill,
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) .farmer-trend-pill {
    justify-content: center;
  }
  #view-farmers .farmer-history-cell {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
/* 2026-08-10 — Farmer Profiles header-to-row alignment correction */
@media (min-width:901px) {
  #view-farmers .farmer-table-head > span:first-child {
    padding-left: 42px;
    box-sizing: border-box;
  }
  #view-farmers .farmer-table-head > span:nth-child(n+3) {
    width: 100%;
    text-align: center;
    justify-self: center;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) {
    width: 100%;
    text-align: center;
    justify-self: center;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(4),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(5),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(6),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(7) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
/* 2026-08-10 — Prevent online-map utility overlays from covering each other.
   Desktop: legend owns bottom-left, coordinates sit immediately to its right,
   MapLibre attribution owns bottom-right, and the gesture hint floats above it. */
#view-mapping .gis-coordinate-readout {
  left: 260px!important;
  bottom: 12px!important;
  z-index: 24!important;
  max-width: 210px!important;
  white-space: nowrap!important;
}
#view-mapping .admin-map-gesture-hint {
  left: 50%!important;
  right: auto!important;
  bottom: 36px!important;
  z-index: 24!important;
  transform: translateX(-50%)!important;
  opacity: .72!important;
  background: rgba(255,255,255,.90)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-left {
  left: 0!important;
  bottom: 0!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-right {
  right: 10px!important;
  bottom: 10px!important;
  z-index: 20!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib {
  max-width: min(520px,45vw)!important;
  margin: 0!important;
  border-radius: 7px!important;
  background: rgba(255,255,255,.88)!important;
  box-shadow: 0 2px 8px rgba(16,58,52,.08)!important;
  line-height: 1.2!important;
}
/* The map already has the custom 1 km ornament at top-right, so suppress the
   duplicate MapLibre scale control that previously collided with the legend. */
#view-mapping .maplibregl-ctrl-scale {
  display: none!important;
}
@media (max-width:1050px) {
  #view-mapping .gis-coordinate-readout {
    left: auto!important;
    right: 12px!important;
    bottom: 42px!important;
    max-width: 190px!important;
  }
  #view-mapping .admin-map-gesture-hint {
    display: none!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-attrib {
    max-width: 62vw!important;
  }
}
@media (max-width:700px) {
  #view-mapping .gis-coordinate-readout {
    left: auto!important;
    right: 8px!important;
    bottom: 42px!important;
    max-width: 170px!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-right {
    right: 6px!important;
    bottom: 6px!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-attrib {
    max-width: calc(100vw - 28px)!important;
    font-size: 8px!important;
  }
}
/* 2026-08-10 — keep a small visual gap below the compact GIS filter panel */
#view-mapping .admin-map-viewport-tools {
  top: 168px!important;
}
@media (max-width:700px) {
  #view-mapping .admin-map-viewport-tools {
    top: 164px!important;
  }
}
/* 2026-08-10 — clean bottom map utilities and keep attribution collapsed until clicked. */
#view-mapping .admin-map-gesture-hint {
  display: none!important;
}
#view-mapping .gis-coordinate-readout {
  left: 252px!important;
  right: auto!important;
  bottom: 14px!important;
  z-index: 24!important;
  max-width: 190px!important;
  padding: 5px 8px!important;
  font-size: 8px!important;
  box-shadow: 0 3px 10px rgba(8,53,47,.12)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-right {
  right: 12px!important;
  bottom: 12px!important;
  z-index: 26!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib {
  margin: 0!important;
  padding: 0!important;
  max-width: none!important;
  background: transparent!important;
  box-shadow: none!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact {
  min-height: 24px!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact:not(.maplibregl-compact-show) {
  width: 24px!important;
  height: 24px!important;
  overflow: hidden!important;
  border-radius: 50%!important;
  background: rgba(255,255,255,.94)!important;
  box-shadow: 0 2px 8px rgba(16,58,52,.14)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button {
  width: 24px!important;
  height: 24px!important;
  margin: 0!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact.maplibregl-compact-show {
  max-width: min(520px,55vw)!important;
  padding: 4px 28px 4px 7px!important;
  border-radius: 8px!important;
  background: rgba(255,255,255,.96)!important;
  box-shadow: 0 3px 12px rgba(16,58,52,.14)!important;
}
#view-mapping .maplibregl-ctrl-scale {
  display: none!important;
}
@media (max-width:700px) {
  #view-mapping .gis-coordinate-readout {
    left: 10px!important;
    right: auto!important;
    bottom: 10px!important;
    max-width: 170px!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-right {
    right: 8px!important;
    bottom: 8px!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact.maplibregl-compact-show {
    max-width: calc(100vw - 36px)!important;
    font-size: 8px!important;
  }
}
/* 2026-08-10 — final bottom-map utility placement.
   Keep coordinates in a dedicated bottom-left lane and force MapLibre
   attribution to remain icon-only until its info button is clicked. */
#view-mapping .gis-coordinate-readout,
#view-mapping .gis-coordinate-chip {
  left: 24px!important;
  right: auto!important;
  bottom: 10px!important;
  z-index: 30!important;
  max-width: 190px!important;
  white-space: nowrap!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-right {
  right: 12px!important;
  bottom: 10px!important;
  z-index: 30!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib {
  position: relative!important;
  margin: 0!important;
  padding: 0!important;
  min-width: 24px!important;
  min-height: 24px!important;
  background: transparent!important;
  box-shadow: none!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) .maplibregl-ctrl-attrib-inner {
  display: none!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) {
  width: 24px!important;
  height: 24px!important;
  overflow: visible!important;
  border-radius: 50%!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  display: block!important;
  position: absolute!important;
  right: 0!important;
  bottom: 0!important;
  width: 24px!important;
  height: 24px!important;
  margin: 0!important;
  padding: 0!important;
  border-radius: 50%!important;
  background-color: rgba(255,255,255,.96)!important;
  box-shadow: 0 2px 8px rgba(16,58,52,.18)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show {
  width: auto!important;
  height: auto!important;
  max-width: min(520px,55vw)!important;
  padding: 5px 30px 5px 8px!important;
  border-radius: 8px!important;
  background: rgba(255,255,255,.96)!important;
  box-shadow: 0 3px 12px rgba(16,58,52,.14)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner {
  display: block!important;
}
@media (max-width:700px) {
  #view-mapping .gis-coordinate-readout,
  #view-mapping .gis-coordinate-chip {
    left: 10px!important;
    bottom: 8px!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-bottom-right {
    right: 8px!important;
    bottom: 8px!important;
  }
  #view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show {
    max-width: calc(100vw - 36px)!important;
  }
}
/* 2026-08-10 — final micro-spacing: coordinates near left edge; tighter expanded attribution. */
#view-mapping .gis-coordinate-readout,
#view-mapping .gis-coordinate-chip {
  left: 14px!important;
  right: auto!important;
  bottom: 10px!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show {
  padding: 3px 25px 3px 6px!important;
  min-height: 20px!important;
  line-height: 1.15!important;
  border-radius: 7px!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  width: 20px!important;
  height: 20px!important;
  right: 2px!important;
  bottom: 50%!important;
  transform: translateY(50%)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) {
  width: 20px!important;
  height: 20px!important;
  min-width: 20px!important;
  min-height: 20px!important;
}
@media (max-width:700px) {
  #view-mapping .gis-coordinate-readout,
  #view-mapping .gis-coordinate-chip {
    left: 10px!important;
  }
}
/* 2026-08-10 — final micro-spacing: coordinates near left edge; tighter expanded attribution. */
#view-mapping .gis-coordinate-readout,#view-mapping .gis-coordinate-chip {
  left: 14px!important;
  right: auto!important;
  bottom: 10px!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show {
  padding: 3px 25px 3px 6px!important;
  min-height: 20px!important;
  line-height: 1.15!important;
  border-radius: 7px!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  width: 20px!important;
  height: 20px!important;
  right: 2px!important;
  bottom: 50%!important;
  transform: translateY(50%)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) {
  width: 20px!important;
  height: 20px!important;
  min-width: 20px!important;
  min-height: 20px!important;
}
@media (max-width:700px) {
  #view-mapping .gis-coordinate-readout,#view-mapping .gis-coordinate-chip {
    left: 10px!important;
  }
}
/* 2026-08-10 — attribution vertical alignment fix: normal info icon, no excess white space below text. */
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show {
  box-sizing: border-box!important;
  display: flex!important;
  align-items: center!important;
  min-height: 24px!important;
  height: auto!important;
  padding: 2px 30px 2px 7px!important;
  line-height: 1!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner {
  display: block!important;
  margin: 0!important;
  padding: 0!important;
  line-height: 16px!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  width: 24px!important;
  height: 24px!important;
  right: 2px!important;
  bottom: 50%!important;
  transform: translateY(50%)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) {
  width: 24px!important;
  height: 24px!important;
  min-width: 24px!important;
  min-height: 24px!important;
}
/* 2026-08-10 — restore attribution info icon as a true circular button. */
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  width: 24px!important;
  height: 24px!important;
  min-width: 24px!important;
  min-height: 24px!important;
  right: 2px!important;
  top: 50%!important;
  bottom: auto!important;
  transform: translateY(-50%)!important;
  margin: 0!important;
  padding: 0!important;
  border: 0!important;
  border-radius: 50%!important;
  background: #111!important;
  background-image: none!important;
  box-shadow: none!important;
  overflow: hidden!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button::before {
  content: "i"!important;
  position: absolute!important;
  inset: 0!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  color: #fff!important;
  font: 700 16px/1 Arial,sans-serif!important;
  text-align: center!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) {
  width: 28px!important;
  height: 28px!important;
  min-width: 28px!important;
  min-height: 28px!important;
  border-radius: 50%!important;
  background: rgba(255,255,255,.96)!important;
  box-shadow: 0 2px 8px rgba(16,58,52,.14)!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) .maplibregl-ctrl-attrib-button {
  right: 2px!important;
}
/* 2026-08-10 — attribution info icon: white circle with black "i". */
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  background: #fff!important;
  border: 2px solid #111!important;
  box-sizing: border-box!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button::before {
  color: #111!important;
  font-size: 16px!important;
}
/* 2026-08-10 — attribution info icon: white circle with black i. */
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button {
  background: #fff!important;
  border: 2px solid #111!important;
  box-sizing: border-box!important;
}
#view-mapping .maplibre-map-host .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button::before {
  color: #111!important;
  font-size: 16px!important;
}
/* 2026-08-10 — GIS sample popup refinement */
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content {
  width: 300px;
  max-width: calc(100vw - 32px);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23,95,84,.18);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(8,51,45,.22);
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button {
  z-index: 3;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d7e5e1;
  border-radius: 50%;
  background: #fff;
  color: #4d7069;
  font: 700 18px/1 system-ui,sans-serif;
  box-shadow: 0 2px 8px rgba(8,51,45,.08);
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button:hover {
  background: #eef7f4;
  color: #0d675d;
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-tip {
  border-top-color: #fff;
  filter: drop-shadow(0 3px 2px rgba(8,51,45,.08));
}
.maplibre-sample-popup {
  display: block;
  min-width: 0;
  color: #173f39;
  font: 12px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.maplibre-sample-popup .sample-popup-head {
  padding: 15px 46px 12px 16px;
  border-bottom: 1px solid #e6efed;
  background: linear-gradient(180deg,#fbfefd 0%,#f5faf8 100%);
}
.maplibre-sample-popup .sample-popup-title {
  display: grid;
  gap: 3px;
}
.maplibre-sample-popup .sample-popup-kicker {
  color: #16877a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.maplibre-sample-popup .sample-popup-title>strong {
  color: #153f39;
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.maplibre-sample-popup .sample-popup-person {
  color: #617a75;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.maplibre-sample-popup .sample-popup-person i {
  padding: 0 3px;
  color: #a0b3af;
  font-style: normal;
}
.maplibre-sample-popup .sample-popup-primary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 14px 10px;
  padding: 10px 12px;
  border: 1px solid #cfe4df;
  border-radius: 11px;
  background: #f2f9f7;
}
.maplibre-sample-popup .sample-popup-primary>span {
  color: #54716b;
  font-size: 10px;
  font-weight: 700;
}
.maplibre-sample-popup .sample-popup-primary>b {
  color: #0b665b;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}
.maplibre-sample-popup .sample-popup-primary b small {
  margin-left: 3px;
  color: #68827c;
  font-size: 9px;
  font-weight: 700;
}
.maplibre-sample-popup .sample-popup-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1px;
  margin: 0 14px 10px;
  overflow: hidden;
  border: 1px solid #e2ece9;
  border-radius: 10px;
  background: #e2ece9;
}
.maplibre-sample-popup .sample-popup-grid>div {
  min-width: 0;
  padding: 8px 10px;
  background: #fff;
}
.maplibre-sample-popup .sample-popup-grid span,
.maplibre-sample-popup .sample-popup-meta span {
  display: block;
  margin-bottom: 2px;
  color: #778d88;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.maplibre-sample-popup .sample-popup-grid b {
  display: block;
  color: #244d46;
  font-size: 11px;
  font-weight: 800;
}
.maplibre-sample-popup .sample-popup-grid b small {
  color: #81938f;
  font-size: 8px;
  font-weight: 600;
}
.maplibre-sample-popup .sample-popup-meta {
  display: grid;
  gap: 0;
  margin: 0 14px 14px;
  border-top: 1px solid #e8efed;
}
.maplibre-sample-popup .sample-popup-meta>div {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid #edf2f1;
}
.maplibre-sample-popup .sample-popup-meta>div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.maplibre-sample-popup .sample-popup-meta span {
  margin: 0;
}
.maplibre-sample-popup .sample-popup-meta b {
  min-width: 0;
  color: #355d56;
  font-size: 10px;
  font-weight: 700;
  text-align: right;
  overflow-wrap: anywhere;
}
@media (max-width:480px) {
  .maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content {
    width: 280px;
  }
  .maplibre-sample-popup .sample-popup-head {
    padding-left: 14px;
  }
  .maplibre-sample-popup .sample-popup-primary,.maplibre-sample-popup .sample-popup-grid,.maplibre-sample-popup .sample-popup-meta {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/* 2026-08-10 — Offline GIS sample popup aligned with Online Map */
.admin-map-popup {
  position: absolute;
  z-index: 40;
  width: 300px;
  max-width: calc(100% - 24px);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23,95,84,.18);
  border-radius: 16px;
  background: #fff;
  color: #173f39;
  box-shadow: 0 16px 42px rgba(8,51,45,.22);
}
.admin-map-popup[hidden] {
  display: none!important;
}
.admin-map-popup>.offline-popup-close {
  position: absolute;
  z-index: 3;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d7e5e1;
  border-radius: 50%;
  background: #eef6f4;
  color: #52726c;
  font: 700 17px/1 system-ui,sans-serif;
  box-shadow: none;
  cursor: pointer;
}
.admin-map-popup>.offline-popup-close:hover {
  background: #e3f1ed;
  color: #0d675d;
}
.offline-sample-popup {
  display: block;
  min-width: 0;
  color: #173f39;
  font: 12px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.offline-sample-popup .sample-popup-head {
  padding: 15px 46px 11px 16px;
  border-bottom: 1px solid #e4ecea;
  background: #f8fbfa;
}
.offline-sample-popup .sample-popup-title {
  display: grid;
  gap: 2px;
}
.offline-sample-popup .sample-popup-kicker {
  color: #087b70;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.offline-sample-popup .sample-popup-title>strong {
  color: #153f39;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.offline-sample-popup .sample-popup-person {
  color: #687f7a;
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.offline-sample-popup .sample-popup-person i {
  padding: 0 3px;
  color: #a0b3af;
  font-style: normal;
}
.offline-sample-popup .sample-popup-primary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 11px 12px 9px;
  padding: 10px 12px;
  border: 1px solid #cfe4df;
  border-radius: 11px;
  background: #f2f9f7;
}
.offline-sample-popup .sample-popup-primary>span {
  color: #54716b;
  font-size: 10px;
  font-weight: 700;
}
.offline-sample-popup .sample-popup-primary>b {
  color: #0b665b;
  font-size: 17px;
  line-height: 1;
  white-space: nowrap;
}
.offline-sample-popup .sample-popup-primary b small {
  margin-left: 3px;
  color: #68827c;
  font-size: 9px;
  font-weight: 700;
}
.offline-sample-popup .sample-popup-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1px;
  margin: 0 12px 9px;
  overflow: hidden;
  border: 1px solid #dfe9e7;
  border-radius: 10px;
  background: #dfe9e7;
}
.offline-sample-popup .sample-popup-grid>div {
  min-width: 0;
  padding: 8px 10px;
  background: #fff;
}
.offline-sample-popup .sample-popup-grid span,
.offline-sample-popup .sample-popup-meta span {
  display: block;
  margin-bottom: 2px;
  color: #778d88;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.offline-sample-popup .sample-popup-grid b {
  display: block;
  color: #244d46;
  font-size: 11px;
  font-weight: 800;
}
.offline-sample-popup .sample-popup-grid b small {
  color: #81938f;
  font-size: 8px;
  font-weight: 600;
}
.offline-sample-popup .sample-popup-meta {
  display: grid;
  gap: 0;
  margin: 0 12px 12px;
  border-top: 1px solid #e8efed;
}
.offline-sample-popup .sample-popup-meta>div {
  display: grid;
  grid-template-columns: 88px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid #edf2f1;
}
.offline-sample-popup .sample-popup-meta>div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.offline-sample-popup .sample-popup-meta span {
  margin: 0;
}
.offline-sample-popup .sample-popup-meta b {
  min-width: 0;
  color: #355d56;
  font-size: 10px;
  font-weight: 700;
  text-align: right;
  overflow-wrap: anywhere;
}
@media (max-width:480px) {
  .admin-map-popup {
    width: 280px;
  }
  .offline-sample-popup .sample-popup-head {
    padding-left: 14px;
  }
  .offline-sample-popup .sample-popup-primary,
  .offline-sample-popup .sample-popup-grid,
  .offline-sample-popup .sample-popup-meta {
    margin-left: 10px;
    margin-right: 10px;
  }
}
/* 2026-08-10 — unified compact/minimal GIS sample popup (online + offline) */
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content,
.admin-map-popup {
  width: 270px;
  max-width: calc(100vw - 28px);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(16,87,76,.18);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(8,51,45,.18);
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button,
.admin-map-popup>.offline-popup-close {
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: #f2f7f5;
  color: #5d7772;
  font: 700 16px/1 system-ui,sans-serif;
  box-shadow: none;
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button:hover,
.admin-map-popup>.offline-popup-close:hover {
  background: #e8f2ef;
  color: #0b665b;
}
.sample-popup-compact {
  box-sizing: border-box;
  display: block;
  padding: 13px 38px 12px 14px;
  color: #365d56;
  font: 12px/1.42 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.sample-popup-compact .compact-code {
  display: block;
  margin: 0 0 2px;
  color: #123f39;
  font-size: 15px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: .005em;
}
.sample-popup-compact .compact-person {
  margin: 0 0 8px;
  color: #6a807c;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sample-popup-compact .compact-person span {
  padding: 0 3px;
  color: #9cafaa;
}
.sample-popup-compact .compact-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 4px;
  margin: 2px 0;
  min-width: 0;
}
.sample-popup-compact .compact-line>span:first-child {
  color: #667e79;
}
.sample-popup-compact .compact-line b {
  color: #355f57;
  font-weight: 800;
}
.sample-popup-compact .compact-dot {
  padding: 0 2px;
  color: #a3b4b0;
}
.sample-popup-compact .compact-date {
  margin-top: 5px;
  color: #6b817c;
  font-size: 10.5px;
}
.maplibre-sample-popup.sample-popup-compact,
.offline-sample-popup.sample-popup-compact {
  min-width: 0;
}
@media (max-width:480px) {
  .maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content,
  .admin-map-popup {
    width: 252px;
  }
  .sample-popup-compact {
    padding: 12px 36px 11px 13px;
    font-size: 11.5px;
  }
}
/* 2026-08-10 — final compact GIS popup refinement (online + offline)
   Keeps both renderers visually identical and removes legacy popup overrides. */
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content,
.admin-map-popup {
  width: 282px !important;
  max-width: calc(100% - 24px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(18,80,70,.18) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #173f39 !important;
  box-shadow: 0 10px 26px rgba(8,51,45,.16) !important;
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button,
.admin-map-popup>.offline-popup-close {
  position: absolute !important;
  z-index: 5 !important;
  top: 8px !important;
  right: 8px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  outline: 0 !important;
  background: #eef5f3 !important;
  color: #607b75 !important;
  font: 700 15px/24px system-ui,-apple-system,"Segoe UI",sans-serif !important;
  box-shadow: none !important;
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button:hover,
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button:focus,
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button:focus-visible,
.admin-map-popup>.offline-popup-close:hover,
.admin-map-popup>.offline-popup-close:focus,
.admin-map-popup>.offline-popup-close:focus-visible {
  outline: 0 !important;
  background: #e4f0ed !important;
  color: #0b665b !important;
  box-shadow: none !important;
}
.maplibre-sample-popup.sample-popup-compact,
.offline-sample-popup.sample-popup-compact {
  box-sizing: border-box !important;
  display: block !important;
  min-width: 0 !important;
  padding: 13px 38px 12px 14px !important;
  color: #3b5e58 !important;
  font: 12px/1.38 system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
.sample-popup-compact .compact-code {
  display: block !important;
  max-width: 205px !important;
  margin: 0 0 2px !important;
  color: #123f39 !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  letter-spacing: .005em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.sample-popup-compact .compact-person {
  display: block !important;
  max-width: 220px !important;
  margin: 0 0 8px !important;
  color: #6d827e !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.sample-popup-compact .compact-person span {
  display: inline !important;
  padding: 0 3px !important;
  color: #9cafaa !important;
}
.sample-popup-compact .compact-line {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 0 4px !important;
  min-width: 0 !important;
  margin: 2px 0 !important;
  color: #526d67 !important;
}
.sample-popup-compact .compact-line>span:first-child {
  color: #6a817c !important;
}
.sample-popup-compact .compact-line b {
  color: #315a53 !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}
.sample-popup-compact .compact-dot {
  padding: 0 1px !important;
  color: #a6b6b2 !important;
}
.sample-popup-compact .compact-date {
  margin-top: 5px !important;
  color: #718681 !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-tip {
  border-top-color: #fff !important;
  border-bottom-color: #fff !important;
}
@media (max-width:480px) {
  .maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content,
  .admin-map-popup {
    width: 264px !important;
  }
  .maplibre-sample-popup.sample-popup-compact,
  .offline-sample-popup.sample-popup-compact {
    padding: 12px 36px 11px 13px !important;
    font-size: 11.5px !important;
  }
}
/* 2026-08-10 — Offline popup visually matched to the Online MapLibre popup */
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content,
.admin-map-popup {
  box-sizing: border-box !important;
  width: 282px !important;
  min-width: 282px !important;
  max-width: 282px !important;
}
/* Offline card itself mirrors the MapLibre content card; only the arrow may overflow. */
.admin-map-popup {
  overflow: visible !important;
}
.admin-map-popup::before,
.admin-map-popup::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: var(--offline-popup-arrow-x,50%);
  width: 0;
  height: 0;
  transform: translateX(-50%);
  pointer-events: none;
}
.admin-map-popup[data-arrow="above"]::before {
  top: 100%;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-top: 11px solid rgba(18,80,70,.18);
}
.admin-map-popup[data-arrow="above"]::after {
  top: calc(100% - 1px);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #fff;
}
.admin-map-popup[data-arrow="below"]::before {
  bottom: 100%;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 11px solid rgba(18,80,70,.18);
}
.admin-map-popup[data-arrow="below"]::after {
  bottom: calc(100% - 1px);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
}
/* Keep both popup bodies and close controls identical. */
.maplibre-sample-popup.sample-popup-compact,
.offline-sample-popup.sample-popup-compact {
  width: 100% !important;
  padding: 13px 38px 12px 14px !important;
}
.maplibre-map-host .bagulin-sample-popup .maplibregl-popup-close-button,
.admin-map-popup>.offline-popup-close {
  top: 8px !important;
  right: 8px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 7px !important;
  background: #eef5f3 !important;
  color: #607b75 !important;
}
@media (max-width:480px) {
  .maplibre-map-host .bagulin-sample-popup .maplibregl-popup-content,
  .admin-map-popup {
    width: 264px !important;
    min-width: 264px !important;
    max-width: 264px !important;
  }
}
/* 2026-08-10 — Farmer Profiles final table alignment refinement */
@media (min-width:901px) {
  /* Keep the header and every row on the exact same seven-column track. */
  #view-farmers .farmer-table-head,
  #view-farmers .farmer-row-main {
    grid-template-columns: minmax(210px,1.45fr) minmax(170px,1fr) 90px 130px 125px 120px 100px !important;
    column-gap: 12px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box;
  }
  /* FARMER heading lines up with the text, not the avatar. */
  #view-farmers .farmer-table-head > span:first-child {
    padding-left: 42px !important;
    /* 32px avatar + 10px gap */
    text-align: left !important;
  }
  #view-farmers .farmer-table-head > span:nth-child(2),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(2) {
    text-align: left !important;
    justify-self: stretch !important;
  }
  /* Numeric/status/action columns share one centered axis. */
  #view-farmers .farmer-table-head > span:nth-child(n+3),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) {
    width: 100% !important;
    text-align: center !important;
    justify-self: stretch !important;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  /* Farmer name/date must occupy two clean lines. */
  #view-farmers .farmer-person > div > strong,
  #view-farmers .farmer-person > div > small {
    display: block !important;
    max-width: 100%;
  }
  #view-farmers .farmer-person > div > strong {
    color: #173f39;
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #view-farmers .farmer-person > div > small {
    margin-top: 3px;
    color: #879893;
    font-size: 8px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #view-farmers .farmer-place > strong,
  #view-farmers .farmer-place > small {
    display: block;
    text-align: left;
  }
  #view-farmers .farmer-status-pill,
  #view-farmers .farmer-fertility-pill,
  #view-farmers .farmer-trend-pill,
  #view-farmers .farmer-history-toggle {
    margin-left: auto;
    margin-right: auto;
  }
}
/* 2026-08-10 — Farmer Profiles exact header/content alignment */
@media (min-width:901px) {
  /* First column heading starts at the same left edge as the farmer cell/avatar. */
  #view-farmers .farmer-table-head > span:first-child {
    padding-left: 0 !important;
    text-align: left !important;
    justify-self: stretch !important;
  }
  /* Barangay / Crop heading follows the exact left edge used by Baay/Suyo/etc. */
  #view-farmers .farmer-table-head > span:nth-child(2),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(2) {
    text-align: left !important;
    justify-self: stretch !important;
  }
  /* Assessments through History: center heading and row contents on one axis. */
  #view-farmers .farmer-table-head > span:nth-child(3),
  #view-farmers .farmer-table-head > span:nth-child(4),
  #view-farmers .farmer-table-head > span:nth-child(5),
  #view-farmers .farmer-table-head > span:nth-child(6),
  #view-farmers .farmer-table-head > span:nth-child(7) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(3),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(4),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(5),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(6),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(7) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;
    text-align: center !important;
    width: 100% !important;
  }
  #view-farmers .farmer-history-cell {
    justify-self: stretch !important;
  }
  #view-farmers .farmer-history-toggle {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* 2026-08-10 — Farmer Profiles shared desktop column grid.
   The list has its own vertical scrollbar, so the header reserves the same
   scrollbar width. This keeps every header on the exact axis of its cells. */
@media (min-width:901px) {
  #view-farmers .farmer-profile-list {
    scrollbar-gutter: stable;
  }
  #view-farmers .farmer-table-head,
  #view-farmers .farmer-row-main {
    grid-template-columns: minmax(250px, 2.15fr)
      minmax(210px, 1.65fr)
      minmax(90px, .72fr)
      minmax(120px, .90fr)
      minmax(120px, .90fr)
      minmax(125px, .95fr)
      minmax(105px, .82fr) !important;
    column-gap: 0 !important;
    box-sizing: border-box !important;
  }
  /* Match the header's usable width to rows inside the scroll container. */
  #view-farmers .farmer-table-head {
    padding-left: 18px !important;
    padding-right: 26px !important;
  }
  #view-farmers .farmer-row-main {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  /* Text columns align to their left edge. */
  #view-farmers .farmer-table-head > span:nth-child(1),
  #view-farmers .farmer-table-head > span:nth-child(2),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(1),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(2) {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
    text-align: left !important;
  }
  /* Data columns use one true center axis from header through every row. */
  #view-farmers .farmer-table-head > span:nth-child(n+3),
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
    text-align: center !important;
  }
  #view-farmers .farmer-table-head > span:nth-child(n+3) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #view-farmers .farmer-row-main > .farmer-cell:nth-child(n+3) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #view-farmers .farmer-status-pill,
  #view-farmers .farmer-fertility-pill,
  #view-farmers .farmer-trend-pill,
  #view-farmers .farmer-history-toggle {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* Integrated IoT Monitoring */
.iot-admin-view {
  display: none;
}
.iot-admin-view.active {
  display: block;
}
.iot-metric-grid article small {
  display: block;
  margin-top: 5px;
  color: #6f8580;
  font-size: 10px;
  font-weight: 700;
}
.iot-device-card,.iot-reading-card {
  margin-top: 14px;
}
.iot-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 20px 16px;
}
.iot-section-head h2 {
  margin: 2px 0 4px;
}
.iot-section-head p {
  margin: 0;
  color: #657b76;
  font-size: 12px;
  line-height: 1.5;
}
.iot-add-device-btn {
  white-space: nowrap;
  min-width: 112px;
}
.iot-table td:first-child strong,.iot-table td:nth-child(2) strong {
  display: block;
  color: #123f39;
}
.iot-table td small {
  display: block;
  margin-top: 3px;
  color: #7a8f8a;
  font-size: 10px;
}
.iot-table th {
  white-space: nowrap;
}
.iot-table td {
  vertical-align: middle;
}
.iot-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  font-size: 11px;
}
.iot-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.iot-status.online {
  color: #087b65;
}
.iot-status.online i {
  background: #35c99a;
  box-shadow: 0 0 0 4px #dff8ef;
}
.iot-status.offline {
  color: #788a86;
}
.iot-status.offline i {
  background: #a8b7b3;
}
.iot-reading-status {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: capitalize;
}
.iot-reading-status.pending {
  background: #fff5cc;
  color: #956400;
}
.iot-reading-status.used {
  background: #dcf5ec;
  color: #08715f;
}
.iot-reading-status.rejected {
  background: #fee8e7;
  color: #a63d3a;
}
.iot-control-btn {
  border: 1px solid #cdded9;
  background: #fff;
  color: #315e57;
  border-radius: 8px;
  padding: 6px 10px;
  font: 800 10px/1 system-ui;
  cursor: pointer;
}
.iot-control-btn:hover {
  background: #f0f8f6;
}
.iot-control-btn.danger {
  border-color: #f1c7c3;
  color: #a8433f;
}
.iot-control-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.iot-empty {
  text-align: center!important;
  padding: 30px!important;
  color: #778b86!important;
}
.iot-empty strong,.iot-empty span {
  display: block;
}
.iot-empty strong {
  color: #3d625b;
  margin-bottom: 4px;
}
.iot-empty.error strong {
  color: #9a3835;
}
.iot-modal[hidden] {
  display: none!important;
}
.iot-modal {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: grid;
  place-items: center;
  padding: 18px;
}
.iot-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5,35,31,.55);
  backdrop-filter: blur(3px);
}
.iot-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(520px,100%);
  background: #fff;
  border: 1px solid #d7e5e1;
  border-radius: 18px;
  padding: 25px;
  box-shadow: 0 28px 70px rgba(7,49,43,.22);
}
.iot-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 9px;
  background: #edf5f3;
  color: #345f58;
  font-size: 23px;
  cursor: pointer;
}
.iot-modal-dialog h2 {
  margin: 4px 0 7px;
  font-size: 22px;
}
.iot-modal-copy {
  margin: 0 0 18px;
  color: #667e78;
  font-size: 12px;
}
.iot-device-form {
  display: grid;
  gap: 14px;
}
.iot-device-form label span {
  display: block;
  margin-bottom: 6px;
  color: #315c55;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.iot-device-form input {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 12px;
  border: 1px solid #cdded9;
  border-radius: 9px;
  font: inherit;
}
.iot-device-form input:focus {
  outline: 3px solid rgba(15,143,128,.12);
  border-color: #0f8f80;
}
.iot-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 5px;
}
.iot-token-box {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid #bde6d9;
  background: #eefaf6;
  border-radius: 10px;
  color: #235e53;
}
.iot-token-box span {
  font-size: 11px;
}
.iot-token-box code {
  display: block;
  padding: 10px;
  background: #fff;
  border: 1px dashed #9fcec0;
  border-radius: 8px;
  word-break: break-all;
  font-size: 11px;
}
.iot-copy-token {
  justify-self: start;
  border: 0;
  border-radius: 7px;
  padding: 7px 10px;
  background: #0f7f70;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.iot-inline-error {
  margin-bottom: 14px;
  padding: 11px 12px;
  border-radius: 9px;
  background: #fff0ef;
  color: #9c3c38;
  font-size: 11px;
  font-weight: 700;
}
.iot-modal-open {
  overflow: hidden;
}
@media (max-width:760px) {
  .iot-section-head {
    display: grid;
  }
  .iot-add-device-btn {
    width: 100%;
  }
  .iot-modal-dialog {
    padding: 20px;
  }
  .iot-modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .iot-table {
    min-width: 850px;
  }
}
.iot-head-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.iot-head-actions .btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (max-width:760px) {
  .iot-head-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .iot-head-actions .btn {
    width: 100%;
  }
}
/* ============================================================
   IoT Monitoring — polished Admin Console UI (2026-08-15)
   ============================================================ */
#view-iot {
  --iot-green: #0f8f80;
  --iot-green-dark: #0a6f64;
  --iot-ink: #143f39;
  --iot-muted: #6b817c;
  --iot-line: #d9e7e3;
  --iot-soft: #f5faf8;
}
#view-iot.iot-admin-view {
  padding-bottom: 28px;
}
.iot-page-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin: 0 0 14px;
  padding: 18px 20px;
  border: 1px solid var(--iot-line);
  border-radius: 16px;
  background: linear-gradient(135deg,#ffffff 0%,#f6fbf9 100%);
  box-shadow: 0 7px 22px rgba(19,72,63,.045);
}
.iot-page-intro h2 {
  margin: 3px 0 5px;
  font-size: 20px;
  letter-spacing: -.02em;
  color: var(--iot-ink);
}
.iot-page-intro p {
  margin: 0;
  max-width: 760px;
  color: var(--iot-muted);
  font-size: 12px;
  line-height: 1.55;
}
.iot-intro-status {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid #cce8df;
  border-radius: 12px;
  background: #f0faf6;
}
.iot-intro-status strong,.iot-intro-status small {
  display: block;
}
.iot-intro-status strong {
  font-size: 11px;
  color: #1a5f55;
}
.iot-intro-status small {
  margin-top: 2px;
  font-size: 9px;
  color: #73918a;
}
.iot-live-dot {
  position: relative;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #25b78d;
  box-shadow: 0 0 0 5px rgba(37,183,141,.12);
}
.iot-live-dot:after {
  content: "";
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(37,183,141,.35);
  border-radius: 50%;
  animation: iotPulse 2s ease-out infinite;
}
@keyframes iotPulse {
  0% {
    transform: scale(.65);
    opacity: .7;
  }
  100% {
    transform: scale(1.75);
    opacity: 0;
  }
}
.iot-metric-grid {
  margin-bottom: 14px!important;
}
.iot-metric-grid article {
  min-height: 112px!important;
  padding: 17px 18px 15px!important;
  border-radius: 16px!important;
  background: linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
  transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.iot-metric-grid article:hover {
  transform: translateY(-2px);
  border-color: #bddbd4!important;
  box-shadow: 0 12px 28px rgba(18,73,64,.08)!important;
}
.iot-metric-grid article span {
  font-size: 9px!important;
  letter-spacing: .06em!important;
  text-transform: uppercase;
  color: #55746d!important;
}
.iot-metric-grid article strong {
  font-size: 34px!important;
  color: #103f38!important;
  font-variant-numeric: tabular-nums;
}
.iot-metric-grid article small {
  font-size: 10px!important;
  color: #78908a!important;
}
.iot-metric-grid article:before {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef8f5;
  border: 1px solid #d8ebe6;
}
.iot-metric-grid article:nth-child(1):after {
  content: "▣";
}
.iot-metric-grid article:nth-child(2):after {
  content: "●";
}
.iot-metric-grid article:nth-child(3):after {
  content: "⇣";
}
.iot-metric-grid article:nth-child(4):after {
  content: "⌁";
}
.iot-metric-grid article:after {
  position: absolute!important;
  display: grid!important;
  place-items: center!important;
  top: 16px!important;
  right: 16px!important;
  bottom: auto!important;
  width: 34px!important;
  height: 34px!important;
  background: transparent!important;
  color: #0f8f80!important;
  font-size: 15px!important;
  opacity: 1!important;
}
.iot-device-card,.iot-reading-card {
  margin-top: 14px!important;
  padding: 0!important;
  overflow: hidden;
}
.iot-section-head {
  padding: 20px 22px 17px!important;
  border-bottom: 1px solid #e7efed;
  background: linear-gradient(180deg,#fff,#fcfefd);
}
.iot-section-head .eyebrow {
  font-size: 9px!important;
  letter-spacing: .11em;
}
.iot-section-head h2 {
  font-size: 19px!important;
  margin: 3px 0 5px!important;
  color: #143f39;
}
.iot-section-head p {
  font-size: 11px!important;
  color: #6f8580!important;
}
.iot-head-actions {
  gap: 9px!important;
}
.iot-head-actions .btn,.iot-refresh-btn {
  height: 40px;
  padding: 0 14px!important;
  border-radius: 10px!important;
  font-size: 11px!important;
  gap: 6px;
  box-shadow: none!important;
}
.iot-head-actions .primary {
  box-shadow: 0 5px 14px rgba(15,143,128,.18)!important;
}
.iot-head-actions .primary:hover {
  transform: translateY(-1px);
}
.iot-dev-tool {
  color: #41665f!important;
  background: #fff!important;
}
.iot-dev-tool:hover {
  background: #f5faf8!important;
}
.iot-refresh-btn {
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
}
.iot-refresh-btn span {
  font-size: 15px;
  line-height: 1;
}
.iot-device-card .table-wrap,.iot-reading-card .table-wrap {
  margin: 0 18px 18px;
  border: 1px solid #dce9e5;
  border-radius: 12px;
  overflow: auto;
  background: #fff;
}
.iot-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.iot-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 12px 13px!important;
  background: #f3f8f6!important;
  border-bottom: 1px solid #d7e6e1!important;
  color: #59736d!important;
  font-size: 8.5px!important;
  font-weight: 900!important;
  letter-spacing: .08em!important;
  text-transform: uppercase!important;
}
.iot-table tbody td {
  padding: 13px!important;
  border-bottom: 1px solid #edf3f1!important;
  color: #365b54;
  font-size: 11px!important;
  background: #fff;
  transition: background .15s ease;
}
.iot-table tbody tr:last-child td {
  border-bottom: 0!important;
}
.iot-table tbody tr:hover td {
  background: #f9fcfb;
}
.iot-table td:first-child strong,.iot-table td:nth-child(2) strong {
  font-size: 11px;
  color: #123f39;
}
.iot-table td small {
  font-size: 9px!important;
  color: #84958f!important;
}
.iot-status {
  padding: 5px 8px;
  border-radius: 999px;
  background: #f4f7f6;
}
.iot-status.online {
  background: #ecfaf5;
}
.iot-status.offline {
  background: #f3f5f5;
}
.iot-control-btn {
  padding: 7px 10px!important;
  border-radius: 8px!important;
  font-size: 9px!important;
  transition: .15s ease;
}
.iot-control-btn:hover {
  transform: translateY(-1px);
}
.iot-reading-status {
  padding: 5px 8px!important;
  font-size: 9px!important;
  letter-spacing: .01em;
}
.iot-empty {
  height: 118px;
  padding: 30px 20px!important;
  background: linear-gradient(180deg,#fff,#fbfdfc)!important;
}
.iot-empty strong {
  font-size: 11px!important;
  color: #315e57!important;
}
.iot-empty span {
  max-width: 440px;
  margin: 5px auto 0;
  font-size: 10px;
  line-height: 1.5;
  color: #82958f;
}
.iot-empty:before {
  content: "○";
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0 auto 9px;
  border: 1px dashed #bcd4ce;
  border-radius: 10px;
  background: #f4faf8;
  color: #7da39a;
  font-size: 17px;
}
.iot-empty.error:before {
  content: "!";
  border-color: #efc7c4;
  background: #fff5f4;
  color: #aa4a46;
}
.iot-modal-backdrop {
  background: rgba(8,36,32,.48)!important;
  backdrop-filter: blur(5px)!important;
}
.iot-modal-dialog {
  width: min(560px,100%)!important;
  border-radius: 20px!important;
  padding: 28px!important;
  border: 1px solid rgba(211,228,223,.95)!important;
  box-shadow: 0 35px 90px rgba(3,36,31,.26)!important;
}
.iot-modal-dialog:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 4px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(90deg,#0f8f80,#48baa5);
}
.iot-modal-close {
  top: 16px!important;
  right: 16px!important;
  width: 36px!important;
  height: 36px!important;
  border-radius: 10px!important;
  display: grid;
  place-items: center;
  transition: .15s ease;
}
.iot-modal-close:hover {
  background: #e3f1ed!important;
  transform: rotate(2deg);
}
.iot-modal-dialog h2 {
  font-size: 23px!important;
  letter-spacing: -.025em!important;
  color: #183f39!important;
}
.iot-modal-copy {
  font-size: 11px!important;
  line-height: 1.55!important;
  max-width: 460px;
}
.iot-modal-note {
  display: flex;
  gap: 10px;
  margin: 15px 0 18px;
  padding: 11px 12px;
  border: 1px solid #dceae6;
  border-radius: 11px;
  background: #f6faf9;
}
.iot-modal-note>span {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  height: 24px;
  border-radius: 50%;
  background: #daf2eb;
  color: #0a7567;
  font: 900 11px/1 system-ui;
}
.iot-modal-note p {
  margin: 0;
  color: #647d77;
  font-size: 10px;
  line-height: 1.5;
}
.iot-modal-note strong {
  color: #285d54;
}
.iot-device-form {
  gap: 16px!important;
}
.iot-device-form label>span {
  font-size: 9px!important;
}
.iot-device-form label>small {
  display: block;
  margin-top: 5px;
  color: #83948f;
  font-size: 9px;
  line-height: 1.35;
}
.iot-device-form input {
  height: 44px!important;
  border-radius: 10px!important;
  background: #fcfefd!important;
  font-size: 12px!important;
}
.iot-modal-actions {
  padding-top: 4px!important;
}
.iot-modal-actions .btn {
  min-width: 108px;
  height: 41px;
  padding: 0 15px!important;
  font-size: 11px!important;
}
.iot-token-box {
  border-radius: 12px!important;
  padding: 15px!important;
}
.iot-token-box strong {
  font-size: 12px;
}
.iot-token-box span {
  font-size: 10px!important;
}
.iot-token-box code {
  font-size: 10px!important;
  line-height: 1.5;
}
@media (max-width:900px) {
  .iot-page-intro {
    align-items: flex-start;
  }
  .iot-intro-status {
    display: none;
  }
  .iot-device-card .table-wrap,.iot-reading-card .table-wrap {
    margin: 0 12px 12px;
  }
}
@media (max-width:760px) {
  .iot-page-intro {
    padding: 15px;
  }
  .iot-page-intro h2 {
    font-size: 18px;
  }
  .iot-head-actions {
    grid-template-columns: 1fr 1fr!important;
  }
  .iot-section-head {
    padding: 16px!important;
  }
  .iot-device-card .table-wrap,.iot-reading-card .table-wrap {
    margin: 0 10px 10px;
  }
  .iot-modal-dialog {
    padding: 22px!important;
  }
  .iot-table {
    min-width: 780px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .iot-live-dot:after {
    animation: none;
  }
  .iot-metric-grid article,.iot-control-btn {
    transition: none!important;
  }
}
/* IoT Monitoring — align KPI rail with Assessment Review Queue */
#view-iot .iot-page-intro {
  display: none!important;
}
#view-iot .iot-metric-grid {
  display: grid!important;
  grid-template-columns: repeat(4,minmax(0,1fr))!important;
  gap: 0!important;
  margin: 0 0 16px!important;
  padding: 0!important;
  overflow: hidden!important;
  border: 1px solid #d8e5e2!important;
  border-radius: 12px!important;
  background: #fff!important;
  box-shadow: 0 4px 14px rgba(20,72,63,.035)!important;
}
#view-iot .iot-metric-grid article {
  appearance: none!important;
  position: relative!important;
  min-width: 0!important;
  min-height: 94px!important;
  padding: 15px 16px 14px!important;
  border: 0!important;
  border-right: 1px solid #e4ecea!important;
  border-radius: 0!important;
  background: #fff!important;
  box-shadow: none!important;
  transform: none!important;
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  grid-template-rows: auto 1fr!important;
  column-gap: 10px!important;
  align-items: initial!important;
}
#view-iot .iot-metric-grid article:last-child {
  border-right: 0!important;
}
#view-iot .iot-metric-grid article:hover {
  background: #f8fbfa!important;
  transform: none!important;
  box-shadow: none!important;
}
#view-iot .iot-metric-grid article>span {
  grid-column: 1!important;
  grid-row: 1!important;
  font-size: 10.5px!important;
  font-weight: 800!important;
  color: #536f69!important;
  line-height: 1.2!important;
  text-transform: uppercase!important;
  letter-spacing: .04em!important;
}
#view-iot .iot-metric-grid article>strong {
  grid-column: 2!important;
  grid-row: 1 / span 2!important;
  align-self: center!important;
  font-size: 29px!important;
  line-height: 1!important;
  font-weight: 750!important;
  color: #153f38!important;
  letter-spacing: -.8px!important;
}
#view-iot .iot-metric-grid article>small {
  grid-column: 1!important;
  grid-row: 2!important;
  margin: 7px 0 0!important;
  font-size: 9.5px!important;
  line-height: 1.35!important;
  color: #82928e!important;
  font-weight: 400!important;
}
#view-iot .iot-metric-grid article::before {
  content: ""!important;
  position: absolute!important;
  left: 16px!important;
  bottom: 10px!important;
  top: auto!important;
  right: auto!important;
  width: 22px!important;
  height: 2px!important;
  border: 0!important;
  border-radius: 999px!important;
  background: #51a99a!important;
  opacity: .8!important;
}
#view-iot .iot-metric-grid article::after {
  content: none!important;
  display: none!important;
}
#view-iot .iot-metric-grid article:nth-child(3)::before {
  background: #d9a23a!important;
}
#view-iot .iot-metric-grid article:nth-child(4)::before {
  background: #cbdad6!important;
}
@media (max-width:900px) {
  #view-iot .iot-metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-iot .iot-metric-grid article:nth-child(2) {
    border-right: 0!important;
  }
  #view-iot .iot-metric-grid article:nth-child(-n+2) {
    border-bottom: 1px solid #e4ecea!important;
  }
}
@media (max-width:560px) {
  #view-iot .iot-metric-grid {
    grid-template-columns: 1fr!important;
  }
  #view-iot .iot-metric-grid article {
    border-right: 0!important;
    border-bottom: 1px solid #e4ecea!important;
  }
  #view-iot .iot-metric-grid article:last-child {
    border-bottom: 0!important;
  }
}
/* ============================================================
   BagulinAgriTech Login — Professional refresh (2026-08-30)
   ============================================================ */
.login-body {
  --login-green: #0a6f64;
  --login-green-2: #07584f;
  --login-deep: #083f3a;
  --login-ink: #143f39;
  --login-muted: #6d827d;
  --login-line: #d8e7e3;
  min-height: 100dvh!important;
  display: grid!important;
  place-items: center!important;
  padding: clamp(22px,4vw,54px)!important;
  overflow-x: hidden;
  background: radial-gradient(circle at 12% 16%,rgba(79,210,183,.18),transparent 30%),
    radial-gradient(circle at 86% 78%,rgba(15,143,128,.08),transparent 28%),
    linear-gradient(135deg,#edf8f5 0%,#f8fbfa 48%,#eef7f4 100%)!important;
  color: var(--login-ink);
}
.login-body::before,.login-body::after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  filter: blur(.2px);
}
.login-body::before {
  width: 420px;
  height: 420px;
  left: -190px;
  bottom: -210px;
  border: 1px solid rgba(15,143,128,.12);
  box-shadow: 0 0 0 46px rgba(15,143,128,.025),0 0 0 98px rgba(15,143,128,.018);
}
.login-body::after {
  width: 270px;
  height: 270px;
  right: -120px;
  top: -135px;
  border: 1px solid rgba(15,143,128,.09);
  box-shadow: 0 0 0 42px rgba(15,143,128,.018);
}
.login-shell {
  position: relative;
  z-index: 1;
  width: min(1040px,96vw)!important;
  min-height: 610px;
  display: grid!important;
  grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr)!important;
  overflow: hidden;
  border: 1px solid rgba(191,216,209,.92)!important;
  border-radius: 28px!important;
  background: #fff!important;
  box-shadow: 0 34px 90px rgba(12,65,57,.17),0 2px 8px rgba(12,65,57,.04)!important;
}
.login-brand {
  position: relative;
  display: flex!important;
  flex-direction: column!important;
  align-items: stretch!important;
  justify-content: space-between!important;
  min-height: 610px!important;
  padding: 34px 48px 32px!important;
  overflow: hidden;
  text-align: left!important;
  color: #fff;
  background: linear-gradient(155deg,rgba(13,124,110,.97) 0%,rgba(8,91,82,.99) 52%,rgba(6,68,62,1) 100%)!important;
}
.login-brand::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: linear-gradient(to bottom,rgba(0,0,0,.35),transparent 72%);
  mask-image: linear-gradient(to bottom,rgba(0,0,0,.35),transparent 72%);
}
.login-brand-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.login-brand-orb-one {
  width: 330px;
  height: 330px;
  right: -145px;
  top: -125px;
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 0 0 42px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.018);
}
.login-brand-orb-two {
  width: 190px;
  height: 190px;
  left: -95px;
  bottom: 52px;
  border: 1px solid rgba(255,255,255,.09);
}
.login-brand-top,.login-brand-main,.login-brand-footer {
  position: relative;
  z-index: 1;
}
.login-brand-office {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #d7f5ee;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.login-brand-office i,.login-brand-footer i {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6ee7b7;
  box-shadow: 0 0 0 4px rgba(110,231,183,.12);
}
.login-brand-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start!important;
  justify-content: center;
  flex: 1;
  padding: 18px 0 14px;
}
.login-logo-wrap {
  display: flex!important;
  align-items: center!important;
  justify-content: flex-start!important;
  width: auto!important;
  margin: 0 0 15px!important;
}
.login-brand-logo {
  width: 134px!important;
  max-height: 134px!important;
  margin: 0!important;
  filter: drop-shadow(0 17px 28px rgba(0,0,0,.22))!important;
  animation: none!important;
}
.login-brand-kicker {
  display: inline-block;
  margin-bottom: 7px;
  color: #a9e6d8;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.login-brand h1 {
  margin: 0 0 8px!important;
  font-size: clamp(36px,4vw,46px)!important;
  line-height: 1!important;
  letter-spacing: -.045em;
  text-align: left!important;
  color: #fff;
}
.login-brand .login-tagline {
  max-width: 420px;
  margin: 0!important;
  color: #f5d98a!important;
  font-size: 13px!important;
  font-weight: 850!important;
  line-height: 1.45;
  text-align: left!important;
  letter-spacing: .015em!important;
}
.login-brand-summary {
  max-width: 430px;
  margin: 13px 0 0;
  color: #c9e8e1;
  font-size: 12px;
  line-height: 1.6;
}
.login-features {
  width: 100%!important;
  max-width: 440px!important;
  display: grid!important;
  grid-template-columns: 1fr!important;
  gap: 8px!important;
  margin: 24px 0 0!important;
  text-align: left!important;
}
.login-features>div {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 11px;
  background: rgba(255,255,255,.045);
  backdrop-filter: blur(2px);
}
.login-features>div:hover {
  background: rgba(255,255,255,.065);
}
.login-features>div>span:last-child {
  display: block;
}
.login-features strong {
  display: block;
  color: #fff;
  font-size: 11px;
  line-height: 1.25;
}
.login-features small {
  display: block;
  margin-top: 2px;
  color: #abd7ce;
  font-size: 9.5px;
  line-height: 1.35;
}
.login-features span:before {
  content: none!important;
}
.login-feature-icon {
  display: grid!important;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(110,231,183,.12);
  border: 1px solid rgba(110,231,183,.18);
  color: #8ff0ca;
  font-size: 13px;
  font-weight: 900;
}
.login-brand-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 17px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: #bfe2da;
  font-size: 9px;
}
.login-brand-footer>span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 750;
}
.login-brand-footer small {
  color: #8fc2b7;
  font-size: 9px;
}
.login-card {
  position: relative;
  display: flex!important;
  flex-direction: column!important;
  justify-content: center!important;
  padding: 52px 54px!important;
  background: radial-gradient(circle at 92% 8%,rgba(15,143,128,.055),transparent 25%),
    #fff;
}
.login-card-brand {
  display: none!important;
}
.login-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 6px 9px;
  border: 1px solid #d8ebe6;
  border-radius: 999px;
  background: #f2faf7;
  color: #08786c;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.login-auth-badge span {
  font-size: 7px;
  color: #22b792;
  box-shadow: 0 0 0 3px rgba(34,183,146,.08);
  border-radius: 50%;
}
.login-card-heading {
  margin-bottom: 21px;
}
.login-card h2 {
  margin: 0 0 7px!important;
  font-size: 32px!important;
  line-height: 1.08!important;
  letter-spacing: -.035em;
  color: #133f39;
}
.login-card-heading p {
  max-width: 340px;
  margin: 0;
  color: #70837f;
  font-size: 12.5px;
  line-height: 1.55;
}
.login-card .login-error {
  display: grid;
  gap: 3px;
  margin: 0 0 17px!important;
  padding: 12px 13px!important;
  border-radius: 10px!important;
  font-size: 10.5px;
}
.login-card .login-error strong {
  font-size: 10px;
}
.login-card .login-error span {
  line-height: 1.45;
}
.login-field {
  display: grid;
  gap: 7px;
  margin: 0 0 14px;
}
.login-field>label {
  margin: 0!important;
  color: #315a53!important;
  font-size: 10px!important;
  font-weight: 850!important;
  letter-spacing: .02em;
}
.login-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.login-input-icon {
  position: absolute;
  left: 14px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #77918b;
  pointer-events: none;
}
.login-input-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.login-card .login-input-wrap>input {
  width: 100%!important;
  height: 50px!important;
  min-height: 50px!important;
  padding: 0 14px 0 43px!important;
  border: 1px solid #ccded9!important;
  border-radius: 11px!important;
  background: #fbfdfc!important;
  color: #163f39;
  font-size: 12px;
  font-weight: 650;
  outline: none!important;
  transition: border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.login-card .login-input-wrap>input::placeholder {
  color: #9aaca8;
  font-weight: 500;
}
.login-card .login-input-wrap>input:hover {
  border-color: #b6d1ca!important;
  background: #fff!important;
}
.login-card .login-input-wrap>input:focus {
  border-color: #2a9c8e!important;
  background: #fff!important;
  box-shadow: 0 0 0 4px rgba(15,143,128,.095)!important;
}
.login-input-wrap:focus-within .login-input-icon {
  color: #0f8f80;
}
.login-card .password-field input {
  padding-right: 68px!important;
  padding-left: 43px!important;
}
.login-card .password-toggle {
  right: 7px!important;
  min-width: 48px!important;
  padding: 8px 9px!important;
  border-radius: 8px!important;
  background: #edf7f4!important;
  color: #0a756a!important;
  font-size: 9.5px!important;
}
.login-card .password-toggle:hover {
  background: #dff1ec!important;
}
.login-form-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 1px 0 17px;
}
.login-card .remember-row {
  margin: 0!important;
  gap: 8px!important;
  color: #58716b!important;
  font-size: 10px!important;
}
.login-card .remember-row input {
  width: 15px!important;
  height: 15px!important;
  border-radius: 4px!important;
}
.login-access-note {
  color: #8a9b97;
  font-size: 9px;
  font-weight: 700;
}
.login-card .login-submit {
  width: 100%;
  min-height: 50px!important;
  border: 0!important;
  border-radius: 11px!important;
  background: linear-gradient(135deg,#119989,#087d71)!important;
  box-shadow: 0 9px 18px rgba(9,126,113,.17);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .01em;
  transition: transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.login-card .login-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(9,126,113,.22);
  filter: saturate(1.05);
}
.login-card .login-submit:active {
  transform: none;
}
.login-button-arrow {
  margin-left: 3px;
  font-size: 16px;
  line-height: 1;
  transition: transform .15s ease;
}
.login-submit:hover .login-button-arrow {
  transform: translateX(2px);
}
.login-submit.is-loading .login-button-arrow {
  display: none;
}
.login-security-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 17px;
  padding: 11px 12px;
  border: 1px solid #e0ece9;
  border-radius: 10px;
  background: #f8fbfa;
}
.login-security-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  background: #e0f5ee;
  color: #0a7c6f;
  font-size: 10px;
  font-weight: 900;
}
.login-security-note p {
  margin: 1px 0 0;
}
.login-security-note strong {
  display: block;
  color: #496a63;
  font-size: 9.5px;
}
.login-security-note small {
  display: block;
  margin-top: 2px;
  color: #83948f;
  font-size: 8.8px;
  line-height: 1.35;
}
.login-card .login-footer {
  margin-top: 19px!important;
  padding-top: 14px!important;
  border-top: 1px solid #e8efed!important;
  color: #8a9b97!important;
  font-size: 8.8px!important;
}
.login-card .login-footer span:first-child {
  color: #52716a!important;
}
@media (max-width:900px) {
  .login-body {
    padding: 24px!important;
  }
  .login-shell {
    width: min(520px,96vw)!important;
    min-height: 0!important;
    grid-template-columns: 1fr!important;
    border-radius: 23px!important;
  }
  .login-brand {
    display: none!important;
  }
  .login-card {
    padding: 38px 38px 34px!important;
    min-height: 550px;
  }
  .login-card-brand {
    display: flex!important;
    align-items: center;
    gap: 10px;
    margin: 0 0 25px!important;
    padding: 0 0 15px!important;
    border-bottom: 1px solid #e7efed;
  }
  .login-card-brand img {
    width: 46px!important;
    height: 46px!important;
  }
  .login-card-brand b {
    font-size: 15px!important;
    color: #153f39;
  }
  .login-card-brand small {
    font-size: 9px!important;
    color: #78908a!important;
  }
}
@media (max-width:560px) {
  .login-body {
    display: block!important;
    padding: 12px!important;
    background: #f3f9f7!important;
  }
  .login-body::before,.login-body::after {
    display: none;
  }
  .login-shell {
    width: 100%!important;
    min-height: calc(100dvh - 24px)!important;
    border-radius: 18px!important;
  }
  .login-card {
    padding: 28px 22px!important;
    min-height: calc(100dvh - 24px);
  }
  .login-card h2 {
    font-size: 28px!important;
  }
  .login-card-heading p {
    font-size: 11.5px;
  }
  .login-form-options {
    align-items: flex-start;
  }
  .login-access-note {
    display: none;
  }
  .login-card .login-footer {
    flex-direction: column!important;
    align-items: flex-start!important;
    text-align: left!important;
    gap: 2px!important;
  }
}
/* ==========================================================================
   Login — full-screen reference-inspired split layout
   ========================================================================== */
.login-reference-body {
  min-height: 100vh!important;
  display: block!important;
  padding: 0!important;
  overflow: hidden;
  background: #f6f9f8!important;
}
.login-reference-body::before,
.login-reference-body::after {
  display: none!important;
}
.login-reference-shell {
  width: 100%!important;
  min-height: 100vh!important;
  display: grid!important;
  grid-template-columns: minmax(520px,48%) minmax(0,52%)!important;
  border: 0!important;
  border-radius: 0!important;
  overflow: hidden!important;
  background: #f7faf9!important;
  box-shadow: none!important;
}
.login-reference-brand {
  position: relative!important;
  min-height: 100vh!important;
  display: flex!important;
  flex-direction: column!important;
  justify-content: space-between!important;
  align-items: stretch!important;
  padding: 52px 54px 42px!important;
  overflow: hidden!important;
  text-align: left!important;
  color: #fff!important;
  background: #075943!important;
}
.login-reference-brand::before {
  content: ""!important;
  position: absolute!important;
  inset: 0!important;
  pointer-events: none!important;
  background: linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.035))!important;
  -webkit-mask-image: none!important;
  mask-image: none!important;
}
.login-reference-brandmark {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
}
.login-reference-brandmark img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.18));
}
.login-reference-brandmark strong,
.login-reference-brandmark small {
  display: block;
}
.login-reference-brandmark strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: -.015em;
}
.login-reference-brandmark small {
  margin-top: 3px;
  color: #b8d9ce;
  font-size: 9.5px;
  line-height: 1.2;
}
.login-reference-hero {
  position: relative;
  z-index: 3;
  width: min(560px,90%);
  margin-top: auto;
  margin-bottom: auto;
  padding: 72px 0 8px;
}
.login-reference-kicker {
  display: block;
  margin-bottom: 14px;
  color: #b8d9ce;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.login-reference-brand h1 {
  margin: 0!important;
  max-width: 580px!important;
  color: #fff!important;
  font-size: clamp(42px,4vw,60px)!important;
  line-height: .98!important;
  font-weight: 850!important;
  letter-spacing: -.052em!important;
  text-align: left!important;
}
.login-reference-hero p {
  max-width: 560px;
  margin: 18px 0 0;
  color: #d8ebe5;
  font-size: 13px;
  line-height: 1.65;
}
.login-reference-brandfooter {
  position: relative;
  z-index: 3;
  color: #9ccbc0;
  font-size: 9.5px;
  letter-spacing: .01em;
}
.login-reference-rings {
  position: absolute;
  z-index: 1;
  right: -235px;
  bottom: -250px;
  width: 650px;
  height: 650px;
  border: 2px solid rgba(255,255,255,.035);
  border-radius: 50%;
  box-shadow: 0 0 0 82px rgba(255,255,255,.027),
    0 0 0 166px rgba(255,255,255,.019);
}
.login-reference-rings::after {
  content: "";
  position: absolute;
  inset: 118px;
  border: 2px solid rgba(255,255,255,.045);
  border-radius: 50%;
}
.login-reference-access {
  min-width: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 44px;
  background: #f7faf9;
}
.login-reference-card {
  width: min(430px,100%)!important;
  min-height: 0!important;
  justify-self: auto!important;
  align-self: auto!important;
  padding: 29px 31px 28px!important;
  border: 1px solid #d9e5e2!important;
  border-radius: 18px!important;
  background: #fff!important;
  box-shadow: 0 22px 55px rgba(20,63,56,.10)!important;
}
.login-reference-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #087a68;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.login-reference-card .login-card-heading {
  margin-bottom: 20px!important;
}
.login-reference-card .login-card-heading h2 {
  margin: 0 0 6px!important;
  color: #112f2a!important;
  font-size: 27px!important;
  line-height: 1.04!important;
  font-weight: 850!important;
  letter-spacing: -.04em!important;
}
.login-reference-card .login-card-heading p {
  max-width: 340px!important;
  margin: 0!important;
  color: #768984!important;
  font-size: 10.5px!important;
  line-height: 1.5!important;
}
.login-reference-card .login-field {
  gap: 6px!important;
  margin: 0 0 11px!important;
}
.login-reference-card .login-field>label {
  margin: 0!important;
  color: #23483f!important;
  font-size: 9.5px!important;
  font-weight: 850!important;
}
.login-reference-card .login-reference-input>input {
  width: 100%!important;
  height: 42px!important;
  min-height: 42px!important;
  padding: 0 12px!important;
  border: 1px solid #c9dad5!important;
  border-radius: 9px!important;
  background: #fff!important;
  color: #173f39!important;
  font-size: 10.5px!important;
  font-weight: 650!important;
  outline: 0!important;
  box-shadow: none!important;
  transition: border-color .15s ease,box-shadow .15s ease!important;
}
.login-reference-card .login-reference-input>input::placeholder {
  color: #889995!important;
  font-weight: 550!important;
}
.login-reference-card .login-reference-input>input:focus {
  border-color: #148c79!important;
  box-shadow: 0 0 0 3px rgba(20,140,121,.09)!important;
}
.login-reference-card .password-field input {
  padding-right: 60px!important;
}
.login-reference-toggle {
  right: 6px!important;
  min-width: 43px!important;
  padding: 6px 8px!important;
  border: 0!important;
  border-radius: 7px!important;
  background: #eef6f3!important;
  color: #176e61!important;
  font-size: 8.5px!important;
  font-weight: 850!important;
}
.login-reference-toggle:hover {
  background: #e2f0ec!important;
}
.login-reference-card .login-error {
  margin: 0 0 13px!important;
  padding: 10px 11px!important;
  border-radius: 8px!important;
  font-size: 9.5px!important;
}
.login-reference-submit {
  width: 100%!important;
  min-height: 43px!important;
  margin-top: 4px!important;
  border: 0!important;
  border-radius: 9px!important;
  background: #0b6d4f!important;
  box-shadow: none!important;
  color: #fff!important;
  font-size: 10.5px!important;
  font-weight: 900!important;
  letter-spacing: 0!important;
}
.login-reference-submit:hover {
  transform: none!important;
  background: #075b43!important;
  box-shadow: none!important;
  filter: none!important;
}
.login-reference-security {
  display: block!important;
  margin: 15px 0 0!important;
  padding: 11px 12px!important;
  border: 0!important;
  border-radius: 8px!important;
  background: #f5f7f6!important;
}
.login-reference-security p {
  margin: 0!important;
  color: #899791!important;
  font-size: 8.4px!important;
  line-height: 1.55!important;
}
@media (max-width:980px) {
  .login-reference-shell {
    grid-template-columns: 44% 56%!important;
  }
  .login-reference-brand {
    display: flex!important;
    padding: 40px 34px 34px!important;
  }
  .login-reference-brand h1 {
    font-size: clamp(36px,5vw,48px)!important;
  }
  .login-reference-hero p {
    font-size: 12px;
  }
  .login-reference-access {
    padding: 30px;
  }
}
@media (max-width:760px) {
  .login-reference-body {
    overflow: auto!important;
  }
  .login-reference-shell {
    display: block!important;
    min-height: 100vh!important;
  }
  .login-reference-brand {
    min-height: auto!important;
    padding: 22px 22px 20px!important;
  }
  .login-reference-brandmark img {
    width: 42px;
    height: 42px;
  }
  .login-reference-brandmark strong {
    font-size: 14px;
  }
  .login-reference-hero {
    width: 100%;
    margin: 34px 0 12px;
    padding: 0;
  }
  .login-reference-brand h1 {
    max-width: 500px!important;
    font-size: 36px!important;
    line-height: 1.02!important;
  }
  .login-reference-hero p {
    max-width: 520px;
    margin-top: 12px;
    font-size: 11px;
  }
  .login-reference-brandfooter,
  .login-reference-rings {
    display: none;
  }
  .login-reference-access {
    min-height: auto;
    padding: 28px 18px 36px;
  }
  .login-reference-card {
    width: min(470px,100%)!important;
    padding: 26px 24px!important;
  }
}
@media (max-width:460px) {
  .login-reference-brand h1 {
    font-size: 31px!important;
  }
  .login-reference-card {
    border-radius: 14px!important;
    padding: 23px 19px!important;
  }
}
/* ============================================================
   2026-08-31 IoT Monitoring — unified on-demand redesign
   ============================================================ */
#view-iot.iot-admin-view {
  padding-bottom: 34px;
}
#view-iot .iot-page-summary {
  margin-bottom: 18px;
}
#view-iot .iot-metric-grid {
  display: grid!important;
  grid-template-columns: repeat(4,minmax(0,1fr))!important;
  gap: 0!important;
  margin: 0!important;
  overflow: hidden!important;
  border: 1px solid #d8e5e1!important;
  border-radius: 18px!important;
  background: #fff!important;
  box-shadow: 0 10px 28px rgba(17,62,54,.045)!important;
}
#view-iot .iot-metric-grid article {
  position: relative!important;
  min-height: 112px!important;
  padding: 20px 22px 18px!important;
  border: 0!important;
  border-right: 1px solid #e4ece9!important;
  border-radius: 0!important;
  background: linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  grid-template-rows: auto 1fr auto!important;
  column-gap: 14px!important;
  box-shadow: none!important;
  transform: none!important;
}
#view-iot .iot-metric-grid article:last-child {
  border-right: 0!important;
}
#view-iot .iot-metric-grid article>span {
  grid-column: 1!important;
  color: #58736d!important;
  font-size: 10px!important;
  font-weight: 900!important;
  letter-spacing: .075em!important;
  text-transform: uppercase!important;
}
#view-iot .iot-metric-grid article>strong {
  grid-column: 2!important;
  grid-row: 1/span 3!important;
  align-self: center!important;
  min-width: 48px!important;
  color: #103e37!important;
  font-size: 34px!important;
  font-weight: 800!important;
  line-height: 1!important;
  letter-spacing: -.04em!important;
  text-align: right!important;
  font-variant-numeric: tabular-nums!important;
}
#view-iot .iot-metric-grid article>small {
  grid-column: 1!important;
  align-self: start!important;
  margin-top: 8px!important;
  color: #7d918c!important;
  font-size: 10.5px!important;
  font-weight: 650!important;
  line-height: 1.45!important;
}
#view-iot .iot-metric-grid article:before {
  content: ""!important;
  position: absolute!important;
  left: 22px!important;
  right: auto!important;
  top: auto!important;
  bottom: 13px!important;
  width: 28px!important;
  height: 3px!important;
  border: 0!important;
  border-radius: 999px!important;
  background: #35aa98!important;
}
#view-iot .iot-metric-grid article:nth-child(2):before {
  background: #2fbe8b!important;
}
#view-iot .iot-metric-grid article:nth-child(3):before {
  background: #e3aa3c!important;
}
#view-iot .iot-metric-grid article:nth-child(4):before {
  background: #6e9f94!important;
}
#view-iot .iot-metric-grid article:after {
  display: none!important;
}
#view-iot .iot-device-card,#view-iot .iot-reading-card {
  margin-top: 18px!important;
  padding: 0!important;
  overflow: hidden!important;
  border: 1px solid #d9e6e2!important;
  border-radius: 18px!important;
  background: #fff!important;
  box-shadow: 0 12px 30px rgba(17,62,54,.045)!important;
}
#view-iot .iot-section-head {
  display: flex!important;
  align-items: center!important;
  justify-content: space-between!important;
  gap: 24px!important;
  padding: 22px 24px 18px!important;
  border-bottom: 1px solid #e6efec!important;
  background: linear-gradient(180deg,#fff 0%,#fcfefd 100%)!important;
}
#view-iot .iot-heading-copy {
  max-width: 820px;
}
#view-iot .iot-section-head .eyebrow {
  color: #0d8879!important;
  font-size: 9.5px!important;
  font-weight: 900!important;
  letter-spacing: .12em!important;
}
#view-iot .iot-section-head h2 {
  margin: 4px 0 6px!important;
  color: #123d37!important;
  font-size: 21px!important;
  line-height: 1.2!important;
}
#view-iot .iot-section-head p {
  margin: 0!important;
  color: #687e79!important;
  font-size: 11.5px!important;
  line-height: 1.55!important;
}
#view-iot .iot-head-actions,#view-iot .iot-reading-head-actions {
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  flex: 0 0 auto!important;
}
#view-iot .iot-head-actions .btn,#view-iot .iot-reading-head-actions .btn {
  min-height: 44px!important;
  border-radius: 11px!important;
  padding: 0 15px!important;
  font-size: 10.5px!important;
  font-weight: 850!important;
}
#view-iot .iot-add-device-btn {
  background: linear-gradient(135deg,#119a8a,#0b7f72)!important;
  box-shadow: 0 7px 16px rgba(17,154,138,.15)!important;
}
#view-iot .iot-dev-tool,#view-iot .iot-refresh-btn {
  background: #fff!important;
  color: #315d56!important;
  border: 1px solid #cedfd9!important;
}
#view-iot .iot-refresh-btn.is-loading span {
  display: inline-block;
  animation: iotSpin .8s linear infinite;
}
@keyframes iotSpin {
  to {
    transform: rotate(360deg);
  }
}
#view-iot .iot-latest-summary {
  min-width: 148px;
  padding-right: 4px;
  text-align: right;
}
#view-iot .iot-latest-summary span {
  display: block;
  color: #748984;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}
#view-iot .iot-latest-summary strong {
  display: block;
  margin-top: 3px;
  color: #153f38;
  font-size: 19px;
  line-height: 1.1;
}
#view-iot .iot-latest-summary small {
  display: block;
  margin-top: 3px;
  color: #849590;
  font-size: 9px;
}
#view-iot .iot-card-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 14px 20px 0;
  padding: 10px 12px;
  border: 1px solid #dbe8e4;
  border-radius: 10px;
  background: #f7fbfa;
  color: #617a74;
  font-size: 10.5px;
  font-weight: 700;
}
#view-iot .iot-card-meta.good {
  background: #f0faf6;
  border-color: #d0eadf;
  color: #176b59;
}
#view-iot .iot-card-meta.warning {
  background: #fff9ec;
  border-color: #eedcae;
  color: #8a6519;
}
#view-iot .iot-card-meta.subtle {
  background: #f8faf9;
  border-style: dashed;
  color: #7b8d88;
}
#view-iot .iot-meta-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #a7b8b4;
  flex: 0 0 8px;
}
#view-iot .iot-meta-dot.online {
  background: #2fc594;
  box-shadow: 0 0 0 4px rgba(47,197,148,.12);
}
#view-iot .iot-meta-dot.unknown {
  background: #d5a641;
  box-shadow: 0 0 0 4px rgba(213,166,65,.12);
}
#view-iot .iot-device-table-wrap,#view-iot .iot-reading-table-wrap {
  margin: 14px 20px 20px!important;
  border: 1px solid #dce8e4!important;
  border-radius: 14px!important;
  overflow: auto!important;
  background: #fff!important;
}
#view-iot .iot-table {
  width: 100%!important;
  border-collapse: separate!important;
  border-spacing: 0!important;
  background: #fff!important;
}
#view-iot .iot-device-table {
  min-width: 920px!important;
}
#view-iot .iot-reading-table {
  min-width: 1120px!important;
}
#view-iot .iot-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 13px 14px!important;
  border-bottom: 1px solid #d9e7e3!important;
  background: #f4f9f7!important;
  color: #59746d!important;
  font-size: 9px!important;
  font-weight: 900!important;
  letter-spacing: .065em!important;
  text-transform: uppercase!important;
  white-space: nowrap!important;
}
#view-iot .iot-table tbody td {
  padding: 14px!important;
  border-bottom: 1px solid #edf2f0!important;
  color: #31534d!important;
  font-size: 10.5px!important;
  vertical-align: middle!important;
  white-space: nowrap!important;
}
#view-iot .iot-table tbody tr:last-child td {
  border-bottom: 0!important;
}
#view-iot .iot-table tbody tr:hover td {
  background: #fcfefd!important;
}
#view-iot .iot-table td strong {
  color: #143f38;
  font-size: 11px;
}
#view-iot .iot-table td small {
  display: block;
  margin-top: 4px;
  color: #849691;
  font-size: 9px;
  line-height: 1.35;
}
#view-iot .iot-device-cell {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 210px;
}
#view-iot .iot-device-avatar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  border: 1px solid #d5e9e3;
  background: #edf8f4;
  color: #0e8978;
  font-size: 17px;
  font-weight: 900;
}
#view-iot .iot-connection,#view-iot .iot-access,#view-iot .iot-active-request,#view-iot .iot-wifi {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
#view-iot .iot-connection i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
#view-iot .iot-connection.online {
  background: #e9f9f2;
  color: #087b64;
}
#view-iot .iot-connection.online i {
  box-shadow: 0 0 0 4px rgba(8,123,100,.10);
}
#view-iot .iot-connection.offline {
  background: #f3f5f5;
  color: #768984;
}
#view-iot .iot-connection.unknown {
  background: #fff7e4;
  color: #9a701c;
}
#view-iot .iot-access.enabled {
  background: #eef8f4;
  color: #236f60;
}
#view-iot .iot-access.disabled {
  background: #f2f3f3;
  color: #7b8986;
}
#view-iot .iot-active-request {
  background: #fff4d8;
  color: #976700;
}
#view-iot .iot-cell-main {
  display: block!important;
  font-size: 10.5px!important;
  font-weight: 850!important;
}
#view-iot .iot-number {
  font-size: 14px!important;
  font-variant-numeric: tabular-nums;
}
#view-iot .iot-muted {
  color: #99a8a4;
  font-size: 10px;
}
#view-iot .iot-control-btn {
  min-height: 32px!important;
  padding: 0 10px!important;
  border-radius: 9px!important;
  font-size: 9px!important;
  font-weight: 850!important;
  line-height: 1!important;
  transition: background .15s ease,border-color .15s ease,transform .15s ease!important;
}
#view-iot .iot-control-btn:hover {
  transform: translateY(-1px);
}
#view-iot .iot-control-btn.danger-soft {
  background: #fff!important;
  border-color: #edcbc7!important;
  color: #a8433f!important;
}
#view-iot .iot-control-btn.danger-soft:hover {
  background: #fff4f3!important;
}
#view-iot .iot-control-btn.success-soft {
  background: #eff9f5!important;
  border-color: #cce8dd!important;
  color: #14715e!important;
}
#view-iot .iot-request-code {
  display: inline-block;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 5px 7px;
  border: 1px solid #e0e9e6;
  border-radius: 7px;
  background: #f7faf9;
  color: #45645d;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: 8.5px;
}
#view-iot .iot-measure {
  font-size: 12px!important;
  font-variant-numeric: tabular-nums;
}
#view-iot .iot-wifi.good {
  background: #edf9f4;
  color: #1d765f;
}
#view-iot .iot-wifi.fair {
  background: #fff7e6;
  color: #926a1c;
}
#view-iot .iot-wifi.weak {
  background: #fff0ee;
  color: #a44b45;
}
#view-iot .iot-wifi.unknown {
  background: #f3f5f5;
  color: #7d8d89;
}
#view-iot .iot-reading-status {
  padding: 6px 9px!important;
  border-radius: 999px!important;
  font-size: 9px!important;
  font-weight: 900!important;
  text-transform: capitalize!important;
}
#view-iot .iot-reading-status.pending {
  background: #fff3cf!important;
  color: #946400!important;
}
#view-iot .iot-reading-status.used {
  background: #e6f8f0!important;
  color: #11725e!important;
}
#view-iot .iot-reading-status.rejected {
  background: #fff0ee!important;
  color: #a34843!important;
}
#view-iot .iot-assessment-link {
  font-weight: 850;
  color: #0d7f70;
}
#view-iot .iot-empty {
  height: 150px!important;
  padding: 36px 20px!important;
  text-align: center!important;
  background: linear-gradient(180deg,#fff,#fbfdfc)!important;
  color: #758984!important;
}
#view-iot .iot-empty:before {
  content: "○";
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 0 auto 10px;
  border: 1px dashed #bbd3cd;
  border-radius: 12px;
  background: #f4faf8;
  color: #76a095;
  font-size: 19px;
}
#view-iot .iot-empty.error:before {
  content: "!";
  border-color: #efc6c2;
  background: #fff5f4;
  color: #a64a45;
}
#view-iot .iot-empty strong {
  display: block;
  color: #315c55!important;
  font-size: 11.5px!important;
}
#view-iot .iot-empty span {
  display: block;
  max-width: 480px;
  margin: 5px auto 0;
  color: #849691;
  font-size: 10px;
  line-height: 1.5;
}
.iot-modal-dialog {
  width: min(560px,100%)!important;
  border-radius: 20px!important;
  padding: 28px!important;
  border: 1px solid #d5e5e0!important;
  box-shadow: 0 30px 80px rgba(7,49,43,.26)!important;
}
.iot-modal-dialog h2 {
  font-size: 24px!important;
  color: #143f39!important;
}
.iot-modal-copy {
  font-size: 12px!important;
  line-height: 1.55!important;
}
.iot-modal-note {
  display: flex;
  gap: 10px;
  margin: 0 0 18px;
  padding: 12px 13px;
  border: 1px solid #d8e9e3;
  border-radius: 12px;
  background: #f3faf7;
  color: #45665f;
}
.iot-modal-note>span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 8px;
  background: #dff3ec;
  color: #087b6c;
  font-weight: 900;
}
.iot-modal-note p {
  margin: 0;
  font-size: 10.5px;
  line-height: 1.5;
}
.iot-device-form {
  gap: 16px!important;
}
.iot-device-form label span {
  font-size: 9.5px!important;
}
.iot-device-form label small {
  display: block;
  margin-top: 5px;
  color: #859690;
  font-size: 9.5px;
  line-height: 1.45;
}
.iot-device-form input {
  min-height: 45px!important;
  border-radius: 10px!important;
}
.iot-token-box {
  border-radius: 14px!important;
  padding: 16px!important;
}
.iot-token-box code {
  font-size: 10px!important;
  line-height: 1.5!important;
}
@media (max-width:1080px) {
  #view-iot .iot-metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-iot .iot-metric-grid article:nth-child(2) {
    border-right: 0!important;
  }
  #view-iot .iot-metric-grid article:nth-child(-n+2) {
    border-bottom: 1px solid #e4ece9!important;
  }
  #view-iot .iot-section-head {
    align-items: flex-start!important;
  }
  #view-iot .iot-reading-head-actions {
    align-items: flex-end!important;
  }
}
@media (max-width:760px) {
  #view-iot .iot-metric-grid {
    grid-template-columns: 1fr!important;
  }
  #view-iot .iot-metric-grid article {
    border-right: 0!important;
    border-bottom: 1px solid #e4ece9!important;
  }
  #view-iot .iot-metric-grid article:last-child {
    border-bottom: 0!important;
  }
  #view-iot .iot-section-head {
    display: grid!important;
    padding: 18px!important;
  }
  #view-iot .iot-head-actions,#view-iot .iot-reading-head-actions {
    width: 100%;
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
  }
  #view-iot .iot-latest-summary {
    grid-column: 1/-1;
    text-align: left;
    min-width: 0;
    padding: 0 0 6px;
  }
  #view-iot .iot-head-actions .btn,#view-iot .iot-reading-head-actions .btn {
    width: 100%;
  }
  #view-iot .iot-card-meta {
    margin: 12px 12px 0;
  }
  #view-iot .iot-device-table-wrap,#view-iot .iot-reading-table-wrap {
    margin: 12px!important;
  }
  .iot-modal-dialog {
    padding: 22px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  #view-iot .iot-refresh-btn.is-loading span {
    animation: none;
  }
}
/* ============================================================
   2026-08-31 IoT Monitoring final layout refinement
   ============================================================ */
#view-iot.iot-admin-view {
  width: min(1460px,100%);
  margin: 0 auto;
}
#view-iot .iot-page-summary {
  margin-bottom: 16px!important;
}
#view-iot .iot-metric-grid {
  box-shadow: 0 8px 22px rgba(17,62,54,.04)!important;
}
#view-iot .iot-metric-grid article {
  min-height: 104px!important;
  padding: 18px 20px 16px!important;
}
#view-iot .iot-metric-grid article>strong {
  font-size: 31px!important;
}
#view-iot .iot-metric-grid article:before {
  left: 20px!important;
  bottom: 12px!important;
  width: 24px!important;
}
#view-iot .iot-device-card,#view-iot .iot-reading-card {
  margin-top: 16px!important;
}
#view-iot .iot-section-head {
  padding: 20px 22px 17px!important;
  gap: 20px!important;
}
#view-iot .iot-section-head h2 {
  font-size: 20px!important;
}
#view-iot .iot-section-head p {
  max-width: 850px!important;
}
#view-iot .iot-card-meta {
  margin: 12px 18px 0!important;
  padding: 9px 11px!important;
}
#view-iot .iot-device-table-wrap,#view-iot .iot-reading-table-wrap {
  margin: 12px 18px 18px!important;
}
#view-iot .iot-table thead th {
  padding: 12px 13px!important;
}
#view-iot .iot-table tbody td {
  padding: 13px!important;
}
#view-iot .iot-device-avatar {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border-radius: 9px;
}
#view-iot .iot-connection.unknown {
  background: #fff6df;
  color: #8d6717;
}
#view-iot .iot-connection.unknown i {
  box-shadow: 0 0 0 4px rgba(141,103,23,.08);
}
#view-iot .iot-empty {
  height: 112px!important;
  padding: 24px 18px!important;
}
#view-iot .iot-empty:before {
  width: 34px;
  height: 34px;
  margin-bottom: 8px;
}
#view-iot .iot-reading-card .iot-empty {
  height: 118px!important;
}
#view-iot .iot-latest-summary {
  min-width: 160px;
}
#view-iot .iot-head-actions .btn,#view-iot .iot-reading-head-actions .btn {
  white-space: nowrap;
}
#view-iot .iot-card-meta.warning {
  background: #fff9ed!important;
  border-color: #ecdba9!important;
  color: #806018!important;
}
#view-iot .iot-card-meta.warning .iot-meta-dot {
  background: #d3a23b!important;
  box-shadow: 0 0 0 4px rgba(211,162,59,.11);
}
@media (max-width:1180px) {
  #view-iot .iot-section-head {
    align-items: flex-start!important;
  }
  #view-iot .iot-heading-copy {
    max-width: 680px;
  }
  #view-iot .iot-head-actions {
    flex-wrap: wrap!important;
    justify-content: flex-end!important;
  }
}
@media (max-width:820px) {
  #view-iot.iot-admin-view {
    width: 100%;
  }
}
/* ============================================================
   2026-08-31 IoT Monitoring spacious admin layout tune-up
   Matches the wider edge rhythm used by Data Quality / System pages
   ============================================================ */
#view-iot.iot-admin-view {
  width: 100%!important;
  max-width: none!important;
  margin: 0!important;
  padding-bottom: 36px!important;
}
#view-iot .iot-page-summary {
  margin-bottom: 18px!important;
}
#view-iot .iot-metric-grid {
  width: 100%!important;
  border-radius: 16px!important;
  box-shadow: 0 8px 24px rgba(17,62,54,.04)!important;
}
#view-iot .iot-metric-grid article {
  min-height: 96px!important;
  padding: 18px 18px 16px!important;
}
#view-iot .iot-metric-grid article>strong {
  font-size: 30px!important;
}
#view-iot .iot-metric-grid article>small {
  max-width: 22ch!important;
}
#view-iot .iot-device-card,
#view-iot .iot-reading-card {
  width: 100%!important;
  margin-top: 18px!important;
  border-radius: 16px!important;
  box-shadow: 0 8px 24px rgba(17,62,54,.04)!important;
}
#view-iot .iot-section-head {
  padding: 18px 18px 16px!important;
  gap: 18px!important;
}
#view-iot .iot-heading-copy {
  max-width: none!important;
}
#view-iot .iot-section-head h2 {
  font-size: 20px!important;
}
#view-iot .iot-section-head p {
  max-width: 980px!important;
  font-size: 12px!important;
}
#view-iot .iot-head-actions,
#view-iot .iot-reading-head-actions {
  gap: 12px!important;
}
#view-iot .iot-head-actions .btn,
#view-iot .iot-reading-head-actions .btn {
  min-height: 42px!important;
  padding: 0 16px!important;
}
#view-iot .iot-latest-summary {
  min-width: 170px!important;
}
#view-iot .iot-card-meta {
  margin: 14px 16px 0!important;
  padding: 11px 13px!important;
  border-radius: 12px!important;
}
#view-iot .iot-device-table-wrap,
#view-iot .iot-reading-table-wrap {
  margin: 14px 16px 16px!important;
  border-radius: 12px!important;
}
#view-iot .iot-table thead th {
  padding: 13px 14px!important;
}
#view-iot .iot-table tbody td {
  padding: 15px 14px!important;
}
#view-iot .iot-empty {
  min-height: 178px!important;
  height: 178px!important;
  padding: 44px 20px!important;
}
#view-iot .iot-reading-card .iot-empty {
  min-height: 190px!important;
  height: 190px!important;
}
@media (max-width:1180px) {
  #view-iot .iot-section-head {
    align-items: flex-start!important;
  }
  #view-iot .iot-head-actions,
  #view-iot .iot-reading-head-actions {
    flex-wrap: wrap!important;
    justify-content: flex-end!important;
  }
}
@media (max-width:820px) {
  #view-iot .iot-device-card,
  #view-iot .iot-reading-card {
    border-radius: 14px!important;
  }
  #view-iot .iot-section-head {
    padding: 16px!important;
  }
  #view-iot .iot-card-meta {
    margin: 12px 12px 0!important;
  }
  #view-iot .iot-device-table-wrap,
  #view-iot .iot-reading-table-wrap {
    margin: 12px!important;
  }
  #view-iot .iot-empty,
  #view-iot .iot-reading-card .iot-empty {
    min-height: 140px!important;
    height: 140px!important;
    padding: 28px 16px!important;
  }
}
/* v18 — Assessment History hierarchy + compact comparison redesign */
#view-trends .trend-heading .eyebrow,#view-trends .comparison-card .eyebrow,#view-trends .screening-card .eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #0b877a;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
#view-trends .trend-toolbar {
  align-items: flex-end;
}
#view-trends .trend-toolbar .card-head {
  max-width: 520px;
}
#view-trends .trend-toolbar .card-head p {
  max-width: 520px;
}
#view-trends .trend-filter-row {
  grid-template-columns: 150px minmax(240px,1fr) 170px;
  max-width: 660px;
}
#view-trends .trend-filter-row label>span {
  display: block;
  margin-bottom: 5px;
  color: #6f8580;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#view-trends .trend-filter-row select {
  min-width: 0;
  text-overflow: ellipsis;
}
#view-trends .history-hierarchy-guide {
  display: flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  margin: 12px 0 2px;
  padding: 6px 8px;
  border: 1px solid #e0ebe8;
  border-radius: 999px;
  background: #f8fbfa;
  color: #58716b;
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
}
#view-trends .history-hierarchy-guide span {
  padding: 3px 6px;
  border-radius: 999px;
  background: #fff;
}
#view-trends .history-hierarchy-guide i {
  font-style: normal;
  color: #9aada8;
}
#view-trends .trend-context-note {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 7px 0 0;
  padding: 8px 10px;
  border-radius: 9px;
  background: #f6faf9;
  color: #6b817b;
  font-size: 9px;
  line-height: 1.4;
}
#view-trends .trend-context-note strong {
  flex: 0 0 auto;
  color: #244b44;
  font-size: 9px;
}
#view-trends .comparison-layout {
  grid-template-columns: 1.35fr .9fr;
  gap: 12px;
}
#view-trends .comparison-selector-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.25fr;
  gap: 8px;
  margin: 1px 0 10px;
}
#view-trends .comparison-selector-grid .stack-label {
  margin: 0;
  min-width: 0;
}
#view-trends .comparison-selector-grid .stack-label>span {
  color: #6f8580;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#view-trends .comparison-selector-grid select {
  width: 100%;
  min-width: 0;
  height: 39px;
  padding: 8px 9px;
  font-size: 10px;
  text-overflow: ellipsis;
}
#view-trends .comparison-selector-grid select:disabled {
  background: #f3f6f5;
  color: #94a39f;
  cursor: not-allowed;
}
#view-trends .comparison-context-strip {
  display: grid;
  grid-template-columns: .9fr 1.1fr 1.1fr;
  gap: 1px;
  margin: 8px 0;
  border: 1px solid #e2ece9;
  border-radius: 9px;
  overflow: hidden;
  background: #e6efec;
}
#view-trends .comparison-context-strip>div {
  min-width: 0;
  padding: 8px 9px;
  background: #fbfdfc;
}
#view-trends .comparison-context-strip span,#view-trends .comparison-context-strip strong {
  display: block;
}
#view-trends .comparison-context-strip span {
  color: #82938f;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
#view-trends .comparison-context-strip strong {
  margin-top: 3px;
  color: #234c44;
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-head-refined {
  margin-top: 8px;
}
#view-trends .comparison-card .method-note {
  margin-top: 8px;
}
#view-trends .screening-card .stack-label {
  margin-top: 2px;
}
@media (max-width:1100px) {
  #view-trends .trend-filter-row {
    grid-template-columns: 135px minmax(200px,1fr) 155px;
  }
  #view-trends .comparison-selector-grid {
    grid-template-columns: 1fr 1fr;
  }
  #view-trends .comparison-selector-grid .stack-label:last-child {
    grid-column: 1/-1;
  }
}
@media (max-width:760px) {
  #view-trends .history-hierarchy-guide {
    width: 100%;
    justify-content: center;
    border-radius: 10px;
    white-space: normal;
    flex-wrap: wrap;
  }
  #view-trends .trend-context-note {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  #view-trends .comparison-selector-grid,#view-trends .comparison-context-strip {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-selector-grid .stack-label:last-child {
    grid-column: auto;
  }
}
/* Assessment History + Plot-aware Comparison v2 — 2026-09-05 */
#view-trends {
  display: none;
  gap: 12px;
}
#view-trends.active {
  display: grid;
}
#view-trends .trend-workspace {
  padding: 16px 18px 12px;
}
#view-trends .trend-toolbar .card-head p {
  max-width: 610px;
}
#view-trends .trend-chart-summary {
  grid-template-columns: repeat(5,minmax(0,1fr));
  margin-top: 12px;
}
#view-trends .trend-chart-summary>div {
  min-width: 0;
}
#view-trends .trend-chart-summary strong {
  white-space: normal;
  line-height: 1.25;
}
#view-trends .trend-chart-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 8px 0 0;
  padding: 8px 10px;
  border: 1px solid #e5eeeb;
  border-radius: 9px;
  background: #f8fbfa;
  color: #6f837e;
  font-size: 9px;
  line-height: 1.45;
}
#view-trends .trend-chart-note strong {
  flex: 0 0 auto;
  color: #315f58;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .045em;
}
#view-trends .refined-chart-host {
  min-height: 258px;
  margin-top: 4px;
  padding-top: 4px;
}
#view-trends .comparison-card-v2,#view-trends .assessment-detail-card-v2 {
  min-height: 0;
  padding: 16px 18px;
  border: 1px solid #dfeae7;
  box-shadow: 0 8px 22px rgba(31,71,63,.05);
}
#view-trends .comparison-card-head {
  align-items: flex-start;
  margin-bottom: 12px;
}
#view-trends .comparison-card-head p {
  max-width: 780px;
}
#view-trends .comparison-method-badge {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #e7f5f1;
  color: #08786d;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
#view-trends .comparison-control-grid {
  display: grid;
  grid-template-columns: 150px minmax(190px,1.1fr) minmax(220px,1.35fr) minmax(190px,1fr) minmax(190px,1fr);
  gap: 8px;
  align-items: end;
}
#view-trends .comparison-control-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #617873;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#view-trends .comparison-control-grid label>span {
  display: block;
}
#view-trends .comparison-control-grid select {
  width: 100%;
  min-width: 0;
  min-height: 39px;
  padding: 8px 9px;
  border: 1px solid #cfdfdb;
  border-radius: 9px;
  background: #fff;
  color: #173f39;
  font-size: 10px;
  font-weight: 700;
}
#view-trends #comparison-plot-b-wrap:not([hidden]) {
  display: grid;
}
#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) {
  grid-template-columns: 135px minmax(175px,1fr) minmax(180px,1.05fr) minmax(180px,1.05fr) minmax(175px,.95fr) minmax(175px,.95fr);
}
#view-trends .comparison-quick-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid #edf2f0;
}
#view-trends .comparison-quick-row button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 9px;
}
#view-trends .comparison-quick-row span {
  min-width: 0;
  color: #6c817c;
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #dfeae7;
  border-radius: 10px;
  background: #fbfdfc;
}
#view-trends .comparison-identity>div:first-child {
  min-width: 0;
}
#view-trends .comparison-identity span,#view-trends .comparison-identity small {
  display: block;
  color: #758a84;
  font-size: 8px;
}
#view-trends .comparison-identity>div:first-child>span {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .045em;
}
#view-trends .comparison-identity strong {
  display: block;
  margin: 2px 0;
  color: #173f39;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-counts {
  display: flex;
  gap: 6px;
  flex: 0 0 auto;
}
#view-trends .comparison-counts span {
  padding: 6px 8px;
  border-radius: 8px;
  background: #eef6f4;
  color: #55726b;
  font-weight: 700;
}
#view-trends .comparison-counts b {
  color: #173f39;
}
#view-trends .comparison-head-v2 {
  margin-top: 8px;
  padding: 10px 12px;
  background: #f8fbfa;
}
#view-trends .comparison-head-v2>div {
  text-align: left;
}
#view-trends .comparison-head-v2>div:last-child {
  text-align: right;
}
#view-trends .comparison-head-v2 b {
  font-size: 12px;
}
#view-trends .comparison-head-v2 small {
  line-height: 1.35;
}
#view-trends .comparison-summary-band {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #dfeae7;
  border-radius: 10px;
  background: #fff;
}
#view-trends .comparison-summary-band>div:first-child span,#view-trends .comparison-summary-band>div:first-child small {
  display: block;
  color: #758a84;
  font-size: 8px;
}
#view-trends .comparison-summary-band>div:first-child span {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .04em;
}
#view-trends .comparison-summary-band>div:first-child strong {
  display: block;
  margin: 3px 0;
  color: #173f39;
  font-size: 12px;
}
#view-trends .comparison-summary-counts {
  display: flex;
  gap: 6px;
}
#view-trends .comparison-summary-counts span {
  min-width: 76px;
  padding: 6px 7px;
  border-radius: 8px;
  text-align: center;
  font-size: 8px;
  font-weight: 800;
}
#view-trends .comparison-summary-counts b {
  display: block;
  font-size: 14px;
}
#view-trends .comparison-summary-counts .improved {
  background: #e7f7ef;
  color: #08775d;
}
#view-trends .comparison-summary-counts .stable {
  background: #eef3f2;
  color: #607570;
}
#view-trends .comparison-summary-counts .attention {
  background: #fff0f0;
  color: #a83642;
}
#view-trends .comparison-warning,#view-trends .comparison-info {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 9px;
  font-size: 8.5px;
  line-height: 1.45;
}
#view-trends .comparison-warning {
  border: 1px solid #f2d6a6;
  background: #fff9ec;
  color: #815b18;
}
#view-trends .comparison-info {
  border: 1px solid #d9e9e5;
  background: #f7fbfa;
  color: #58736c;
}
#view-trends .comparison-warning b,#view-trends .comparison-info b {
  flex: 0 0 auto;
}
#view-trends .comparison-metric-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 7px;
  margin-top: 8px;
}
#view-trends .comparison-metric-card {
  min-width: 0;
  padding: 9px;
  border: 1px solid #e2ece9;
  border-radius: 10px;
  background: #fff;
}
#view-trends .comparison-metric-card.improved {
  border-top: 3px solid #74c9aa;
}
#view-trends .comparison-metric-card.attention {
  border-top: 3px solid #e69aa1;
}
#view-trends .comparison-metric-card.stable {
  border-top: 3px solid #b8c9c5;
}
#view-trends .comparison-metric-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5px;
}
#view-trends .comparison-metric-top>span {
  color: #6e837d;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
}
#view-trends .comparison-metric-top em {
  font-style: normal;
  font-size: 7px;
  font-weight: 900;
  text-align: right;
}
#view-trends .comparison-metric-card.improved .comparison-metric-top em {
  color: #08775d;
}
#view-trends .comparison-metric-card.attention .comparison-metric-top em {
  color: #a83642;
}
#view-trends .comparison-metric-card.stable .comparison-metric-top em {
  color: #6d807b;
}
#view-trends .comparison-values {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
}
#view-trends .comparison-values b {
  color: #173f39;
  font-size: 12px;
  white-space: nowrap;
}
#view-trends .comparison-values b:last-child {
  text-align: right;
}
#view-trends .comparison-values small {
  font-size: 7px;
  font-weight: 700;
  color: #7a8d88;
}
#view-trends .comparison-values i,#view-trends .comparison-classification i {
  font-style: normal;
  color: #9aaca8;
  text-align: center;
}
#view-trends .comparison-classification {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 4px;
  align-items: center;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #edf2f0;
}
#view-trends .comparison-classification span {
  color: #657b75;
  font-size: 7.5px;
  line-height: 1.25;
}
#view-trends .comparison-classification span:last-child {
  text-align: right;
}
#view-trends .comparison-metric-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 7px;
}
#view-trends .comparison-metric-card footer strong,#view-trends .comparison-metric-card footer span {
  font-size: 8px;
}
#view-trends .comparison-metric-card.improved footer strong {
  color: #08775d;
}
#view-trends .comparison-metric-card.attention footer strong {
  color: #a83642;
}
#view-trends .comparison-metric-card.stable footer strong {
  color: #607570;
}
#view-trends .assessment-detail-card-v2 {
  margin-top: 0;
}
#view-trends .assessment-detail-head {
  margin-bottom: 8px;
}
#view-trends .assessment-detail-select {
  max-width: 620px;
  margin: 0 0 10px;
}
#view-trends .assessment-detail-context {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  border: 1px solid #e1ebe8;
  border-radius: 10px;
  overflow: hidden;
  background: #e7efed;
}
#view-trends .assessment-detail-context>div {
  min-width: 0;
  padding: 9px 11px;
  background: #fbfdfc;
}
#view-trends .assessment-detail-context span,#view-trends .assessment-detail-context small {
  display: block;
  color: #758a84;
  font-size: 7.5px;
}
#view-trends .assessment-detail-context span {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .04em;
}
#view-trends .assessment-detail-context strong {
  display: block;
  margin: 3px 0;
  color: #173f39;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .shi-total-v2 {
  margin-top: 8px;
}
#view-trends .shi-total-v2>div span,#view-trends .shi-total-v2>div small {
  display: block;
  text-align: left;
}
#view-trends .assessment-measurement-list {
  grid-template-columns: repeat(2,minmax(0,1fr));
  display: grid;
  gap: 7px;
  border: 0;
  background: transparent;
  overflow: visible;
}
#view-trends .assessment-measurement-list .fertility-rule-row {
  grid-template-columns: minmax(0,1.15fr) auto minmax(150px,.9fr);
  border: 1px solid #e2ece9;
  border-radius: 9px;
  background: #fff;
}
#view-trends .assessment-measurement-list .fertility-rule-row>div:first-child small {
  display: block;
  margin-top: 2px;
  color: #81938f;
  font-size: 7.5px;
}
#view-trends .assessment-measurement-list .rule-effect strong {
  font-size: 8px;
  line-height: 1.3;
  color: #536e67;
}
#view-trends .assessment-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid #edf2f0;
}
#view-trends .assessment-detail-actions button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 9px;
}
#view-trends .assessment-detail-actions span {
  color: #718680;
  font-size: 8.5px;
}
@media (max-width:1180px) {
  #view-trends .trend-chart-summary {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  #view-trends .comparison-control-grid,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  #view-trends .comparison-metric-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width:820px) {
  #view-trends .trend-chart-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-trends .comparison-control-grid,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: 1fr 1fr;
  }
  #view-trends .comparison-summary-band {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-summary-counts {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #view-trends .comparison-metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-trends .assessment-detail-context {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-trends .assessment-measurement-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width:560px) {
  #view-trends .trend-chart-summary,#view-trends .comparison-control-grid,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])),#view-trends .comparison-metric-grid,#view-trends .assessment-detail-context {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-quick-row,#view-trends .comparison-identity,#view-trends .assessment-detail-actions {
    align-items: flex-start;
    flex-direction: column;
  }
  #view-trends .comparison-quick-row span {
    white-space: normal;
  }
  #view-trends .comparison-counts {
    width: 100%;
  }
  #view-trends .comparison-head-v2 {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-head-v2>div:last-child {
    text-align: left;
  }
  #view-trends .comparison-head-v2>strong {
    transform: rotate(90deg);
    justify-self: start;
  }
  #view-trends .comparison-summary-counts span {
    min-width: 68px;
  }
  #view-trends .comparison-card-v2,#view-trends .assessment-detail-card-v2 {
    padding: 14px;
  }
}
/* Assessment History redesign v3 — 2026-09-05 */
#view-trends {
  gap: 14px;
}
#view-trends .trend-workspace {
  padding: 18px 20px 14px;
  border-radius: 16px;
}
#view-trends .trend-toolbar {
  display: grid;
  grid-template-columns: minmax(300px,.95fr) minmax(520px,1.35fr);
  gap: 18px;
  align-items: start;
}
#view-trends .trend-toolbar .card-head {
  margin: 0;
}
#view-trends .trend-toolbar .card-head h2 {
  font-size: 18px;
}
#view-trends .trend-toolbar .card-head p {
  max-width: 560px;
  line-height: 1.45;
}
#view-trends .trend-filter-row {
  display: grid;
  grid-template-columns: 145px minmax(230px,1fr) 160px;
  gap: 9px;
  margin: 0;
  padding: 10px;
  border: 1px solid #e0ebe8;
  border-radius: 12px;
  background: #f8fbfa;
}
#view-trends .trend-filter-row label {
  min-width: 0;
}
#view-trends .trend-filter-row select {
  width: 100%;
  min-width: 0;
  height: 40px;
  min-height: 40px;
  padding: 0 34px 0 11px;
  border: 1px solid #cdded9;
  border-radius: 9px;
  background-color: #fff;
  color: #173f39;
  font-size: 10px;
  font-weight: 750;
}
#view-trends .trend-chart-summary {
  overflow: hidden;
  margin-top: 12px;
  border: 1px solid #e1ebe8;
  border-radius: 11px;
  background: #e8f0ee;
  gap: 1px;
}
#view-trends .trend-chart-summary>div {
  padding: 10px 12px;
  background: #fbfdfc;
}
#view-trends .trend-chart-summary span {
  font-size: 7.5px;
  letter-spacing: .045em;
  text-transform: uppercase;
  font-weight: 900;
  color: #728984;
}
#view-trends .trend-chart-summary strong {
  margin-top: 3px;
  font-size: 11px;
  color: #173f39;
}
#view-trends .trend-chart-note {
  margin-top: 7px;
}
#view-trends .refined-chart-host {
  min-height: 235px;
  margin-top: 3px;
  padding-top: 2px;
}
#view-trends .comparison-card-v3 {
  padding: 18px 20px 16px;
  border-radius: 16px;
}
#view-trends .comparison-card-head {
  align-items: center;
  margin-bottom: 12px;
}
#view-trends .comparison-title-block,#view-trends .trend-section-title {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
}
#view-trends .trend-section-icon {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #dcf5ed;
  color: #087c6f;
  font-size: 17px;
  font-weight: 900;
}
#view-trends .trend-section-title h2 {
  margin: 0;
  font-size: 18px;
}
#view-trends .trend-section-title p {
  margin: 4px 0 0;
  max-width: 780px;
  color: #6c817b;
  font-size: 10px;
  line-height: 1.45;
}
#view-trends .comparison-method-badge {
  padding: 6px 9px;
  border: 1px solid #cfe8e1;
  background: #eef9f6;
  font-size: 7.5px;
}
#view-trends .comparison-control-surface {
  padding: 11px;
  border: 1px solid #e0ebe8;
  border-radius: 12px;
  background: #f8fbfa;
}
#view-trends .comparison-control-grid {
  display: grid;
  grid-template-columns: 160px minmax(220px,1fr) minmax(220px,1fr) minmax(220px,1fr);
  gap: 9px;
  align-items: end;
}
#view-trends .comparison-control-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin: 0;
  color: #607772;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
#view-trends .comparison-control-grid label>span {
  display: block;
}
#view-trends .comparison-field-date-a {
  grid-column: 1 / span 2;
}
#view-trends .comparison-field-date-b {
  grid-column: 3 / span 2;
}
#view-trends #comparison-plot-b-wrap[hidden] {
  display: none!important;
}
#view-trends #comparison-plot-b-wrap:not([hidden]) {
  display: grid!important;
}
#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) {
  grid-template-columns: 145px minmax(190px,1fr) minmax(190px,1fr) minmax(190px,1fr);
}
#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-date-a {
  grid-column: 1 / span 2;
}
#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-date-b {
  grid-column: 3 / span 2;
}
#view-trends .comparison-control-grid select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 40px;
  min-height: 40px;
  padding: 0 34px 0 11px;
  border: 1px solid #ccddd9;
  border-radius: 9px;
  background-color: #fff;
  color: #173f39;
  font-size: 10px;
  font-weight: 750;
  line-height: 40px;
  box-shadow: none!important;
  outline: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#view-trends .comparison-control-grid select:focus {
  border-color: #159487!important;
  outline: none!important;
  box-shadow: 0 0 0 3px rgba(21,148,135,.10)!important;
}
#view-trends .comparison-control-grid select:disabled {
  background: #f0f5f3;
  color: #879a95;
  cursor: not-allowed;
}
#view-trends .comparison-quick-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  padding: 9px 0 0;
  border-top: 1px solid #e5eeeb;
}
#view-trends .comparison-quick-row span {
  min-width: 0;
  color: #687e78;
  font-size: 9px;
  white-space: normal;
  overflow: visible;
}
#view-trends .comparison-quick-row button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 6px 11px;
  border-radius: 9px;
  font-size: 9px;
}
#view-trends .comparison-stage {
  display: grid;
  grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr);
  gap: 10px;
  align-items: stretch;
  margin-top: 12px;
}
#view-trends .comparison-assessment-panel {
  min-width: 0;
  padding: 12px;
  border: 1px solid #dde9e6;
  border-radius: 12px;
  background: #fbfdfc;
}
#view-trends .comparison-panel-b {
  background: linear-gradient(135deg,#f7fcfa,#effaf6);
  border-color: #cfe9e1;
}
#view-trends .comparison-assessment-panel header {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding-bottom: 9px;
  border-bottom: 1px solid #e6efed;
}
#view-trends .comparison-panel-letter {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #0b8b7a;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
#view-trends .comparison-assessment-panel header>div {
  min-width: 0;
}
#view-trends .comparison-assessment-panel header small {
  display: block;
  color: #6f847e;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
#view-trends .comparison-assessment-panel header strong {
  display: block;
  margin: 2px 0;
  color: #163f38;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-assessment-panel header p {
  margin: 0;
  color: #768a85;
  font-size: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-panel-metrics {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 6px;
  margin-top: 9px;
}
#view-trends .comparison-value-tile {
  min-width: 0;
  padding: 8px;
  border: 1px solid #e2ece9;
  border-radius: 9px;
  background: #fff;
}
#view-trends .comparison-value-tile>span {
  display: block;
  color: #718680;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-value-tile>strong {
  display: block;
  margin: 5px 0 7px;
  color: #163f38;
  font-size: 12px;
  white-space: nowrap;
}
#view-trends .comparison-value-tile>strong small {
  font-size: 7px;
  color: #718680;
  font-weight: 700;
}
#view-trends .comparison-value-tile>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  min-width: 0;
}
#view-trends .comparison-value-tile em {
  display: inline-flex;
  max-width: 100%;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 6.5px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .comparison-value-tile em.high {
  background: #ddf6eb;
  color: #08755e;
}
.comparison-value-tile em.moderate {
  background: #fff1c9;
  color: #9a6500;
}
.comparison-value-tile em.low {
  background: #ffe4e6;
  color: #a93440;
}
.comparison-value-tile em.neutral {
  background: #edf2f1;
  color: #667b76;
}
#view-trends .comparison-tile-change {
  font-size: 6.5px;
  font-weight: 900;
  white-space: nowrap;
}
.comparison-tile-change.improved {
  color: #08755e;
}
.comparison-tile-change.attention {
  color: #b23a46;
}
.comparison-tile-change.stable {
  color: #6d807b;
}
#view-trends .comparison-change-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  padding: 12px 9px;
  border: 1px solid #dce8e5;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}
#view-trends .comparison-change-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e8f1ef;
  color: #315f58;
  font-size: 16px;
  font-weight: 900;
}
#view-trends .comparison-change-card>small {
  margin-top: 7px;
  color: #718680;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#view-trends .comparison-change-card>strong {
  margin-top: 3px;
  color: #0b806f;
  font-size: 25px;
  line-height: 1;
}
#view-trends .comparison-change-card>em {
  color: #6f847e;
  font-size: 8px;
  font-style: normal;
}
#view-trends .comparison-change-card>b {
  margin-top: 7px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #e3f6ee;
  color: #08755e;
  font-size: 7.5px;
}
#view-trends .comparison-change-card.attention>b {
  background: #ffe8e9;
  color: #a93440;
}
.comparison-change-card.stable>b {
  background: #edf2f1;
  color: #667b76;
}
#view-trends .comparison-change-card>p {
  margin: 7px 0 0;
  color: #7b8e89;
  font-size: 7.5px;
  line-height: 1.35;
}
#view-trends .comparison-summary-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 9px;
  padding: 10px 11px;
  border: 1px solid #d7ebe5;
  border-radius: 11px;
  background: linear-gradient(90deg,#f3fbf8,#fbfefd);
}
#view-trends .comparison-summary-callout>div:first-child {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
#view-trends .comparison-summary-icon {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #dff6ed;
  color: #0a8a76;
  font-size: 15px;
  font-weight: 900;
}
#view-trends .comparison-summary-callout strong {
  display: block;
  color: #173f39;
  font-size: 10px;
}
#view-trends .comparison-summary-callout p {
  margin: 2px 0 0;
  color: #728681;
  font-size: 7.5px;
}
#view-trends .comparison-summary-counts {
  display: flex;
  gap: 6px;
  flex: 0 0 auto;
}
#view-trends .comparison-summary-counts span {
  min-width: 68px;
  padding: 6px 7px;
  border-radius: 8px;
  text-align: center;
  font-size: 7px;
  font-weight: 800;
}
#view-trends .comparison-summary-counts b {
  display: block;
  font-size: 13px;
}
#view-trends .comparison-summary-counts .improved {
  background: #e5f7ef;
  color: #08755e;
}
.comparison-summary-counts .stable {
  background: #eef3f2;
  color: #607570;
}
.comparison-summary-counts .attention {
  background: #fff0f0;
  color: #a83642;
}
#view-trends .comparison-warning,#view-trends .comparison-info {
  margin-top: 8px;
}
#view-trends .comparison-method-note {
  margin: 8px 0 0;
  padding-top: 7px;
  border-top: 1px solid #edf2f0;
  color: #7b8e89;
  font-size: 7.5px;
}
#view-trends .assessment-detail-card-v3 {
  padding: 18px 20px 16px;
  border-radius: 16px;
}
#view-trends .assessment-detail-head {
  margin-bottom: 10px;
}
#view-trends .assessment-detail-select {
  max-width: 520px;
  margin: 0 0 10px;
  color: #607772;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#view-trends .assessment-detail-select select {
  height: 40px;
  min-height: 40px;
  padding: 0 34px 0 11px;
  border: 1px solid #ccddd9;
  border-radius: 9px;
  background: #fff;
  color: #173f39;
  font-size: 10px;
  font-weight: 750;
  text-transform: none;
  letter-spacing: 0;
}
#view-trends .assessment-detail-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 260px;
  gap: 10px;
  align-items: stretch;
}
#view-trends .assessment-detail-context {
  height: 100%;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-radius: 11px;
}
#view-trends .assessment-detail-context>div {
  padding: 10px 11px;
}
#view-trends .assessment-detail-context strong {
  font-size: 10.5px;
}
#view-trends .assessment-score-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 11px 13px;
  border: 1px solid #d8ebe5;
  border-radius: 11px;
  background: linear-gradient(135deg,#f5fcf9,#edf9f5);
}
#view-trends .assessment-score-card>span {
  color: #617a73;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
#view-trends .assessment-score-card>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 5px 0;
}
#view-trends .assessment-score-card strong {
  color: #123f38;
  font-size: 24px;
}
#view-trends .assessment-score-card em {
  font-style: normal;
}
#view-trends .assessment-score-card>small {
  color: #708681;
  font-size: 7.5px;
}
#view-trends .assessment-nutrient-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 11px 0 7px;
}
#view-trends .assessment-nutrient-heading>strong {
  color: #173f39;
  font-size: 10px;
}
#view-trends .assessment-nutrient-heading button {
  min-height: 31px;
  padding: 5px 9px;
  font-size: 8px;
}
#view-trends .assessment-nutrient-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 7px;
}
#view-trends .assessment-nutrient-card {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e1ebe8;
  border-radius: 10px;
  background: #fff;
}
#view-trends .assessment-nutrient-card>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
#view-trends .assessment-nutrient-card span {
  color: #6a817b;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
}
#view-trends .assessment-nutrient-card>strong {
  display: block;
  margin: 7px 0 4px;
  color: #173f39;
  font-size: 15px;
}
#view-trends .assessment-nutrient-card>strong small {
  font-size: 8px;
  color: #708681;
}
#view-trends .assessment-nutrient-card p {
  margin: 0;
  color: #7b8d89;
  font-size: 7px;
  line-height: 1.35;
}
#view-trends .assessment-detail-footnote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #edf2f0;
  color: #718680;
  font-size: 7.5px;
}
@media (max-width:1280px) {
  #view-trends .trend-toolbar {
    grid-template-columns: 1fr;
  }
  #view-trends .trend-filter-row {
    grid-template-columns: 150px minmax(240px,1fr) 180px;
  }
  #view-trends .comparison-panel-metrics {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  #view-trends .assessment-nutrient-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width:980px) {
  #view-trends .comparison-control-grid,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-trends .comparison-field-date-a,#view-trends .comparison-field-date-b,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-date-a,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-date-b {
    grid-column: auto;
  }
  #view-trends .comparison-stage {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-change-card {
    min-height: 110px;
  }
  #view-trends .comparison-change-arrow {
    transform: rotate(90deg);
  }
  #view-trends .assessment-detail-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width:700px) {
  #view-trends .trend-workspace,#view-trends .comparison-card-v3,#view-trends .assessment-detail-card-v3 {
    padding: 14px;
  }
  #view-trends .trend-filter-row {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-control-grid,#view-trends .comparison-control-grid:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-quick-row,#view-trends .comparison-summary-callout,#view-trends .assessment-detail-footnote {
    align-items: flex-start;
    flex-direction: column;
  }
  #view-trends .comparison-quick-row button {
    width: 100%;
  }
  #view-trends .comparison-panel-metrics,#view-trends .assessment-nutrient-grid,#view-trends .assessment-detail-context {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-summary-counts {
    width: 100%;
    flex-wrap: wrap;
  }
  #view-trends .comparison-summary-counts span {
    flex: 1 1 90px;
  }
  #view-trends .comparison-method-badge {
    display: none;
  }
}
/* Assessment History v19 — v13 visual language + Farmer > Farmland > Farm Plot > Readings */
#view-trends .comparison-control-grid.comparison-control-grid-hierarchy {
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 9px;
}
#view-trends .comparison-control-grid-hierarchy .comparison-field-mode {
  grid-column: span 2;
}
#view-trends .comparison-control-grid-hierarchy .comparison-field-farmer {
  grid-column: span 3;
}
#view-trends .comparison-control-grid-hierarchy .comparison-field-farmland {
  grid-column: span 3;
}
#view-trends .comparison-control-grid-hierarchy .comparison-field-plot-a {
  grid-column: span 4;
}
#view-trends .comparison-control-grid-hierarchy .comparison-field-date-a,#view-trends .comparison-control-grid-hierarchy .comparison-field-date-b {
  grid-column: span 6;
}
#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-mode {
  grid-column: span 2;
}
#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-farmer {
  grid-column: span 3;
}
#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-farmland {
  grid-column: span 3;
}
#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-plot-a {
  grid-column: span 4;
}
#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-plot-b {
  grid-column: span 4;
}
#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-date-a,#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field-date-b {
  grid-column: span 4;
}
#view-trends .comparison-hierarchy-context {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px;
  margin-top: 11px;
  border: 1px solid #dfe9e6;
  border-radius: 10px;
  overflow: hidden;
  background: #e6efec;
}
#view-trends .comparison-hierarchy-context>div {
  min-width: 0;
  padding: 8px 10px;
  background: #f9fcfb;
}
#view-trends .comparison-hierarchy-context span {
  display: block;
  color: #778a85;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
#view-trends .comparison-hierarchy-context strong {
  display: block;
  margin-top: 2px;
  color: #173f39;
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-trends .assessment-detail-context {
  grid-template-columns: repeat(5,minmax(0,1fr));
}
@media (max-width:1100px) {
  #view-trends .comparison-control-grid.comparison-control-grid-hierarchy,#view-trends .comparison-control-grid.comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #view-trends .comparison-control-grid-hierarchy .comparison-field,#view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field {
    grid-column: auto;
  }
  #view-trends .assessment-detail-context {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width:700px) {
  #view-trends .comparison-control-grid.comparison-control-grid-hierarchy,#view-trends .comparison-control-grid.comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: 1fr;
  }
  #view-trends .comparison-hierarchy-context,#view-trends .assessment-detail-context {
    grid-template-columns: 1fr;
  }
}
/* v19.1 Assessment History visual density/readability refinement */
#view-trends.active {
  display: grid;
  gap: 16px;
}
#view-trends .data-card {
  border-radius: 14px;
}
#view-trends .trend-workspace,
#view-trends .comparison-card-v3,
#view-trends .assessment-detail-card-v3 {
  padding: 20px 22px;
}
#view-trends .card-head h2,
#view-trends .trend-section-title h2 {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -.02em;
}
#view-trends .card-head p,
#view-trends .trend-section-title p {
  font-size: 11px;
  line-height: 1.5;
  color: #667d77;
}
#view-trends .trend-toolbar {
  align-items: flex-end;
  gap: 18px;
}
#view-trends .trend-toolbar .card-head {
  max-width: 560px;
}
#view-trends .trend-filter-row {
  grid-template-columns: 155px minmax(260px,1fr) 165px;
  max-width: 720px;
  gap: 10px;
}
#view-trends .trend-filter-row label,
#view-trends .trend-filter-row label>span {
  font-size: 9px;
}
#view-trends .trend-filter-row select {
  min-height: 42px;
  padding: 9px 10px;
  font-size: 11px;
  font-weight: 700;
}
#view-trends .trend-chart-summary {
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  margin: 14px 0 0;
  border: 1px solid #dfe9e6;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
#view-trends .trend-chart-summary>div {
  padding: 10px 12px;
  border: 0;
  border-right: 1px solid #e4ecea;
  border-radius: 0;
  background: #fff;
}
#view-trends .trend-chart-summary>div:last-child {
  border-right: 0;
}
#view-trends .trend-chart-summary span {
  font-size: 8px;
}
#view-trends .trend-chart-summary strong {
  font-size: 12px;
}
#view-trends .trend-chart-note {
  margin-top: 8px;
  padding: 8px 10px;
  font-size: 9px;
}
#view-trends .refined-chart-host {
  min-height: 340px;
  margin-top: 10px;
  padding-top: 12px;
}
#view-trends .refined-trend-svg {
  min-width: 860px;
}
#view-trends .refined-trend-svg .axis-label,
#view-trends .refined-trend-svg .date-label {
  font-size: 11px;
}
#view-trends .refined-trend-svg .value-label {
  font-size: 11px;
  font-weight: 800;
}
#view-trends .comparison-card-head {
  margin-bottom: 14px;
}
#view-trends .comparison-method-badge {
  padding: 6px 9px;
  font-size: 8px;
}
#view-trends .comparison-control-surface {
  padding: 12px;
  border: 1px solid #dfe9e6;
  border-radius: 11px;
  background: #fbfdfc;
}
#view-trends .comparison-control-grid-hierarchy {
  display: grid;
  grid-template-columns: 150px minmax(210px,1fr) minmax(230px,1.2fr) minmax(200px,1fr);
  gap: 10px;
}
#view-trends .comparison-control-grid-hierarchy .comparison-field-date-a,
#view-trends .comparison-control-grid-hierarchy .comparison-field-date-b {
  grid-column: span 2;
}
#view-trends .comparison-control-grid-hierarchy label {
  font-size: 8px;
}
#view-trends .comparison-control-grid-hierarchy select {
  min-height: 41px;
  padding: 9px 10px;
  font-size: 11px;
}
#view-trends .comparison-quick-row {
  margin-top: 10px;
  padding-top: 10px;
}
#view-trends .comparison-quick-row span {
  font-size: 10px;
}
#view-trends .comparison-quick-row button {
  min-height: 34px;
  font-size: 9px;
}
#view-trends .comparison-identity {
  padding: 11px 12px;
}
#view-trends .comparison-identity span,
#view-trends .comparison-identity small {
  font-size: 8px;
}
#view-trends .comparison-identity strong {
  font-size: 12px;
}
#view-trends .comparison-result-grid {
  gap: 10px;
}
#view-trends .comparison-assessment-card {
  padding: 12px;
}
#view-trends .comparison-assessment-card .comparison-assessment-title strong {
  font-size: 12px;
}
#view-trends .comparison-metric-grid {
  gap: 7px;
}
#view-trends .comparison-metric-grid>div {
  padding: 9px;
}
#view-trends .comparison-metric-grid span {
  font-size: 7px;
}
#view-trends .comparison-metric-grid strong {
  font-size: 13px;
}
#view-trends .comparison-delta-card {
  min-width: 130px;
  padding: 12px 10px;
}
#view-trends .comparison-delta-card strong {
  font-size: 24px;
}
#view-trends .assessment-detail-select {
  max-width: 460px;
  margin: 0 0 12px;
}
#view-trends .assessment-detail-select>span {
  font-size: 9px;
}
#view-trends .assessment-detail-select select {
  min-height: 42px;
  font-size: 11px;
}
#view-trends .assessment-detail-context {
  gap: 0;
  border: 1px solid #dfe9e6;
  border-radius: 10px;
  overflow: hidden;
}
#view-trends .assessment-detail-context>div {
  padding: 10px 12px;
  border-right: 1px solid #e5ecea;
}
#view-trends .assessment-detail-context>div:last-child {
  border-right: 0;
}
#view-trends .assessment-detail-context span {
  font-size: 7px;
}
#view-trends .assessment-detail-context strong {
  font-size: 11px;
}
#view-trends .assessment-detail-score {
  padding: 12px 14px;
}
#view-trends .assessment-detail-score strong {
  font-size: 24px;
}
#view-trends .assessment-soil-grid {
  gap: 8px;
}
#view-trends .assessment-soil-grid>div {
  padding: 11px 12px;
}
#view-trends .assessment-soil-grid span {
  font-size: 8px;
}
#view-trends .assessment-soil-grid strong {
  font-size: 15px;
}
@media (max-width:1250px) {
  #view-trends .trend-toolbar {
    display: block;
  }
  #view-trends .trend-filter-row {
    margin-top: 14px;
    max-width: none;
  }
  #view-trends .comparison-control-grid-hierarchy {
    grid-template-columns: 1fr 1fr;
  }
  #view-trends .comparison-control-grid-hierarchy .comparison-field-date-a,
  #view-trends .comparison-control-grid-hierarchy .comparison-field-date-b {
    grid-column: auto;
  }
}
@media (max-width:760px) {
  #view-trends .trend-workspace,#view-trends .comparison-card-v3,#view-trends .assessment-detail-card-v3 {
    padding: 16px;
  }
  #view-trends .trend-filter-row,
  #view-trends .comparison-control-grid-hierarchy {
    grid-template-columns: 1fr;
  }
  #view-trends .trend-chart-summary {
    grid-template-columns: 1fr 1fr;
  }
  #view-trends .trend-chart-summary>div {
    border-right: 0;
    border-bottom: 1px solid #e4ecea;
  }
  #view-trends .trend-chart-summary>div:last-child {
    border-bottom: 0;
  }
}
/* v19.2 Assessment History alignment refinement */
@media (min-width:1251px) {
  /* Keep the hierarchy and assessment selectors on one desktop row. */
  #view-trends .comparison-control-grid.comparison-control-grid-hierarchy,
  #view-trends .comparison-control-grid.comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: minmax(145px,.85fr) minmax(210px,1.25fr) minmax(230px,1.35fr) minmax(220px,1.3fr) minmax(190px,1.05fr) minmax(190px,1.05fr)!important;
    gap: 10px!important;
    align-items: end;
  }
  #view-trends .comparison-control-grid-hierarchy .comparison-field,
  #view-trends .comparison-control-grid-hierarchy .comparison-field-date-a,
  #view-trends .comparison-control-grid-hierarchy .comparison-field-date-b,
  #view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field {
    grid-column: auto!important;
    min-width: 0;
  }
  #view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: minmax(135px,.8fr) minmax(190px,1.1fr) minmax(205px,1.15fr) minmax(175px,1fr) minmax(175px,1fr) minmax(175px,1fr) minmax(175px,1fr)!important;
  }
  /* Push the Assessment History filter group flush to the right content edge. */
  #view-trends .trend-toolbar {
    display: grid!important;
    grid-template-columns: minmax(360px,1fr) minmax(640px,760px)!important;
    align-items: end!important;
    column-gap: 24px!important;
    width: 100%;
  }
  #view-trends .trend-toolbar .card-head {
    min-width: 0!important;
    max-width: none!important;
  }
  #view-trends .trend-filter-row {
    width: 100%!important;
    max-width: none!important;
    margin: 0 0 0 auto!important;
    justify-self: end!important;
    grid-template-columns: 155px minmax(280px,1fr) 165px!important;
  }
}
/* v19.3 Admin navigation interaction cleanup
   Prevent browser/global focus outlines from drawing detached blue brackets
   around active secondary tabs and sidebar navigation. Keyboard focus remains
   visible with an inset treatment that stays inside the control geometry. */
.admin-primary-nav .nav-group-button,
.admin-subnav .admin-subnav-button,
.sidebar .sidebar-brand,
.sidebar .sidebar-user a {
  -webkit-tap-highlight-color: transparent;
}
.admin-primary-nav .nav-group-button:focus,
.admin-primary-nav .nav-group-button:focus-visible,
.admin-subnav .admin-subnav-button:focus,
.admin-subnav .admin-subnav-button:focus-visible,
.sidebar .sidebar-brand:focus,
.sidebar .sidebar-brand:focus-visible,
.sidebar .sidebar-user a:focus,
.sidebar .sidebar-user a:focus-visible {
  outline: none!important;
  outline-offset: 0!important;
}
/* Secondary tabs: keep focus inside the tab instead of outside the row. */
.admin-subnav .admin-subnav-button:focus-visible {
  box-shadow: inset 0 -2px 0 rgba(15,143,128,.72)!important;
}
.admin-subnav .admin-subnav-button.active:focus,
.admin-subnav .admin-subnav-button.active:focus-visible {
  box-shadow: none!important;
}
/* Primary sidebar: subtle inset focus only for an inactive keyboard target. */
.admin-primary-nav .nav-group-button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(110,231,211,.42)!important;
}
.admin-primary-nav .nav-group-button.active:focus,
.admin-primary-nav .nav-group-button.active:focus-visible {
  box-shadow: none!important;
}
/* Brand/logout links use text emphasis rather than an oversized outer ring. */
.sidebar .sidebar-brand:focus-visible,
.sidebar .sidebar-user a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
/* v19.4 Admin view isolation hotfix
   Inactive admin pages must remain hidden even when a page-specific rule
   uses display:grid/flex. This prevents Assessment History from rendering
   underneath Records, Review Queue, Farmer Profiles, Reports, etc. */
.admin-view:not(.active) {
  display: none!important;
}
#view-trends.admin-view.active {
  display: grid!important;
  gap: 16px;
}
/* v21 — Farmer identity centralization + hierarchy-aware assessment records */
@media (min-width:901px) {
  #view-farmers .farmer-table-head,
  #view-farmers .farmer-row-main {
    grid-template-columns: minmax(240px,2fr) minmax(190px,1.45fr) 92px 96px 104px 125px 100px!important;
    column-gap: 0!important;
  }
  #view-farmers .farmer-table-head {
    padding-left: 18px!important;
    padding-right: 26px!important;
  }
  #view-farmers .farmer-row-main {
    padding-left: 18px!important;
    padding-right: 18px!important;
  }
}
#view-farmers .farmer-count-cell strong {
  font-size: 13px!important;
  line-height: 1.1;
}
#view-farmers .farmer-count-cell small {
  text-transform: none;
}
#view-farmers .farmer-hierarchy-tree {
  display: grid;
  gap: 10px;
}
#view-farmers .farmer-land-group {
  overflow: hidden;
  border: 1px solid #dbe7e4;
  border-radius: 10px;
  background: #fff;
}
#view-farmers .farmer-land-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #eef7f4;
  border-bottom: 1px solid #dfeae7;
}
#view-farmers .farmer-land-heading>div {
  min-width: 0;
}
#view-farmers .farmer-land-heading span,#view-farmers .farmer-land-heading strong,#view-farmers .farmer-land-heading small {
  display: block;
}
#view-farmers .farmer-land-heading span {
  color: #6e837d;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
#view-farmers .farmer-land-heading strong {
  margin-top: 2px;
  color: #153f38;
  font-size: 10px;
}
#view-farmers .farmer-land-heading small {
  margin-top: 2px;
  color: #738983;
  font-size: 8px;
}
#view-farmers .farmer-land-heading>b {
  flex: 0 0 auto;
  color: #176f63;
  font-size: 8px;
}
#view-farmers .farmer-plot-group {
  border-top: 1px solid #edf2f0;
}
#view-farmers .farmer-plot-group:first-of-type {
  border-top: 0;
}
#view-farmers .farmer-plot-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  background: #fbfdfc;
}
#view-farmers .farmer-plot-heading>div {
  min-width: 0;
}
#view-farmers .farmer-plot-heading strong,#view-farmers .farmer-plot-heading small {
  display: block;
}
#view-farmers .farmer-plot-heading strong {
  color: #274e47;
  font-size: 9px;
}
#view-farmers .farmer-plot-heading small {
  margin-top: 2px;
  color: #81938e;
  font-size: 7.5px;
}
#view-farmers .farmer-plot-heading>span {
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef6f4;
  color: #41675f;
  font-size: 7.5px;
  font-weight: 900;
}
#view-farmers .farmer-plot-assessments {
  border-top: 1px dashed #e4ecea;
}
#view-farmers .farmer-assessment-line {
  display: grid;
  grid-template-columns: 86px minmax(125px,.9fr) minmax(120px,1fr) 115px 80px 48px;
  gap: 8px;
  align-items: center;
  padding: 7px 12px;
  border-top: 1px solid #f0f4f2;
  color: #657b75;
  font-size: 7.5px;
}
#view-farmers .farmer-assessment-line:first-child {
  border-top: 0;
}
#view-farmers .farmer-assessment-line em {
  justify-self: end;
  padding: 3px 6px;
  border-radius: 999px;
  background: #def3ed;
  color: #087561;
  font-size: 6.8px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
@media (max-width:900px) {
  #view-farmers .farmer-row-main {
    grid-template-columns: 1.5fr 1fr 78px!important;
  }
  #view-farmers .farmer-assessment-line {
    min-width: 720px;
  }
  #view-farmers .farmer-hierarchy-tree {
    overflow-x: auto;
  }
}
@media (max-width:600px) {
  #view-farmers .farmer-row-main {
    grid-template-columns: 1fr 1fr!important;
  }
  #view-farmers .farmer-person {
    grid-column: 1/-1;
  }
  #view-farmers .farmer-land-heading,#view-farmers .farmer-plot-heading {
    align-items: flex-start;
  }
}
#view-records .assessment-record-table {
  min-width: 1180px;
}
#view-records .assessment-record-table th,#view-records .assessment-record-table td {
  vertical-align: middle;
}
#view-records .assessment-record-table th:nth-child(1) {
  min-width: 135px;
}
#view-records .assessment-record-table th:nth-child(2) {
  min-width: 155px;
}
#view-records .assessment-record-table th:nth-child(3),#view-records .assessment-record-table th:nth-child(4) {
  min-width: 145px;
}
#view-records .assessment-record-table th:nth-child(5) {
  min-width: 110px;
}
#view-records .assessment-record-table th:nth-child(6) {
  min-width: 72px;
  text-align: center;
}
#view-records .assessment-record-table th:nth-child(7) {
  min-width: 105px;
}
#view-records .assessment-record-table th:nth-child(8),#view-records .assessment-record-table th:nth-child(9) {
  min-width: 105px;
}
#view-records .record-code-cell strong,#view-records .record-code-cell small,#view-records .record-farmer-cell strong,#view-records .record-farmer-cell small,#view-records .record-hierarchy-cell strong,#view-records .record-hierarchy-cell small {
  display: block;
}
#view-records .record-code-cell strong,#view-records .record-farmer-cell strong,#view-records .record-hierarchy-cell strong {
  color: #173f39;
  font-size: 10px;
  line-height: 1.25;
}
#view-records .record-code-cell small,#view-records .record-farmer-cell small,#view-records .record-hierarchy-cell small {
  margin-top: 2px;
  color: #82948f;
  font-size: 8px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-records .record-reading-count {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef6f4;
  color: #255d53;
  font-size: 9px;
  font-weight: 900;
}
#view-records .record-type-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}
#view-records .record-type-pill.initial {
  background: #edf4f2;
  color: #587069;
}
#view-records .record-type-pill.reassessment {
  background: #e2f3ee;
  color: #087562;
}
#view-records .records-table-head>div:first-child {
  display: block!important;
  min-width: 0!important;
}
#view-records .records-table-head>div:first-child h2 {
  margin: 0 0 4px!important;
}
#view-records .records-table-head>div:first-child p {
  max-width: 760px;
  color: #6c817b;
  font-size: 10px!important;
  line-height: 1.45!important;
}
/* Technician: emphasize the strongest canonical identity match. */
.technician-shell .farmer-match-option.strong-match,.farmer-match-option.strong-match {
  border-color: #8bcfc1;
  background: #f1faf7;
}
.farmer-match-option.strong-match em {
  color: #087562;
}
/* v22 production hardening */
.record-filter-grid {
  grid-template-columns: repeat(5,minmax(145px,1fr))!important;
}
.record-group-header td {
  padding: 9px 12px!important;
  background: #edf7f4!important;
  border-top: 2px solid #b9d9d2!important;
  color: #174b43!important;
}
.record-group-header strong {
  margin-right: 10px;
  font-size: 11px;
}
.record-group-header span {
  font-size: 9px;
  color: #6b827c;
}
.farmer-identity-review-card {
  margin-top: 14px;
  overflow: hidden;
}
.farmer-identity-review {
  display: grid;
  gap: 10px;
  padding: 14px;
}
.identity-clean-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #cfe8df;
  border-radius: 11px;
  background: #f3fbf8;
  color: #176b5e;
}
.identity-clean-state span {
  font-size: 10px;
  color: #6b817b;
}
.identity-group {
  border: 1px solid #dce8e5;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.identity-group-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f7faf9;
  border-bottom: 1px solid #e5eeec;
}
.identity-group-head span {
  display: block;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #748a84;
  font-weight: 900;
}
.identity-group-head strong {
  display: block;
  margin-top: 3px;
  color: #173f39;
}
.identity-group-head>b {
  align-self: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff4d7;
  color: #8a6300;
  font-size: 8px;
}
.identity-candidates {
  display: grid;
}
.identity-candidate {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid #edf2f1;
  cursor: pointer;
}
.identity-candidate:last-child {
  border-bottom: 0;
}
.identity-candidate input {
  accent-color: #0c8c7e;
}
.identity-candidate strong {
  display: block;
  color: #173f39;
  font-size: 10px;
}
.identity-candidate strong small {
  font-weight: 700;
  color: #718680;
}
.identity-candidate span {
  display: block;
  margin-top: 2px;
  color: #718680;
  font-size: 8px;
}
.identity-candidate em {
  padding: 3px 7px;
  border-radius: 999px;
  background: #e5f5f0;
  color: #087466;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
}
.identity-merge-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  background: #fbfdfc;
  border-top: 1px solid #edf2f1;
}
.identity-merge-actions span {
  font-size: 8px;
  color: #718680;
}
.map-drill-breadcrumb {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  padding: 0 2px;
  color: #78908a;
  font-size: 8px;
  font-weight: 800;
}
.map-drill-breadcrumb span:last-child {
  color: #0a7569;
}
.report-scope-grid {
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
}
.report-scope-grid>label:nth-child(n+4) {
  grid-column: auto;
}
@media (max-width:1200px) {
  .record-filter-grid {
    grid-template-columns: repeat(3,minmax(145px,1fr))!important;
  }
  .report-scope-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:720px) {
  .record-filter-grid,.report-scope-grid {
    grid-template-columns: 1fr!important;
  }
  .identity-merge-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .identity-clean-state {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* v23 — measured-data health dashboard */
#view-quality .data-health-card {
  margin-bottom: 14px;
}
#view-quality .quality-health-overview {
  display: grid;
  grid-template-columns: 180px minmax(0,.9fr) minmax(0,1.35fr);
  gap: 12px;
  align-items: stretch;
}
#view-quality .quality-health-score {
  display: grid;
  align-content: center;
  justify-items: start;
  min-height: 150px;
  padding: 16px;
  border: 1px solid #dbe8e4;
  border-radius: 14px;
  background: #f8fbfa;
}
#view-quality .quality-health-score>span {
  color: #6f847e;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#view-quality .quality-health-score>strong {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  margin: 6px 0 3px;
  color: #174a42;
  font-size: 38px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.04em;
}
#view-quality .quality-health-score>strong small {
  padding-bottom: 4px;
  color: #77908a;
  font-size: 12px;
  letter-spacing: 0;
}
#view-quality .quality-health-score>b {
  padding: 4px 8px;
  border-radius: 999px;
  background: #e8f4f1;
  color: #25685e;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
#view-quality .quality-health-score>p {
  margin: 8px 0 0;
  color: #82958f;
  font-size: 8px;
}
#view-quality .quality-health-score.excellent {
  border-color: #bfe3d8;
  background: #f2fbf8;
}
#view-quality .quality-health-score.excellent>strong {
  color: #087562;
}
#view-quality .quality-health-score.good>strong {
  color: #28735f;
}
#view-quality .quality-health-score.attention {
  border-color: #eadfba;
  background: #fffdf5;
}
#view-quality .quality-health-score.attention>strong {
  color: #946c12;
}
#view-quality .quality-health-score.critical {
  border-color: #efc9c5;
  background: #fff8f7;
}
#view-quality .quality-health-score.critical>strong {
  color: #a43f37;
}
#view-quality .quality-health-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
#view-quality .quality-health-metrics article {
  display: grid;
  align-content: center;
  min-height: 0;
  padding: 11px 12px;
  border: 1px solid #e0ebe8;
  border-radius: 11px;
  background: #fff;
}
#view-quality .quality-health-metrics span,#view-quality .quality-health-issue span {
  color: #6c817b;
  font-size: 7.5px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
#view-quality .quality-health-metrics strong {
  margin-top: 3px;
  color: #173f39;
  font-size: 20px;
  line-height: 1.05;
}
#view-quality .quality-health-metrics small,#view-quality .quality-health-issue small {
  margin-top: 2px;
  color: #869691;
  font-size: 7.5px;
  line-height: 1.3;
}
#view-quality .quality-health-issues {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
#view-quality .quality-health-issue {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: 'label value' 'meta meta';
  align-items: center;
  gap: 2px 10px;
  padding: 10px 11px;
  border: 1px solid #e1ebe8;
  border-radius: 10px;
  background: #fff;
}
#view-quality .quality-health-issue span {
  grid-area: label;
}
#view-quality .quality-health-issue strong {
  grid-area: value;
  color: #46625c;
  font-size: 15px;
}
#view-quality .quality-health-issue small {
  grid-area: meta;
}
#view-quality .quality-health-issue.has-issue {
  border-color: #eadfc8;
  background: #fffdf8;
}
#view-quality .quality-health-issue.has-issue strong {
  color: #9b6710;
}
#view-quality .quality-health-issue.clear strong {
  color: #087562;
}
@media (max-width:1180px) {
  #view-quality .quality-health-overview {
    grid-template-columns: 170px 1fr;
  }
  #view-quality .quality-health-issues {
    grid-column: 1/-1;
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width:760px) {
  #view-quality .quality-health-overview {
    grid-template-columns: 1fr;
  }
  #view-quality .quality-health-score {
    min-height: 125px;
  }
  #view-quality .quality-health-metrics {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  #view-quality .quality-health-issues {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width:520px) {
  #view-quality .quality-health-metrics,#view-quality .quality-health-issues {
    grid-template-columns: 1fr;
  }
}
/* v23 — Farmer Profile quick GIS action */
#view-farmers .farmer-history-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
#view-farmers .farmer-map-button {
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #cfe0dc;
  border-radius: 8px;
  background: #f8fbfa;
  color: #176f63;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
}
#view-farmers .farmer-map-button:hover {
  background: #eaf6f2;
  border-color: #acd2c8;
}
/* v25 assessment comparison + versioned corrections */
.record-reassessment-compare,.record-version-history {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid #e4ece9;
}
.record-compare-head,.record-history-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}
.record-compare-head span,.record-history-title span {
  display: block;
  color: #7d908b;
  font-size: 8px;
}
.record-compare-head strong,.record-history-title strong {
  display: block;
  color: #244b44;
  font-size: 11px;
}
.record-compare-head>b {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eaf5f2;
  color: #1b7164;
  font-size: 7px;
}
.record-compare-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 7px;
}
.record-compare-grid>div {
  padding: 9px;
  border: 1px solid #e1eae7;
  border-radius: 9px;
  background: #fafcfb;
}
.record-compare-grid span,.record-compare-grid strong,.record-compare-grid small {
  display: block;
}
.record-compare-grid span {
  font-size: 7px;
  color: #718680;
  text-transform: uppercase;
  font-weight: 850;
}
.record-compare-grid strong {
  margin-top: 4px;
  font-size: 9.5px;
  color: #234b44;
}
.record-compare-grid small {
  margin-top: 2px;
  font-size: 7.5px;
  color: #0d7568;
  font-weight: 800;
}
.record-initial-note,.record-history-empty {
  padding: 10px;
  border-radius: 9px;
  background: #f7faf9;
  color: #728680;
  font-size: 8.5px;
}
.record-initial-note strong,.record-initial-note span {
  display: block;
}
.record-initial-note strong {
  color: #31574f;
  font-size: 10px;
}
.record-history-list {
  display: grid;
  gap: 6px;
}
.record-history-list article {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 12px;
  padding: 8px 9px;
  border: 1px solid #e4ece9;
  border-radius: 8px;
}
.record-history-list strong,.record-history-list small {
  display: block;
}
.record-history-list strong {
  font-size: 9px;
  color: #244b44;
  text-transform: capitalize;
}
.record-history-list small {
  margin-top: 2px;
  font-size: 7.5px;
  color: #82938f;
}
.record-history-list p {
  margin: 0;
  color: #5e756f;
  font-size: 8px;
  line-height: 1.4;
}
.record-correction-form {
  margin-top: 14px;
  padding: 13px;
  border: 1px solid #cfe3dd;
  border-radius: 11px;
  background: #f7fbfa;
}
.record-correction-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.record-correction-head strong,.record-correction-head span {
  display: block;
}
.record-correction-head strong {
  color: #19584f;
  font-size: 11px;
}
.record-correction-head span {
  max-width: 560px;
  margin-top: 2px;
  color: #718680;
  font-size: 8px;
  line-height: 1.4;
}
.record-correction-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
  margin-top: 11px;
}
.record-correction-grid label {
  display: grid;
  gap: 4px;
  color: #56716b;
  font-size: 8px;
  font-weight: 800;
}
.record-correction-grid input,.record-correction-grid textarea {
  width: 100%;
  padding: 8px 9px;
  border: 1px solid #cfe0dc;
  border-radius: 8px;
  background: #fff;
  color: #173f39;
  font: inherit;
}
.record-correction-grid textarea {
  min-height: 72px;
  resize: vertical;
}
.record-correction-grid .wide {
  grid-column: 1/-1;
}
.record-correction-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
@media (max-width:760px) {
  .record-compare-grid {
    grid-template-columns: 1fr 1fr;
  }
  .record-correction-grid {
    grid-template-columns: 1fr;
  }
  .record-history-list article {
    grid-template-columns: 1fr;
  }
  .record-correction-grid .wide {
    grid-column: 1;
  }
  .record-compare-head,.record-history-title {
    display: block;
  }
  .record-compare-head>b {
    display: inline-block;
    margin-top: 5px;
  }
}
/* v25 reversible Farmer identity merge history */
.identity-merge-history {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid #e0eae7;
}
.identity-history-head,.identity-history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.identity-history-head {
  margin-bottom: 8px;
}
.identity-history-head span,.identity-history-head strong {
  display: block;
}
.identity-history-head span {
  color: #708680;
  font-size: 7px;
  font-weight: 850;
  text-transform: uppercase;
}
.identity-history-head strong {
  margin-top: 2px;
  color: #214d45;
  font-size: 11px;
}
.identity-history-head small {
  color: #82948f;
  font-size: 8px;
}
.identity-history-row {
  padding: 9px 10px;
  border: 1px solid #e1ebe8;
  border-radius: 9px;
  background: #fafcfb;
  margin-top: 6px;
}
.identity-history-row>div {
  min-width: 0;
}
.identity-history-row strong,.identity-history-row span {
  display: block;
}
.identity-history-row strong {
  font-size: 9px;
  color: #244b44;
}
.identity-history-row span {
  margin-top: 2px;
  font-size: 7.5px;
  color: #7c8f8a;
}
.identity-history-empty {
  padding: 10px;
  border-radius: 8px;
  background: #f7faf9;
  color: #7a8e89;
  font-size: 8px;
}
/* v25 actionable data quality health */
.quality-health-issue {
  display: flex!important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.quality-health-issue>div {
  min-width: 0;
}
.quality-health-issue>div>span,.quality-health-issue>div>strong,.quality-health-issue>div>small {
  display: block;
}
.quality-health-issue .table-btn {
  flex: 0 0 auto;
}
.quality-clear-check {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e6f5ef;
  color: #12806d;
  font-size: 11px;
}
/* v25 accessibility + high-zoom production safeguards */
:where(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid rgba(18,142,124,.34)!important;
  outline-offset: 2px!important;
}
:where(button,a,input,select,textarea):disabled {
  cursor: not-allowed;
  opacity: .58;
}
.sr-only {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  padding: 0!important;
  margin: -1px!important;
  overflow: hidden!important;
  clip: rect(0,0,0,0)!important;
  white-space: nowrap!important;
  border: 0!important;
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior: auto!important;
    animation-duration: .001ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .001ms!important;
  }
}
@media (max-width:1366px) {
  .admin-main {
    min-width: 0;
  }
  .table-wrap {
    max-width: 100%;
    overflow: auto;
  }
  .detail-card {
    max-width: min(920px,94vw);
  }
  .metric-grid article {
    min-width: 0;
  }
  .admin-top h1 {
    font-size: clamp(22px,2.2vw,32px);
  }
}
@media (max-width:1024px) {
  .record-document-actions {
    flex-wrap: wrap;
  }
  .record-document-actions>* {
    min-height: 38px;
  }
  .quality-health-overview {
    overflow: hidden;
  }
  .quality-health-issues {
    min-width: 0;
  }
  .admin-subnav {
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .admin-subnav-button {
    flex: 0 0 auto;
  }
}
@media (max-width:760px) {
  body {
    font-size: 14px;
  }
  .modal-card {
    width: min(96vw,720px);
    max-height: 92vh;
    overflow: auto;
  }
  .detail-grid,.soil-detail {
    grid-template-columns: 1fr 1fr!important;
  }
  .table-wrap {
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width:480px) {
  .detail-grid,.soil-detail {
    grid-template-columns: 1fr!important;
  }
  .admin-top {
    padding-left: 54px;
  }
  .record-document-actions>* {
    width: 100%;
  }
}
.skip-to-content {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 99999;
  padding: 9px 12px;
  border-radius: 8px;
  background: #083f36;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.skip-to-content:focus {
  top: 12px;
}
/* v27 — server backup snapshot management */
.backup-settings-card .server-backup-row {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto!important;
  gap: 8px 12px!important;
  align-items: center!important;
}
.backup-settings-card .server-backup-row>.backup-maintenance-copy {
  grid-column: 1/2!important;
}
.backup-settings-card .server-backup-row>#sa-backup-create {
  grid-column: 2/3!important;
  grid-row: 1!important;
  min-height: 34px!important;
  white-space: nowrap!important;
}
.server-backup-retention {
  grid-column: 1/-1;
  color: #7b8f89;
  font-size: 8px;
  font-weight: 700;
}
.server-backup-list {
  grid-column: 1/-1;
  display: grid;
  gap: 6px;
  width: 100%;
}
.server-backup-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: "copy status" "copy actions";
  gap: 4px 10px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid #edf2f0;
}
.server-backup-item:first-child {
  border-top: 0;
}
.server-backup-item>div:first-child {
  grid-area: copy;
  min-width: 0;
}
.server-backup-item>div:first-child strong,.server-backup-item>div:first-child small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.server-backup-item>div:first-child strong {
  color: #234b44;
  font-size: 9px;
}
.server-backup-item>div:first-child small {
  margin-top: 2px;
  color: #7c8f8a;
  font-size: 7.5px;
}
.server-backup-status {
  grid-area: status;
  justify-self: end;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 7px;
  font-weight: 900;
}
.server-backup-status.valid {
  background: #e0f4ed;
  color: #08745f;
}
.server-backup-status.invalid {
  background: #fde8e8;
  color: #a43e3e;
}
.server-backup-status.unknown {
  background: #eef3f1;
  color: #657a75;
}
.server-backup-actions {
  grid-area: actions;
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  align-items: center;
}
.server-backup-actions .table-btn {
  min-height: 26px!important;
  padding: 0 8px!important;
  font-size: 7.5px!important;
  text-decoration: none!important;
}
.server-backup-empty {
  padding: 9px 0;
  color: #7b8e89;
  font-size: 8px;
}
@media (max-width:720px) {
  .backup-settings-card .server-backup-row {
    grid-template-columns: 1fr!important;
  }
  .backup-settings-card .server-backup-row>#sa-backup-create {
    grid-column: 1!important;
    grid-row: auto!important;
    justify-self: start;
  }
  .server-backup-item {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "status" "actions";
  }
  .server-backup-status,.server-backup-actions {
    justify-self: start;
  }
  .server-backup-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
/* v27 — actionable Data Quality queue */
.quality-action-queue {
  grid-column: 1/-1;
  margin-top: 12px;
  border-top: 1px solid #e3ece9;
  padding-top: 12px;
}
.quality-action-queue-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.quality-action-queue-head span,.quality-action-queue-head strong {
  display: block;
}
.quality-action-queue-head span {
  color: #0d7e70;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.quality-action-queue-head strong {
  margin-top: 2px;
  color: #173f39;
  font-size: 11px;
}
.quality-action-queue-head small {
  color: #7a8d88;
  font-size: 8px;
}
.quality-action-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid #edf2f0;
}
.quality-action-item:first-of-type {
  border-top: 0;
}
.quality-action-item>div {
  min-width: 0;
}
.quality-action-item b,.quality-action-item strong,.quality-action-item small {
  display: block;
}
.quality-action-item b {
  color: #94691a;
  font-size: 7px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.quality-action-item strong {
  margin-top: 2px;
  color: #244b44;
  font-size: 9.5px;
}
.quality-action-item small {
  margin-top: 2px;
  color: #7c8e89;
  font-size: 8px;
}
.quality-action-item .table-btn {
  white-space: nowrap;
}
@media (max-width:620px) {
  .quality-action-item {
    grid-template-columns: 1fr;
  }
  .quality-action-item .table-btn {
    justify-self: start;
  }
}


/* v30 rc2 — Admin Overview defense-ready refinement */
#view-overview .overview-metrics {
  gap: 10px;
  margin-bottom: 12px;
}
#view-overview .overview-metrics article {
  min-height: 82px!important;
  padding: 12px 14px!important;
  overflow: hidden;
}
#view-overview .overview-metrics article>span {
  display: block;
  color: #60756f;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#view-overview .overview-metrics strong {
  margin: 5px 0 3px;
  color: #073d34;
  font-size: 27px;
  line-height: 1;
  letter-spacing: -.035em;
}
#view-overview .overview-metrics article>small,
#view-overview .overview-metrics #m-score-context {
  display: block;
  margin: 0;
  color: #70837e;
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.25;
}
#view-overview .overview-score-line {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
#view-overview .overview-score-line strong {
  display: inline-block;
}
#view-overview .overview-score-line .overview-score-unit {
  display: inline!important;
  margin: 0!important;
  color: #70837e!important;
  font-size: 9px!important;
  font-weight: 750!important;
}
#view-overview .overview-combined-grid {
  grid-template-columns: minmax(0,1.58fr) minmax(420px,.92fr);
  min-height: 540px;
}
#view-overview .overview-map-panel {
  padding: 14px;
  gap: 9px;
}
#view-overview .overview-map-head {
  min-height: 38px;
}
#view-overview .overview-map-head>div,
#view-overview .summary-card-head>div {
  min-width: 0;
}
#view-overview .overview-map-head p,
#view-overview .summary-card-head p {
  margin: 3px 0 0;
  color: #7b8d88;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.3;
}
#view-overview .overview-map-panel #mini-map {
  min-height: 430px;
}
#view-overview .overview-map-footer {
  min-height: 24px;
  justify-content: space-between;
  gap: 14px;
}
#view-overview .overview-legend {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 13px;
  font-size: 8.5px;
}
#view-overview .overview-map-hint {
  flex: 0 0 auto;
  color: #78908a;
  font-size: 8px;
  font-weight: 700;
  white-space: nowrap;
}
#view-overview .overview-status-panel .summary-card-head {
  min-height: 58px;
  padding: 12px 14px 10px;
  gap: 10px;
}
#view-overview .summary-count-note {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf6f3;
  color: #4c6d66;
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
}
#view-overview .summary-table-wrap {
  flex: 1 1 auto;
  overflow: auto;
}
#view-overview .summary-table {
  table-layout: fixed;
  width: 100%;
}
#view-overview .summary-table th {
  height: 32px;
  padding: 7px 8px;
  color: #687d77;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .055em;
}
#view-overview .summary-table td {
  height: 40px;
  padding: 5px 8px;
}
#view-overview .summary-table th:nth-child(1) { width: 30%; }
#view-overview .summary-table th:nth-child(2) { width: 17%; }
#view-overview .summary-table th:nth-child(3) { width: 25%; }
#view-overview .summary-table th:nth-child(4) { width: 28%; }
#view-overview .summary-brgy-link {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 3px 2px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #173f39;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
#view-overview .summary-brgy-link:hover {
  background: #eef8f5;
}
#view-overview .summary-brgy-link:focus-visible {
  outline: 2px solid #1d9b8c;
  outline-offset: 1px;
}
#view-overview .summary-brgy {
  min-width: 0!important;
  width: 100%;
  gap: 6px;
}
#view-overview .summary-brgy b {
  min-width: 0;
  overflow: hidden;
  color: #173f39;
  font-size: 9.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#view-overview .summary-no-data .summary-brgy b {
  color: #758984;
}
#view-overview .summary-no-data td {
  background: #fbfcfc;
}
#view-overview .record-count {
  min-width: 23px;
  height: 21px;
  padding: 0 5px;
  font-size: 8px;
}
#view-overview .fertility-cell {
  gap: 4px;
  min-width: 0;
}
#view-overview .fertility-cell .pill {
  min-width: 25px;
  padding: 3px 5px;
  font-size: 8px;
}
#view-overview .fertility-cell>span:last-child {
  min-width: 0;
  overflow: hidden;
  color: #526b65;
  font-size: 8px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#view-overview .coverage-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 4px 6px;
  font-size: 7.5px;
  line-height: 1;
  white-space: nowrap;
}
#view-overview .overview-info {
  display: inline-grid;
  place-items: center;
  width: 12px;
  height: 12px;
  margin-left: 2px;
  border: 1px solid #b9cbc6;
  border-radius: 50%;
  color: #68807a;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
  vertical-align: middle;
}
#view-overview .summary-footer {
  min-height: 34px;
  padding: 7px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #71847f;
  font-size: 8px;
  font-weight: 650;
  text-align: left;
}
#view-overview .summary-footer strong {
  color: #365b53;
  font-weight: 850;
}
#view-overview .summary-footer span:last-child {
  text-align: right;
}
@media (max-width:1180px) {
  #view-overview .overview-combined-grid {
    grid-template-columns: 1fr;
  }
  #view-overview .overview-map-panel {
    border-right: 0;
    border-bottom: 1px solid #e4ecea;
  }
  #view-overview .overview-status-panel {
    min-height: 0;
  }
  #view-overview .summary-table-wrap {
    max-height: none;
  }
}
@media (max-width:720px) {
  #view-overview .overview-map-head p,
  #view-overview .summary-card-head p,
  #view-overview .overview-map-hint {
    display: none;
  }
  #view-overview .overview-map-footer {
    align-items: flex-start;
  }
  #view-overview .summary-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  #view-overview .summary-footer span:last-child {
    text-align: left;
  }
}

/* 2026-09-11 — Assessment Records defense refinement (v30 RC3) */
#view-records .records-workspace {
  overflow: visible;
  padding: 0!important;
}
#view-records .records-table-head {
  margin: 0!important;
  padding: 16px 20px 13px!important;
  align-items: flex-start!important;
  justify-content: space-between!important;
  border-bottom: 1px solid #e5eeec;
}
#view-records .records-heading-copy {
  max-width: 760px;
}
#view-records .records-heading-copy .section-kicker {
  display: block;
  margin-bottom: 3px;
  color: #0b8578;
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
#view-records .records-heading-copy h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  color: #123f38;
}
#view-records .records-heading-copy p {
  max-width: 720px;
  margin: 4px 0 0;
  color: #738680;
  font-size: 9.5px;
  line-height: 1.45;
}
#view-records .table-command-bar {
  flex: 0 0 auto;
  gap: 8px;
}
#view-records .records-group-control {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6d827c;
  font-size: 9px;
  font-weight: 800;
}
#view-records .records-group-control select,
#view-records #records-export-format {
  min-height: 36px!important;
  height: 36px!important;
  border: 1px solid #cfe0dc;
  border-radius: 9px;
  background: #fff;
  color: #244f48;
  padding: 0 30px 0 10px;
  font-size: 10px;
  font-weight: 800;
}
#view-records .records-filter-shell {
  padding: 12px 20px 0;
  background: #fff;
}
#view-records .records-primary-filters {
  display: grid;
  grid-template-columns: minmax(260px,2fr) repeat(3,minmax(135px,.8fr)) auto auto;
  align-items: center;
  gap: 8px;
}
#view-records .records-primary-filters input,
#view-records .records-primary-filters select,
#view-records .records-primary-filters button {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  height: 40px;
  border-radius: 9px;
}
#view-records .records-primary-filters input,
#view-records .records-primary-filters select {
  border: 1px solid #ccddd9;
  background: #fff;
  color: #244f48;
  padding: 0 11px;
  outline: none;
  font-size: 10.5px;
}
#view-records .records-primary-filters input:focus,
#view-records .records-primary-filters select:focus {
  border-color: #60b5a8;
  box-shadow: 0 0 0 3px rgba(15,143,128,.09);
}
#view-records .records-more-filters,
#view-records .records-reset-button {
  width: auto!important;
  white-space: nowrap;
  padding-inline: 13px;
  font-size: 10px;
}
#view-records .records-more-filters[aria-expanded="true"] {
  border-color: #7fc6bb;
  background: #edf8f5;
  color: #0f766b;
}
#view-records .records-reset-button:disabled {
  opacity: .45;
  cursor: default;
  transform: none!important;
}
#view-records .filter-chip-row {
  min-height: 0!important;
  margin: 8px 0 0!important;
}
#view-records .filter-chip-row.is-empty {
  display: none!important;
  margin: 0!important;
}
#view-records .advanced-filter-panel {
  margin: 9px 0 0!important;
  padding: 11px!important;
  border: 1px solid #dce8e5!important;
  border-radius: 11px!important;
  background: #f8fbfa!important;
}
#view-records .advanced-filter-panel.filters-collapsed {
  margin: 0!important;
  padding-top: 0!important;
  padding-bottom: 0!important;
  border: 0!important;
}
#view-records .record-filter-grid {
  display: grid!important;
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
  gap: 8px!important;
  margin: 0!important;
  padding: 0!important;
  border: 0!important;
  background: transparent!important;
}
#view-records .record-filter-grid input,
#view-records .record-filter-grid select {
  width: 100%!important;
  min-width: 0!important;
  height: 38px!important;
  min-height: 38px!important;
  padding: 0 10px!important;
  border-radius: 8px!important;
  font-size: 10px!important;
}
#view-records .record-date-field {
  display: grid!important;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 7px!important;
  color: #627973!important;
  font-size: 9px!important;
  font-weight: 800;
}
#view-records .record-date-field>span:first-child {
  padding: 0!important;
  white-space: nowrap;
}
#view-records .records-results-bar {
  display: flex;
  align-items: center;
  min-height: 40px;
  margin-top: 7px;
  border-top: 1px solid #edf2f1;
}
#view-records .filter-summary {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0!important;
  padding: 8px 0!important;
  border: 0!important;
}
#view-records .filter-summary span {
  color: #174f47;
  font-size: 10.5px;
  font-weight: 900;
}
#view-records .filter-summary small {
  color: #7b8f8a;
  font-size: 9px;
}
#view-records .records-table-wrap,
#view-records .records-table-wrap.enterprise-table-wrap {
  max-height: none!important;
  margin: 0 20px!important;
  overflow-x: auto!important;
  overflow-y: visible!important;
  border: 1px solid #d7e5e1!important;
  border-radius: 10px!important;
  box-shadow: none!important;
}
#view-records .records-table-wrap table {
  min-width: 1160px!important;
}
#view-records .records-table-wrap th {
  height: 36px!important;
  padding-top: 8px!important;
  padding-bottom: 8px!important;
  background: #f4f8f7!important;
  color: #6d817c!important;
  font-size: 8.5px!important;
  letter-spacing: .055em!important;
}
#view-records .records-table-wrap td {
  padding-top: 9px!important;
  padding-bottom: 9px!important;
  font-size: 10.5px!important;
  vertical-align: middle!important;
}
#view-records .record-code-cell strong,
#view-records .record-farmer-cell strong,
#view-records .record-hierarchy-cell strong {
  display: block;
  color: #16463f;
  font-size: 10px;
  line-height: 1.2;
}
#view-records .record-code-cell small,
#view-records .record-farmer-cell small,
#view-records .record-hierarchy-cell small {
  display: block;
  margin-top: 2px;
  color: #899a96;
  font-size: 7.5px;
  line-height: 1.25;
}
#view-records .record-reading-link {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid #d9e7e3;
  border-radius: 999px;
  background: #f3f8f6;
  color: #2c625a;
  font-size: 8.5px;
  font-weight: 850;
  cursor: pointer;
}
#view-records .record-reading-link:hover {
  border-color: #9fcfc7;
  background: #edf8f5;
  color: #0b786d;
}
#view-records tr.record-needs-action td:first-child {
  box-shadow: inset 3px 0 0 #efb735;
}
#view-records tr.record-needs-action:hover { background: #fffaf0!important; }
#view-records .record-group-header td {
  padding: 8px 10px!important;
  background: #eef7f4!important;
  border-top: 1px solid #d7e7e2;
  border-bottom: 1px solid #d7e7e2;
}
#view-records .record-group-header strong {
  color: #15584f;
  font-size: 10px;
}
#view-records .record-group-header span {
  margin-left: 8px;
  color: #718681;
  font-size: 8px;
}
#view-records .records-empty-state {
  display: grid;
  place-items: center;
  gap: 4px;
  min-height: 130px;
  color: #55706a;
}
#view-records .records-empty-state strong { font-size: 12px; }
#view-records .records-empty-state span { color: #879894; font-size: 9px; }
#view-records .records-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  margin: 0 20px;
  padding: 8px 0 12px;
  color: #71847f;
  font-size: 9px;
}
#view-records .records-pagination:empty { min-height: 14px; padding: 0; }
#view-records .records-pagination>div { display: flex; align-items: center; gap: 5px; }
#view-records .records-pagination button {
  min-width: 30px;
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid #d4e2df;
  border-radius: 8px;
  background: #fff;
  color: #46645e;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
#view-records .records-pagination button:hover:not(:disabled) { background: #f1f8f6; border-color: #a8cec7; }
#view-records .records-pagination button.is-current { border-color: #178f81; background: #178f81; color: #fff; }
#view-records .records-pagination button:disabled { opacity: .4; cursor: default; }
.nav-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 5px;
  padding: 0 5px;
  border-radius: 999px;
  background: #fff1c9;
  color: #9b6500;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}
.nav-count-badge[hidden] { display: none!important; }

@media (max-width:1180px) {
  #view-records .records-table-head {
    padding: 15px 16px 12px!important;
  }
  #view-records .records-filter-shell { padding: 12px 16px 0; }
  #view-records .records-primary-filters {
    grid-template-columns: minmax(220px,2fr) repeat(2,minmax(130px,1fr)) auto auto;
  }
  #view-records #record-type { grid-column: 2/3; }
  #view-records .record-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr))!important; }
  #view-records .records-table-wrap,
  #view-records .records-table-wrap.enterprise-table-wrap,
  #view-records .records-pagination { margin-left: 16px!important; margin-right: 16px!important; }
}
@media (max-width:760px) {
  #view-records .records-table-head {
    display: grid!important;
    gap: 10px!important;
  }
  #view-records .table-command-bar {
    width: 100%;
    justify-content: space-between;
  }
  #view-records .records-group-control { flex: 1 1 auto; }
  #view-records .records-group-control select { width: 100%; }
  #view-records .records-filter-shell { padding: 10px 14px 0; }
  #view-records .records-primary-filters { grid-template-columns: 1fr 1fr!important; }
  #view-records .record-search-field { grid-column: 1/-1; }
  #view-records #record-type { grid-column: auto; }
  #view-records .records-more-filters,
  #view-records .records-reset-button { width: 100%!important; }
  #view-records .record-filter-grid { grid-template-columns: 1fr!important; }
  #view-records .filter-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  #view-records .records-table-wrap,
  #view-records .records-table-wrap.enterprise-table-wrap,
  #view-records .records-pagination { margin-left: 14px!important; margin-right: 14px!important; }
  #view-records .records-pagination {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width:480px) {
  #view-records .records-primary-filters { grid-template-columns: 1fr!important; }
  #view-records .record-search-field { grid-column: auto; }
  #view-records .records-heading-copy h2 { font-size: 17px; }
}


/* RC3 assessment detail/report reliability patch */
.record-modal-card {
  width: min(760px,96vw)!important;
  max-height: 92vh!important;
  overflow: hidden!important;
  padding: 0!important;
}
.record-modal-card .modal-x {
  z-index: 8;
  top: 12px;
  right: 12px;
}
#record-detail {
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
  max-height: 92vh;
  min-height: 0;
}
.record-detail-scroll {
  min-height: 0;
  overflow: auto;
  padding: 24px 24px 18px;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
.record-detail-scroll h2 {
  margin-bottom: 2px;
  padding-right: 44px;
}
.record-detail-lead {
  margin: 0 0 14px;
  color: #748985;
  font-size: 9px;
  font-weight: 700;
}
.detail-grid .record-detail-wide {
  grid-column: 1/-1;
}
.record-gps-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}
.detail-grid .record-gps-line b {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.record-inline-action {
  flex: 0 0 auto;
  border: 0;
  padding: 0;
  background: transparent;
  color: #0b7a6c;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.record-missing-value {
  color: #879792!important;
  font-weight: 700!important;
}
.record-detail-status {
  margin-top: 5px;
}
.record-detail-status .pill {
  font-style: normal;
  font-size: 8px;
  padding: 4px 7px;
}
.soil-detail .record-soil-card {
  min-width: 0;
}
.record-soil-card span,.record-soil-card b,.record-soil-card small {
  display: block;
}
.record-soil-card small {
  margin-top: 5px;
  font-size: 7px;
  font-weight: 850;
  line-height: 1.25;
}
.record-soil-card small.high { color: #08755f; }
.record-soil-card small.moderate { color: #9a6a08; }
.record-soil-card small.low { color: #b53b3b; }
.record-soil-card small.neutral { color: #7c8f8a; }
.analysis-box strong.high { color: #047857; }
.analysis-box strong.moderate { color: #a16207; }
.analysis-box strong.low { color: #b91c1c; }
.record-previous-link {
  display: block;
  margin-top: 2px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #244b44;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: #b7cfca;
  text-underline-offset: 2px;
}
.record-compare-grid small {
  color: #6f827d!important;
}
.record-version-history[hidden] {
  display: none!important;
}
.record-correction-lock-note {
  display: grid;
  gap: 2px;
  margin-top: 10px;
  padding: 9px 10px;
  border: 1px solid #ead9ac;
  border-radius: 9px;
  background: #fffaf0;
  color: #735d27;
}
.record-correction-lock-note strong {
  font-size: 9px;
}
.record-correction-lock-note span {
  font-size: 8px;
  line-height: 1.4;
}
.record-correction-grid input:disabled {
  background: #edf2f1;
  color: #879792;
  border-color: #dce6e3;
  opacity: 1;
}
.record-document-actions {
  position: relative;
  z-index: 6;
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: 9px!important;
  margin: 0!important;
  padding: 12px 24px 16px!important;
  border-top: 1px solid #dfe9e6;
  background: rgba(255,255,255,.97);
  box-shadow: 0 -9px 24px rgba(16,63,58,.06);
  backdrop-filter: blur(8px);
}
.record-document-actions > * {
  width: 100%!important;
  min-height: 41px!important;
  margin: 0!important;
}
.record-document-actions .record-report-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.record-document-actions .record-archive-btn {
  grid-column: 1/-1;
}
.record-document-actions.no-correction .record-report-link {
  grid-column: 1/-1;
}
@media (max-width:760px) {
  .record-modal-card { width: min(96vw,720px)!important; max-height: 94vh!important; }
  #record-detail { max-height: 94vh; }
  .record-detail-scroll { padding: 20px 18px 14px; }
  .record-document-actions { padding: 10px 18px 14px!important; }
  .record-gps-line { align-items: flex-start; flex-direction: column; gap: 3px; }
}
@media (max-width:520px) {
  .record-document-actions { grid-template-columns: 1fr!important; }
  .record-document-actions .record-archive-btn,.record-document-actions.no-correction .record-report-link { grid-column: 1; }
}


/* 2026-09-11 — Farmer Profiles defense refinement patch */
#view-farmers .farmer-toolbar {
  grid-template-columns: minmax(320px,1fr) 180px 205px 112px!important;
  align-items: center;
}
#view-farmers .farmer-filter-toggle,
#view-farmers .farmer-filter-reset {
  height: 38px;
  border: 1px solid #cadcd8;
  border-radius: 9px;
  background: #fff;
  color: #28564e;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
#view-farmers .farmer-filter-toggle:hover,
#view-farmers .farmer-filter-toggle.active,
#view-farmers .farmer-filter-toggle.has-filters {
  border-color: #9dcfc5;
  background: #edf8f5;
  color: #08796d;
}
#view-farmers .farmer-advanced-filters {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr)) 118px;
  gap: 9px;
  align-items: end;
  padding: 10px 18px 12px;
  border-bottom: 1px solid #e3ece9;
  background: #fbfdfc;
}
#view-farmers .farmer-advanced-filters[hidden] { display: none!important; }
#view-farmers .farmer-advanced-filters label { min-width: 0; }
#view-farmers .farmer-advanced-filters label>span {
  display: block;
  margin: 0 0 5px 2px;
  color: #70857f;
  font-size: 7.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
#view-farmers .farmer-advanced-filters select {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #cadcd8;
  border-radius: 9px;
  background: #fff;
  color: #173f39;
  font-size: 9px;
  font-weight: 700;
}
#view-farmers .farmer-table-head { align-items: stretch; }
#view-farmers .farmer-table-head>button,
#view-farmers .farmer-table-head>span {
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
}
#view-farmers .farmer-table-head>button {
  position: relative;
  padding: 0 14px 0 0;
  cursor: pointer;
  text-align: inherit;
}
#view-farmers .farmer-table-head>button::after {
  content: '↕';
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-52%);
  color: #a1b1ad;
  font-size: 8px;
}
#view-farmers .farmer-table-head>button.active { color: #0b766a; }
#view-farmers .farmer-table-head>button.active::after { content: '↓'; color: #0b8a7b; }
#view-farmers .farmer-profile-list {
  max-height: none!important;
  min-height: 0!important;
  overflow: visible!important;
  scrollbar-gutter: auto!important;
}
#view-farmers .farmer-history-cell {
  flex-wrap: nowrap;
  justify-content: center;
}
#view-farmers .farmer-history-toggle,
#view-farmers .farmer-map-button {
  min-height: 30px;
  white-space: nowrap;
}
#view-farmers .farmer-map-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#view-farmers .farmer-map-unavailable {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 7px;
  border-radius: 8px;
  background: #f2f5f4;
  color: #8a9995;
  font-size: 7px;
  font-weight: 800;
  white-space: nowrap;
}
#view-farmers .farmer-assessment-line {
  grid-template-columns: 95px minmax(135px,1fr) 88px 112px 96px 78px 48px!important;
  min-height: 38px;
}
#view-farmers .farmer-assessment-line.is-latest { background: #f4fbf8; }
#view-farmers .farmer-assessment-code {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0b766a;
  font-size: 7.5px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-farmers .farmer-assessment-code:hover { text-decoration: underline; text-underline-offset: 2px; }
#view-farmers .farmer-assessment-type,
#view-farmers .farmer-review-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 6.8px;
  font-weight: 900;
  white-space: nowrap;
}
#view-farmers .farmer-assessment-type.initial { background: #edf3f2; color: #5c736d; }
#view-farmers .farmer-assessment-type.reassessment { background: #def3ed; color: #087561; }
#view-farmers .farmer-review-status.high { background: #dcf5ea; color: #08735d; }
#view-farmers .farmer-review-status.moderate { background: #fff2c8; color: #946100; }
#view-farmers .farmer-review-status.neutral { background: #edf1f0; color: #667a75; }
#view-farmers .farmer-history-fertility { white-space: nowrap; }
#view-farmers .farmer-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 18px 15px;
  border-top: 1px solid #e5eeec;
  background: #fff;
}
#view-farmers .farmer-pagination[hidden] { display: none!important; }
#view-farmers .farmer-pagination button {
  min-width: 30px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid #d2e1de;
  border-radius: 8px;
  background: #fff;
  color: #365f57;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
}
#view-farmers .farmer-pagination button:hover:not(:disabled) { background: #f0f8f6; border-color: #add0c8; }
#view-farmers .farmer-pagination button.active { background: #0f8f80; border-color: #0f8f80; color: #fff; }
#view-farmers .farmer-pagination button:disabled { opacity: .45; cursor: default; }
#view-farmers .farmer-page-gap { color: #899a96; font-size: 9px; }
@media (min-width:901px) {
  #view-farmers .farmer-table-head,
  #view-farmers .farmer-row-main {
    grid-template-columns: minmax(235px,1.9fr) minmax(205px,1.55fr) 90px 96px 104px 125px minmax(150px,1.05fr)!important;
  }
  #view-farmers .farmer-table-head { padding-right: 18px!important; }
  #view-farmers .farmer-table-head>button:nth-child(1),
  #view-farmers .farmer-table-head>button:nth-child(2) { justify-self: stretch!important; text-align: left!important; }
  #view-farmers .farmer-table-head>button:nth-child(n+3),
  #view-farmers .farmer-table-head>span:nth-child(7) {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-align: center!important;
  }
}
@media (max-width:1200px) {
  #view-farmers .farmer-toolbar { grid-template-columns: minmax(240px,1fr) 160px 180px 108px!important; }
}
@media (max-width:900px) {
  #view-farmers .farmer-toolbar { grid-template-columns: 1fr 1fr!important; }
  #view-farmers .farmer-search-box { grid-column: 1/-1; }
  #view-farmers .farmer-advanced-filters { grid-template-columns: 1fr 1fr; }
  #view-farmers .farmer-profile-list { padding: 8px 12px 14px; background: #f8fbfa; }
  #view-farmers .farmer-history-cell { justify-self: stretch; justify-content: flex-start; }
  #view-farmers .farmer-assessment-line { min-width: 790px; }
}
@media (max-width:600px) {
  #view-farmers .farmer-toolbar { grid-template-columns: 1fr!important; }
  #view-farmers .farmer-advanced-filters { grid-template-columns: 1fr; padding: 10px 14px 12px; }
  #view-farmers .farmer-filter-reset { width: 100%; }
  #view-farmers .farmer-history-cell { grid-column: 1/-1; }
  #view-farmers .farmer-history-toggle { flex: 1 1 auto; width: auto; }
  #view-farmers .farmer-map-button { flex: 0 0 auto; }
  #view-farmers .farmer-map-unavailable { flex: 0 0 auto; }
  #view-farmers .farmer-history-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  #view-farmers .farmer-pagination { flex-wrap: wrap; padding-inline: 12px; }
}


/* v30 rc3 — Data Quality priority-first refinement */
#view-quality .data-health-card,
#view-quality .quality-table-card,
#view-quality .farmer-identity-review-card { overflow: hidden; }
#view-quality .quality-overview-head { align-items: center; }
#view-quality .quality-refresh-cluster { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
#view-quality .quality-last-updated { color:#71857f; font-size:8px; font-weight:650; white-space:nowrap; }
#view-quality #quality-workspace-refresh { min-height:34px; white-space:nowrap; }
#view-quality #quality-workspace-refresh.is-loading { cursor:wait; opacity:.72; }

#view-quality .quality-health-overview { display:block; padding:0; }
#view-quality .quality-health-primary { display:grid; grid-template-columns:minmax(210px,.64fr) minmax(0,1.36fr); border-top:1px solid #e5eeeb; }
#view-quality .quality-health-score { border:0; border-right:1px solid #e5eeeb; border-radius:0; padding:18px 20px; min-height:164px; background:#fbfdfc; }
#view-quality .quality-health-score>span { font-size:7px; letter-spacing:.08em; }
#view-quality .quality-health-score>strong { margin-top:8px; font-size:38px; line-height:.95; }
#view-quality .quality-health-score>b { margin-top:6px; display:inline-flex; padding:3px 7px; border-radius:999px; background:#e8f4f0; font-size:7.5px; }
#view-quality .quality-health-score>p { margin-top:6px; }
#view-quality .quality-health-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:stretch; gap:0; }
#view-quality .quality-health-metrics article { display:flex; flex-direction:column; justify-content:center; min-height:164px; padding:18px 20px; border:0; border-right:1px solid #e5eeeb; border-radius:0; background:#fff; }
#view-quality .quality-health-metrics article:last-child { border-right:0; }
#view-quality .quality-health-metrics span { font-size:7.5px; }
#view-quality .quality-health-metrics strong { margin:7px 0 4px; font-size:24px; }
#view-quality .quality-health-metrics small { font-size:8px; }

#view-quality .quality-score-details { margin-top:10px; font-size:8px; color:#637a74; }
#view-quality .quality-score-details>summary { cursor:pointer; color:#35665e; font-weight:800; list-style:none; }
#view-quality .quality-score-details>summary::-webkit-details-marker { display:none; }
#view-quality .quality-score-details>summary::before { content:'ⓘ'; margin-right:5px; color:#0e8d7d; }
#view-quality .quality-score-formula { margin-top:8px; padding:9px; border:1px solid #dceae6; border-radius:8px; background:#fff; box-shadow:0 8px 18px rgba(16,63,55,.05); }
#view-quality .quality-score-formula>p { margin:0 0 7px; line-height:1.35; }
#view-quality .quality-score-formula>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1px 8px; padding:5px 0; border-top:1px solid #edf3f1; }
#view-quality .quality-score-formula>div span { color:#214b43; font-weight:750; }
#view-quality .quality-score-formula>div small { grid-column:1; color:#7b8e89; }
#view-quality .quality-score-formula>div em { grid-column:2; grid-row:1/3; align-self:center; color:#9a6b1f; font-style:normal; font-weight:900; }
#view-quality .quality-score-formula .quality-score-note { margin:6px 0 0; color:#7b8e89; }

#view-quality .quality-priority-section { border-top:1px solid #e5eeeb; padding:13px 16px 14px; }
#view-quality .quality-priority-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:8px; }
#view-quality .quality-priority-head span,#view-quality .quality-priority-head strong { display:block; }
#view-quality .quality-priority-head span { color:#0d7e70; font-size:7px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
#view-quality .quality-priority-head strong { margin-top:2px; color:#173f39; font-size:11px; }
#view-quality .quality-priority-head small { color:#71857f; font-size:8px; }
#view-quality .quality-priority-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#view-quality .quality-priority-card { position:relative; text-align:left; min-height:78px; padding:10px 11px; border:1px solid #eadfbe; border-radius:9px; background:#fffdf8; color:#244a43; cursor:pointer; transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease; }
#view-quality .quality-priority-card:hover { transform:translateY(-1px); border-color:#d7c06e; box-shadow:0 7px 18px rgba(70,58,22,.06); }
#view-quality .quality-priority-card>span { display:block; padding-right:36px; font-size:8px; font-weight:850; }
#view-quality .quality-priority-card>strong { position:absolute; top:10px; right:11px; color:#a36f12; font-size:19px; line-height:1; }
#view-quality .quality-priority-card>small { display:block; margin-top:7px; color:#788b86; font-size:7.5px; line-height:1.3; }
#view-quality .quality-priority-card>em { display:inline-block; margin-top:5px; color:#92721f; font-size:6.8px; font-style:normal; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
#view-quality .quality-all-clear { grid-column:1/-1; padding:12px; border:1px solid #d7ebe5; border-radius:9px; background:#f6fcfa; }
#view-quality .quality-all-clear strong,#view-quality .quality-all-clear span { display:block; }
#view-quality .quality-all-clear strong { color:#0e7e6f; font-size:10px; }
#view-quality .quality-all-clear span { margin-top:3px; color:#71857f; font-size:8px; }
#view-quality .quality-passed-checks { margin-top:9px; border:1px solid #e3ece9; border-radius:9px; background:#fafcfb; }
#view-quality .quality-passed-checks>summary { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:7px; cursor:pointer; padding:8px 10px; list-style:none; }
#view-quality .quality-passed-checks>summary::-webkit-details-marker { display:none; }
#view-quality .quality-passed-checks>summary>span { color:#456b64; font-size:8px; font-weight:850; }
#view-quality .quality-passed-checks>summary>strong { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:#e3f4ee; color:#0a7d6a; font-size:8px; }
#view-quality .quality-passed-checks>summary>small { overflow:hidden; color:#83948f; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
#view-quality .quality-passed-checks>div { display:flex; flex-wrap:wrap; gap:6px; padding:0 10px 9px; }
#view-quality .quality-passed-checks>div>span { display:inline-flex; align-items:center; gap:4px; padding:4px 7px; border-radius:999px; background:#eef7f4; color:#4a7069; font-size:7.5px; }
#view-quality .quality-passed-checks>div b { color:#0b8a75; }

#view-quality .quality-action-queue.compact { margin:0; padding:13px 16px 15px; border-top:1px solid #e5eeeb; }
#view-quality .quality-action-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#view-quality .quality-action-group { overflow:hidden; border:1px solid #e2ebe8; border-radius:9px; background:#fff; }
#view-quality .quality-action-group header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 9px; background:#f7faf9; border-bottom:1px solid #e9efed; }
#view-quality .quality-action-group header>div { display:flex; align-items:center; gap:6px; min-width:0; }
#view-quality .quality-action-group header strong { overflow:hidden; color:#355f58; font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
#view-quality .quality-action-group header span { flex:0 0 auto; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:#fff0c9; color:#8d6519; font-size:7px; font-weight:900; }
#view-quality .quality-action-group header .table-btn { min-height:24px!important; padding:0 7px!important; font-size:7px!important; }
#view-quality .quality-action-link { display:block; width:100%; padding:7px 9px; border:0; border-top:1px solid #f0f4f2; background:#fff; text-align:left; cursor:pointer; }
#view-quality .quality-action-link:first-of-type { border-top:0; }
#view-quality .quality-action-link:hover { background:#f7fbfa; }
#view-quality .quality-action-link b,#view-quality .quality-action-link span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#view-quality .quality-action-link b { color:#234c45; font-size:8px; }
#view-quality .quality-action-link span { margin-top:2px; color:#81928e; font-size:7px; }
#view-quality .quality-action-more { display:block; padding:6px 9px; color:#849590; font-size:7px; }

#view-quality .quality-quick-filters { margin:10px 0 12px; }
#view-quality .quality-section-label { display:flex; align-items:baseline; gap:8px; margin:0 2px 6px; }
#view-quality .quality-section-label>strong { color:#244d46; font-size:10px; }
#view-quality .quality-section-label>small { color:#849590; font-size:7.5px; }
#view-quality .quality-grid { display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:0!important; overflow:hidden; border:1px solid #dce7e4; border-radius:10px; background:#fff; }
#view-quality .quality-summary-card { min-height:70px!important; margin:0!important; padding:9px 10px!important; border:0!important; border-right:1px solid #e5ecea!important; border-radius:0!important; box-shadow:none!important; }
#view-quality .quality-summary-card:last-child { border-right:0!important; }
#view-quality .quality-summary-card>span { font-size:7.5px!important; }
#view-quality .quality-summary-card>strong { font-size:18px!important; }
#view-quality .quality-summary-card>p { margin-top:3px!important; font-size:7px!important; line-height:1.25!important; }
#view-quality .quality-summary-card.informational { background:#f8fbfa!important; }
#view-quality .quality-summary-card.informational>strong { color:#506e68!important; }

#view-quality .quality-table-card { margin-top:0; }
#view-quality .quality-table-head { padding-bottom:10px; }
#view-quality .quality-toolbar { padding-top:8px; padding-bottom:8px; }
#view-quality .quality-record-table.refined th:nth-child(1) { width:14%; }
#view-quality .quality-record-table.refined th:nth-child(2) { width:17%; }
#view-quality .quality-record-table.refined th:nth-child(3) { width:14%; }
#view-quality .quality-record-table.refined th:nth-child(4) { width:20%; }
#view-quality .quality-record-table.refined th:nth-child(5) { width:11%; }
#view-quality .quality-record-table.refined th:nth-child(6) { width:24%; }
#view-quality .quality-record-table.refined td>strong,#view-quality .quality-record-table.refined td>small { display:block; }
#view-quality .quality-record-table.refined td>strong { color:#254c45; font-size:8.5px; }
#view-quality .quality-record-table.refined td>small { margin-top:2px; color:#81928e; font-size:7px; }
#view-quality .quality-code-link { padding:0; border:0; background:none; color:#0a6d60; font:inherit; font-weight:850; cursor:pointer; text-align:left; }
#view-quality .quality-code-link:hover { text-decoration:underline; }
#view-quality .quality-status { display:inline-flex; align-items:center; min-height:20px; padding:0 7px; border-radius:999px; font-size:7px; font-weight:850; white-space:nowrap; }
#view-quality .quality-status.approved { background:#dff5e9; color:#08705d; }
#view-quality .quality-status.needs-review { background:#fff0c9; color:#8d6519; }
#view-quality .quality-status.neutral { background:#eef3f1; color:#627b75; }
#view-quality .quality-row-actions { justify-content:flex-start; }

#view-quality .farmer-identity-review-card { margin-top:12px; }
#view-quality .identity-group.refined .identity-group-head small { display:block; margin-top:4px; color:#879792; font-size:7.5px; font-weight:600; }
#view-quality .identity-candidate em { min-width:82px; text-align:right; }
#view-quality .identity-candidate:has(input:checked) { border-color:#8acfc1; background:#f4fbf9; }
#view-quality .identity-candidate:has(input:checked) em { color:#087a68; }
#view-quality .identity-merge-actions button:disabled { opacity:.48; }
#view-quality .identity-merge-history.refined { margin-top:10px; border-top:1px solid #e8efed; }
#view-quality .identity-merge-history.refined>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0 2px; cursor:pointer; list-style:none; }
#view-quality .identity-merge-history.refined>summary::-webkit-details-marker { display:none; }
#view-quality .identity-merge-history.refined>summary span,#view-quality .identity-merge-history.refined>summary strong { display:block; }
#view-quality .identity-merge-history.refined>summary span { color:#7c8f89; font-size:7px; text-transform:uppercase; }
#view-quality .identity-merge-history.refined>summary strong { margin-top:2px; color:#315b54; font-size:9px; }
#view-quality .identity-merge-history.refined>summary small { color:#82928e; font-size:7.5px; }
#view-quality .identity-history-body { padding-top:5px; }
#view-quality .identity-history-empty.refined { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; padding:8px 10px; }
#view-quality .identity-history-empty.refined strong { color:#657d77; font-size:8px; }
#view-quality .identity-history-empty.refined span { color:#8a9995; font-size:8px; }

@media (max-width:1200px) {
  #view-quality .quality-priority-grid,#view-quality .quality-action-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #view-quality .quality-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #view-quality .quality-summary-card:nth-child(3n) { border-right:0!important; }
  #view-quality .quality-summary-card:nth-child(n+4) { border-top:1px solid #e5ecea!important; }
}
@media (max-width:900px) {
  #view-quality .quality-health-primary { grid-template-columns:1fr; }
  #view-quality .quality-health-score { border-right:0; border-bottom:1px solid #e5eeeb; min-height:auto; }
  #view-quality .quality-health-metrics article { min-height:100px; }
  #view-quality .quality-refresh-cluster { align-items:flex-end; flex-direction:column-reverse; }
  #view-quality .quality-record-table.refined { min-width:900px; }
}
@media (max-width:680px) {
  #view-quality .quality-overview-head { align-items:flex-start; }
  #view-quality .quality-refresh-cluster { width:100%; align-items:stretch; }
  #view-quality .quality-last-updated { white-space:normal; }
  #view-quality .quality-health-metrics { grid-template-columns:1fr; }
  #view-quality .quality-health-metrics article { min-height:auto; border-right:0; border-bottom:1px solid #e5eeeb; }
  #view-quality .quality-health-metrics article:last-child { border-bottom:0; }
  #view-quality .quality-priority-grid,#view-quality .quality-action-groups { grid-template-columns:1fr; }
  #view-quality .quality-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #view-quality .quality-summary-card:nth-child(3n) { border-right:1px solid #e5ecea!important; }
  #view-quality .quality-summary-card:nth-child(2n) { border-right:0!important; }
  #view-quality .quality-summary-card:nth-child(n+3) { border-top:1px solid #e5ecea!important; }
  #view-quality .quality-section-label { align-items:flex-start; flex-direction:column; gap:2px; }
}


/* 2026-09-11 — Municipal Reports defense refinement patch */
#view-reports .report-builder-card { overflow: visible; }
#view-reports .report-scope-grid { align-items: end; }
#view-reports .report-field[hidden],#view-reports .report-field-hidden { display:none!important; }
#view-reports .report-validation { margin-top:10px;padding:9px 11px;border:1px solid #efd9a8;border-radius:9px;background:#fff8e7;color:#805d12;font-size:10px;font-weight:700; }
#view-reports .report-validation[hidden] { display:none!important; }
#view-reports .report-preview-button:disabled { opacity:.5;cursor:not-allowed;box-shadow:none; }
#view-reports .report-selection-summary { display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center!important;gap:12px!important; }
#view-reports .report-selection-count { display:grid!important;gap:2px!important;min-width:150px; }
#view-reports .report-scope-chips { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px!important; }
#view-reports .report-scope-chips>span { display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid #d8e7e3;border-radius:999px;background:#fff;color:#476760;font-size:8.5px!important;line-height:1.15;text-transform:none!important;letter-spacing:0!important; }
#view-reports .report-scope-chips .report-excluded-chip { border-color:#edd8aa;background:#fff7e5;color:#87600b;cursor:help; }
#view-reports .report-coverage-card { position:sticky;top:16px; }
#view-reports .readiness-list>div { display:grid;align-content:start;gap:1px; }
#view-reports .readiness-list>div small { margin-top:3px;color:#79908a;font-size:8px;line-height:1.3; }
#view-reports .report-scope-preview { margin-top:13px;padding-top:12px;border-top:1px solid #e1ece9; }
#view-reports .report-scope-preview-head { display:grid;gap:2px;margin-bottom:9px; }
#view-reports .report-scope-preview-head span { color:#718781;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.07em; }
#view-reports .report-scope-preview-head strong { color:#173f39;font-size:12px; }
#view-reports .report-scope-preview dl { margin:0;border:1px solid #dfebe8;border-radius:10px;overflow:hidden;background:#f9fcfb; }
#view-reports .report-scope-preview dl>div { display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:8px 9px;border-bottom:1px solid #e5eeec; }
#view-reports .report-scope-preview dl>div:last-child { border-bottom:0; }
#view-reports .report-scope-preview dt { color:#718781;font-size:8.5px;font-weight:800; }
#view-reports .report-scope-preview dd { margin:0;color:#244b44;font-size:9px;font-weight:800;text-align:right;overflow-wrap:anywhere; }
#view-reports .report-scope-preview>small { display:block;margin-top:7px;color:#7a8e89;font-size:8px;line-height:1.4; }
#view-reports .report-action-note { max-width:520px; }
@media (min-width:1101px) {
  #view-reports .report-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #view-reports .report-type-field { grid-column:1 / -1; }
}
@media (max-width:1100px) { #view-reports .report-coverage-card { position:static; } }
@media (max-width:700px) {
  #view-reports .report-selection-summary { grid-template-columns:1fr!important; }
  #view-reports .report-scope-chips { justify-content:flex-start; }
  #view-reports .report-scope-grid { grid-template-columns:1fr!important; }
  #view-reports .report-type-field { grid-column:auto; }
}


/* =========================================================
   2026-09-11 IoT Monitoring — defense workflow refinement
   ========================================================= */
.iot-admin-view .iot-metric-grid article small{line-height:1.35}.iot-card-meta{gap:8px}.iot-card-meta>a{margin-left:auto;color:#0b7d70;font-size:10px;font-weight:850;text-decoration:none}.iot-card-meta.warning>a{color:#805d09}.iot-device-table-wrap,.iot-reading-table-wrap{max-height:none!important;overflow-y:visible!important;overflow-x:auto}.iot-device-table th,.iot-reading-table th{position:sticky;top:0;z-index:2;background:#f6faf8}.iot-device-table td{vertical-align:middle}.iot-age-warning{color:#a46516!important}.iot-unit{display:inline!important;margin-left:2px!important;font-size:8px!important;white-space:nowrap;color:#728782!important}.iot-unlinked{font-size:10px;color:#788c87;font-weight:750}.iot-assessment-link{padding:0;border:0;background:transparent;color:#08796d;font:inherit;font-weight:850;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.iot-reading-toolbar{display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(4,minmax(150px,.8fr)) auto;gap:8px;padding:14px 16px;border-top:1px solid #e1ebe8;border-bottom:1px solid #e1ebe8;background:#fbfdfc}.iot-reading-toolbar input,.iot-reading-toolbar select{width:100%;height:38px;border:1px solid #cedfda;border-radius:9px;background:#fff;padding:0 11px;color:#143f38;font:inherit;font-size:11px}.iot-reading-toolbar input:focus,.iot-reading-toolbar select:focus{outline:2px solid rgba(13,145,130,.15);border-color:#0d9182}.iot-filter-reset{height:38px;padding:0 13px!important}.iot-reading-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;font-size:10px;color:#71857f;border-bottom:1px solid #e5eeeb}.iot-reading-summary strong{font-size:11px;color:#194a42}.iot-legacy-details{margin:10px 16px 0;border:1px dashed #d6e4e0;border-radius:9px;background:#f8fbfa;color:#617b74;font-size:10px}.iot-legacy-details summary{cursor:pointer;padding:9px 12px;font-weight:800}.iot-legacy-details summary b{display:inline-grid;place-items:center;min-width:22px;height:18px;margin-left:6px;border-radius:999px;background:#e7f2ef;color:#22675e}.iot-legacy-details p{margin:0;padding:0 12px 10px;line-height:1.5}.iot-reading-status.attention{background:#fff0dc!important;color:#a45f0b!important}.iot-reading-status.used{background:#e2f5ee!important;color:#08715f!important}.iot-reading-status.rejected{background:#f6ecea!important;color:#9a5149!important}.iot-quality-warning{color:#a76a14!important;line-height:1.25!important}.iot-row-attention td:first-child{box-shadow:inset 3px 0 #e6a332}.iot-control-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid #bfd8d2;border-radius:8px;background:#fff;color:#125d53;font-size:9px;font-weight:850;text-decoration:none;cursor:pointer}.iot-control-btn:hover{background:#f0f8f6}.iot-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-top:1px solid #e4ece9;color:#72847f;font-size:10px}.iot-pagination>div{display:flex;align-items:center;gap:8px}.iot-pagination button{height:30px;padding:0 10px;border:1px solid #cedfda;border-radius:8px;background:#fff;color:#174f47;font-size:9px;font-weight:800;cursor:pointer}.iot-pagination button:disabled{opacity:.45;cursor:default}.iot-reading-head-actions{align-items:center;flex-wrap:wrap}.iot-last-updated{width:100%;text-align:right;color:#83948f;font-size:9px}.iot-review-modal[hidden]{display:none!important}.iot-review-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}.iot-review-backdrop{position:absolute;inset:0;background:rgba(7,34,30,.45);backdrop-filter:blur(2px)}.iot-review-dialog{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid #d4e4df;border-radius:18px;background:#fff;padding:24px;box-shadow:0 30px 80px rgba(7,45,39,.22)}.iot-review-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid #d4e2de;border-radius:9px;background:#fff;color:#315e57;font-size:20px;cursor:pointer}.iot-review-dialog h2{margin:6px 42px 4px 0;font-size:22px;letter-spacing:-.025em}.iot-review-lead{margin:0 0 16px;color:#72857f;font-size:11px}.iot-review-state{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #cde7df;border-radius:12px;background:#f3fbf8}.iot-review-state.attention{border-color:#eed39c;background:#fff9ec}.iot-review-state strong{font-size:11px}.iot-review-state span{font-size:10px;line-height:1.45;color:#677f78}.iot-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.iot-review-grid>span,.iot-review-measures>span{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:10px;background:#f5f9f8;color:#70847e;font-size:9px}.iot-review-grid b,.iot-review-measures b{color:#123f38;font-size:11px}.iot-review-measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.iot-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #e4ece9}.iot-review-open{overflow:hidden}.iot-presence-note{}.iot-device-table .iot-connection{white-space:nowrap}
@media(max-width:1180px){.iot-reading-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.iot-filter-search{grid-column:span 2}}
@media(max-width:760px){.iot-reading-toolbar{grid-template-columns:1fr 1fr}.iot-filter-search{grid-column:1/-1}.iot-reading-summary,.iot-pagination{align-items:flex-start;flex-direction:column}.iot-review-grid,.iot-review-measures{grid-template-columns:1fr 1fr}.iot-last-updated{text-align:left}.iot-review-dialog{padding:20px 16px}}
@media(max-width:480px){.iot-reading-toolbar{grid-template-columns:1fr}.iot-review-measures{grid-template-columns:1fr 1fr}}

/* Account & Security refinement — identity, credential feedback, and session clarity */
#view-settings.account-security-view {
  max-width: 980px;
}
.account-security-shell {
  gap: 16px;
}
.account-security-shell .data-card {
  border-color: #dbe8e5;
  box-shadow: 0 10px 30px rgba(20,72,63,.055);
}
.account-eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #0d8a77;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.account-status-badge.is-inactive {
  background: #fde8e8;
  color: #ad2424;
}
.account-info-grid--extended {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.account-info-grid--extended>div:nth-child(3n) {
  border-right: 0;
}
.account-info-grid--extended>div:nth-child(n+4) {
  border-top: 1px solid #e2ece9;
}
.account-password-head {
  margin-bottom: 18px;
}
.account-security-mark {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: #e7f7f2;
  color: #0b816d;
  font-size: 14px;
  font-weight: 900;
}
.account-field-label {
  display: block;
  margin: 0 0 6px!important;
  color: #173f39;
  font-size: 11px;
  font-weight: 850;
}
.account-password-control {
  min-width: 0;
}
.account-password-field input {
  min-height: 43px;
  padding-right: 46px!important;
  border-color: #cfe0dc!important;
}
.account-password-field input:focus {
  border-color: #1d9b86!important;
  box-shadow: 0 0 0 3px rgba(29,155,134,.10)!important;
}
.account-password-field input[aria-invalid="true"] {
  border-color: #d86b6b!important;
  box-shadow: 0 0 0 3px rgba(216,107,107,.08)!important;
}
.account-password-toggle {
  width: 32px;
  height: 30px;
  padding: 0;
  display: grid;
  place-items: center;
  background: transparent;
  border: 1px solid transparent;
  color: #55746e;
  cursor: pointer;
}
.account-password-toggle:hover,
.account-password-toggle:focus-visible {
  background: #edf7f4;
  border-color: #d5e9e4;
  color: #0f7566;
  outline: none;
}
.account-eye-icon {
  position: relative;
  display: block;
  width: 15px;
  height: 10px;
  border: 1.5px solid currentColor;
  border-radius: 50% / 60%;
}
.account-eye-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: currentColor;
}
.account-password-toggle[aria-pressed="true"] .account-eye-icon::before {
  content: "";
  position: absolute;
  left: -2px;
  top: 4px;
  width: 19px;
  height: 1.5px;
  transform: rotate(-38deg);
  transform-origin: center;
  border-radius: 2px;
  background: currentColor;
  box-shadow: 0 0 0 2px #fff;
  z-index: 2;
}
.account-field-error {
  display: block;
  margin-top: 5px;
  color: #b42323;
  font-size: 10px;
  font-weight: 700;
}
.account-field-error[hidden] {
  display: none!important;
}
.account-password-feedback {
  display: grid;
  grid-template-columns: minmax(220px,.8fr) minmax(300px,1.2fr);
  gap: 20px;
  align-items: start;
  margin-top: 15px;
  padding: 13px 14px;
  border: 1px solid #e0ebe8;
  border-radius: 11px;
  background: #f8fbfa;
}
.account-strength-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #6f8580;
  font-size: 10px;
  font-weight: 700;
}
.account-strength-copy strong {
  color: #315f58;
  font-size: 10px;
}
.account-strength-track {
  height: 5px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2ebe8;
}
.account-strength-track>span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #c6d3d0;
  transition: width .18s ease,background .18s ease;
}
.account-strength-track>span[data-level="1"] { background: #d38a32; }
.account-strength-track>span[data-level="2"] { background: #b49a31; }
.account-strength-track>span[data-level="3"] { background: #15937d; }
.account-requirements {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.account-requirements li {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: #7a8e89;
  font-size: 10px;
  font-weight: 700;
}
.account-requirements li>span {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 50%;
  background: #e8efed;
  color: transparent;
  font-size: 9px;
}
.account-requirements li.is-valid { color: #176d5f; }
.account-requirements li.is-valid>span { background: #dff4ec; color: #08785f; }
.account-requirements li.is-invalid { color: #a74c33; }
.account-requirements li.is-invalid>span { background: #fae8df; color: #b85636; }
.account-caps-warning {
  margin-top: 10px;
  padding: 8px 10px;
  width: fit-content;
  border-radius: 8px;
  background: #fff5d9;
  color: #8a6200;
  font-size: 10px;
  font-weight: 800;
}
.account-caps-warning[hidden] { display: none!important; }
.account-form-footer {
  min-height: 38px;
}
.account-form-footer .primary:disabled {
  cursor: not-allowed;
  opacity: .55;
  filter: saturate(.7);
}
.account-inline-message {
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
}
.account-inline-message.success { background: #e7f7f2; color: #0b725f; }
.account-inline-message.error { background: #fff0f0; color: #a92b2b; }
.account-session-card--detailed {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  padding-top: 18px!important;
  padding-bottom: 18px!important;
}
.account-session-main { min-width: 0; }
.account-session-head {
  align-items: center;
  margin-bottom: 12px;
}
.account-current-device {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  color: #177461;
  font-size: 10px;
  font-weight: 850;
}
.account-current-device>span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2ebc90;
  box-shadow: 0 0 0 4px #e6f7f1;
}
.account-session-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin: 0;
  border: 1px solid #e1ebe8;
  border-radius: 10px;
  overflow: hidden;
  background: #fbfdfc;
}
.account-session-grid>div {
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid #e5eeeb;
}
.account-session-grid>div:last-child { border-right: 0; }
.account-session-grid dt {
  color: #7a8d88;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.account-session-grid dd {
  margin: 4px 0 0;
  color: #254e47;
  font-size: 10px;
  font-weight: 800;
}
.account-session-note {
  margin: 9px 0 0!important;
  color: #718681!important;
  font-size: 10px!important;
  font-weight: 500!important;
}
.account-session-card--detailed .account-logout-button {
  margin-left: 20px;
}
.account-activity-card {
  padding: 0!important;
  overflow: hidden;
}
.account-activity-card>summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 17px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.account-activity-card>summary::-webkit-details-marker { display: none; }
.account-activity-card>summary>span:first-child {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  column-gap: 9px;
  row-gap: 2px;
}
.account-activity-card>summary .account-eyebrow { grid-column: 1/-1; margin: 0; }
.account-activity-card>summary strong { color: #173f39; font-size: 14px; }
.account-activity-card>summary small { color: #7b8e89; font-size: 9px; font-weight: 700; }
.account-details-chevron {
  color: #64807a;
  font-size: 16px;
  transition: transform .18s ease;
}
.account-activity-card[open] .account-details-chevron { transform: rotate(180deg); }
.account-activity-list {
  border-top: 1px solid #e4ecea;
}
.account-activity-item {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 11px 17px;
  border-bottom: 1px solid #edf2f0;
}
.account-activity-item:last-child { border-bottom: 0; }
.account-activity-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  background: #eef5f3;
}
.account-activity-icon::after { content: "•"; color: #607e77; font-size: 18px; line-height: 1; }
.account-activity-icon.is-login::after { content: "↪"; font-size: 13px; }
.account-activity-icon.is-logout::after { content: "↩"; font-size: 13px; }
.account-activity-icon.is-password::after { content: "✓"; color: #08785f; font-size: 12px; font-weight: 900; }
.account-activity-icon.is-verified::after { content: "✓"; color: #356a9b; font-size: 12px; font-weight: 900; }
.account-activity-item strong { display: block; color: #254e47; font-size: 10px; }
.account-activity-item p { margin: 2px 0 0; color: #78908a; font-size: 9px; }
.account-activity-item time { color: #78908a; white-space: nowrap; font-size: 9px; font-weight: 700; }
.account-activity-empty { padding: 15px 17px; color: #78908a; font-size: 10px; }
@media (max-width:800px) {
  .account-info-grid--extended { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-info-grid--extended>div { border-right: 1px solid #e2ece9!important; border-top: 1px solid #e2ece9; border-bottom: 0!important; }
  .account-info-grid--extended>div:nth-child(-n+2) { border-top: 0; }
  .account-info-grid--extended>div:nth-child(2n) { border-right: 0!important; }
  .account-password-feedback { grid-template-columns: 1fr; gap: 12px; }
  .account-requirements { grid-template-columns: 1fr; }
  .account-session-grid { grid-template-columns: 1fr; }
  .account-session-grid>div { border-right: 0; border-bottom: 1px solid #e5eeeb; }
  .account-session-grid>div:last-child { border-bottom: 0; }
}
@media (max-width:620px) {
  .account-info-grid--extended { grid-template-columns: 1fr; }
  .account-info-grid--extended>div { border-right: 0!important; border-top: 1px solid #e2ece9!important; }
  .account-info-grid--extended>div:first-child { border-top: 0!important; }
  .account-session-card--detailed { grid-template-columns: 1fr; align-items: stretch; }
  .account-session-card--detailed .account-logout-button { margin: 14px 0 0; width: 100%; }
  .account-session-head { align-items: flex-start; }
  .account-activity-item { grid-template-columns: 28px minmax(0,1fr); }
  .account-activity-item time { grid-column: 2; }
}


/* 2026-09-12 — Assessment Records: assessment code is the primary drill-down action. */
#view-records .assessment-record-table {
  width: 100%!important;
  min-width: 1080px!important;
  table-layout: auto!important;
}
#view-records .assessment-record-table th,
#view-records .assessment-record-table td {
  padding-left: 12px!important;
  padding-right: 12px!important;
}
#view-records .assessment-record-table th:nth-child(1),
#view-records .assessment-record-table td:nth-child(1) { min-width: 148px!important; width: 14%; }
#view-records .assessment-record-table th:nth-child(2),
#view-records .assessment-record-table td:nth-child(2) { min-width: 132px!important; width: 12%; }
#view-records .assessment-record-table th:nth-child(3),
#view-records .assessment-record-table td:nth-child(3) { min-width: 145px!important; width: 14%; }
#view-records .assessment-record-table th:nth-child(4),
#view-records .assessment-record-table td:nth-child(4) { min-width: 140px!important; width: 13%; }
#view-records .assessment-record-table th:nth-child(5),
#view-records .assessment-record-table td:nth-child(5) { min-width: 100px!important; width: 10%; }
#view-records .assessment-record-table th:nth-child(6),
#view-records .assessment-record-table td:nth-child(6) { min-width: 92px!important; width: 9%; text-align: center!important; }
#view-records .assessment-record-table th:nth-child(7),
#view-records .assessment-record-table td:nth-child(7) { min-width: 104px!important; width: 10%; }
#view-records .assessment-record-table th:nth-child(8),
#view-records .assessment-record-table td:nth-child(8) { min-width: 96px!important; width: 8%; }
#view-records .assessment-record-table th:nth-child(9),
#view-records .assessment-record-table td:nth-child(9) { min-width: 112px!important; width: 10%; text-align: left!important; }
#view-records .record-code-link {
  display: inline-block;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0d5f54;
  font: inherit;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 900;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  text-underline-offset: 2px;
}
#view-records .record-code-link:hover { color: #078d7a; text-decoration: underline; }
#view-records .record-code-link:focus-visible {
  outline: 2px solid rgba(19,151,133,.34);
  outline-offset: 3px;
  border-radius: 3px;
}
#view-records .record-code-cell small { margin-top: 3px; }
#view-records .record-reading-link { white-space: nowrap; }
#view-records .assessment-record-table tbody tr:hover .record-code-link { color: #078d7a; }
@media (max-width: 1250px) {
  #view-records .assessment-record-table { min-width: 1000px!important; }
  #view-records .assessment-record-table th,
  #view-records .assessment-record-table td { padding-left: 9px!important; padding-right: 9px!important; }
  #view-records .assessment-record-table th:nth-child(3),
  #view-records .assessment-record-table td:nth-child(3),
  #view-records .assessment-record-table th:nth-child(4),
  #view-records .assessment-record-table td:nth-child(4) { min-width: 125px!important; }
}
@media (max-width: 900px) {
  #view-records .assessment-record-table { min-width: 980px!important; }
}


/* Assessment Records interaction + filter restoration polish */
#view-records .records-primary-filters {
  grid-template-columns: minmax(300px,2.35fr) repeat(3,minmax(145px,.9fr)) auto auto!important;
}
#view-records .records-more-filters {
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  min-width: 104px!important;
}
#view-records .assessment-record-table th:last-child,
#view-records .assessment-record-table td:last-child {
  min-width: 126px!important;
  width: 11%!important;
  padding-left: 14px!important;
  padding-right: 18px!important;
  text-align: center!important;
}
#view-records .record-row-clickable {
  cursor: pointer;
  transition: background-color .14s ease, box-shadow .14s ease;
  outline: none;
}
#view-records .record-row-clickable:hover {
  background: #f6fbf9!important;
}
#view-records .record-row-clickable.record-needs-action:hover {
  background: #fffaf0!important;
}
#view-records .record-row-clickable:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(15,151,136,.30);
  background: #f3faf7!important;
}
#view-records .record-row-clickable .record-code-link {
  pointer-events: none;
}
#view-records .record-row-clickable:hover .record-code-link,
#view-records .record-row-clickable:focus-visible .record-code-link {
  color: #078d7a;
  text-decoration: underline;
}
@media (max-width: 1320px) {
  #view-records .records-primary-filters {
    grid-template-columns: minmax(240px,2fr) repeat(2,minmax(135px,1fr)) auto auto!important;
  }
  #view-records #record-type { grid-column: 2 / 3; }
}
@media (max-width: 760px) {
  #view-records .records-primary-filters { grid-template-columns: 1fr 1fr!important; }
  #view-records #record-type { grid-column: auto; }
  #view-records .records-more-filters { min-width: 0!important; }
}


/* 2026-09-12 — Assessment Records status filter + last-column safe gutter. */
#view-records .assessment-record-table th:last-child,
#view-records .assessment-record-table td:last-child {
  min-width: 150px!important;
  width: 12%!important;
  padding-left: 16px!important;
  padding-right: 26px!important;
  box-sizing: border-box;
  text-align: center!important;
}
#view-records .assessment-record-table th:last-child {
  white-space: nowrap;
}
#view-records .assessment-record-table td:last-child .pill {
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  min-width: 94px;
  max-width: 118px;
  white-space: nowrap;
  box-sizing: border-box;
}
#view-records #record-status {
  min-width: 0;
}
@media (max-width: 1250px) {
  #view-records .assessment-record-table th:last-child,
  #view-records .assessment-record-table td:last-child {
    min-width: 142px!important;
    padding-right: 20px!important;
  }
}


/* 2026-09-12 — Assessment Records STATUS column final alignment override. */
/*
   An older rule targets the last column inside .table-wrap and right-aligns it.
   After the View column was removed, STATUS became column 9 / the last column.
   This selector is intentionally more specific so STATUS stays centered.
*/
#view-records .table-wrap .assessment-record-table thead th:nth-child(9),
#view-records .table-wrap .assessment-record-table tbody td:nth-child(9) {
  width: 148px!important;
  min-width: 148px!important;
  max-width: 148px!important;
  padding-left: 18px!important;
  padding-right: 18px!important;
  text-align: center!important;
  vertical-align: middle!important;
  box-sizing: border-box!important;
}
#view-records .table-wrap .assessment-record-table thead th:nth-child(9) {
  white-space: nowrap!important;
}
#view-records .table-wrap .assessment-record-table tbody td:nth-child(9) > .pill {
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  min-width: 94px!important;
  max-width: 112px!important;
  margin-inline: auto!important;
  white-space: nowrap!important;
}
@media (max-width: 1250px) {
  #view-records .table-wrap .assessment-record-table thead th:nth-child(9),
  #view-records .table-wrap .assessment-record-table tbody td:nth-child(9) {
    width: 140px!important;
    min-width: 140px!important;
    max-width: 140px!important;
    padding-left: 14px!important;
    padding-right: 14px!important;
  }
}


/* 2026-09-12 — Unified assessment checks inside All Assessments */
#view-records .records-quality-quick {
  padding: 12px 16px 13px;
  border-bottom: 1px solid #e4ece9;
  background: #fbfdfc;
}
#view-records .records-quality-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
}
#view-records .records-quality-label>div {
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
#view-records .records-quality-label .section-kicker { margin:0; }
#view-records .records-quality-label strong { color:#244d46; font-size:10px; }
#view-records .records-quality-label small { color:#849590; font-size:8px; }
#view-records .records-quality-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  overflow:hidden;
  border:1px solid #dce7e4;
  border-radius:10px;
  background:#fff;
}
#view-records .records-quality-card {
  min-height:68px;
  padding:9px 10px;
  border:0;
  border-right:1px solid #e5ecea;
  border-radius:0;
  background:#fff;
  color:#315b54;
  text-align:left;
  cursor:pointer;
}
#view-records .records-quality-card:last-child { border-right:0; }
#view-records .records-quality-card:hover { background:#f5faf8; }
#view-records .records-quality-card.active {
  background:#eef9f6;
  box-shadow:inset 0 -3px #0b9887;
}
#view-records .records-quality-card>span { display:block; font-size:8px; font-weight:850; }
#view-records .records-quality-card>strong { display:block; margin-top:5px; color:#0b6d61; font-size:19px; line-height:1; }
#view-records .records-quality-card>small { display:block; margin-top:5px; color:#81928e; font-size:7.5px; line-height:1.3; }
#view-records .records-quality-card.issue>strong { color:#9a6812; }
#view-records .records-quality-card.informational>strong { color:#506e68; }
#view-records .records-quality-card.clear>strong { color:#0b836f; }
#view-records .records-quality-card:focus-visible { outline:2px solid rgba(13,145,130,.25); outline-offset:-2px; }
#view-records .records-filter-shell { border-top:0; }
#view-quality .quality-record-workspace-link { margin-top:12px; }
#view-quality .quality-record-workspace-note {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:0 16px 16px;
}
#view-quality .quality-record-workspace-note span {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#f0f6f4;
  color:#4f716a;
  font-size:8px;
  font-weight:800;
}
@media(max-width:1200px){
  #view-records .records-quality-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #view-records .records-quality-card:nth-child(3n) { border-right:0; }
  #view-records .records-quality-card:nth-child(n+4) { border-top:1px solid #e5ecea; }
}
@media(max-width:720px){
  #view-records .records-quality-label { align-items:flex-start; flex-direction:column; }
  #view-records .records-quality-label>div { align-items:flex-start; flex-direction:column; gap:3px; }
  #view-records .records-quality-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #view-records .records-quality-card:nth-child(3n) { border-right:1px solid #e5ecea; }
  #view-records .records-quality-card:nth-child(2n) { border-right:0; }
  #view-records .records-quality-card:nth-child(n+3) { border-top:1px solid #e5ecea; }
}

/* 2026-09-12 — Data Quality record workspace styled like All Assessments, kept inside Data Quality. */
#view-quality .quality-assessment-workspace {
  margin-top: 16px;
  overflow: hidden;
  padding: 0!important;
}
#view-quality .quality-assessment-workspace .quality-table-head {
  margin: 0!important;
  padding: 18px 18px 15px!important;
  border-bottom: 1px solid #e2ebe8;
  align-items: flex-start;
}
#view-quality .quality-assessment-workspace .quality-title-line {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 2px;
}
#view-quality .quality-assessment-workspace .quality-title-line h2 {
  margin: 0;
}
#view-quality .quality-assessment-workspace .quality-total-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid #d8e7e3;
  border-radius: 999px;
  background: #f2f8f6;
  color: #476b64;
  font-size: 8.5px;
  font-weight: 850;
  white-space: nowrap;
}
#view-quality .quality-assessment-workspace .quality-export-control select {
  min-width: 118px;
  height: 42px;
  border: 1px solid #cbded9;
  border-radius: 10px;
  background: #fff;
  padding: 0 34px 0 12px;
  color: #173f39;
  font-size: 10px;
  font-weight: 800;
}

/* Quick checks become the Data Quality equivalent of All Assessments' summary strip. */
#view-quality .quality-checks-strip {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e2ebe8;
  background: #fbfdfc;
}
#view-quality .quality-checks-strip .quality-section-label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0!important;
  padding: 10px 18px 8px;
}
#view-quality .quality-checks-strip .quality-section-label .section-kicker {
  margin: 0;
}
#view-quality .quality-checks-strip .quality-section-label>strong {
  color: #244d46;
  font-size: 10px;
}
#view-quality .quality-checks-strip .quality-section-label>small {
  color: #83948f;
  font-size: 8px;
}
#view-quality .quality-checks-strip .quality-grid {
  display: grid!important;
  grid-template-columns: repeat(6,minmax(0,1fr))!important;
  gap: 0!important;
  overflow: hidden;
  margin: 0!important;
  border: 0!important;
  border-top: 1px solid #e5ecea!important;
  border-radius: 0!important;
  background: #fff;
}
#view-quality .quality-checks-strip .quality-summary-card {
  position: relative;
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: auto auto;
  gap: 4px 8px;
  align-content: center;
  min-height: 78px!important;
  margin: 0!important;
  padding: 11px 12px 12px!important;
  border: 0!important;
  border-right: 1px solid #e5ecea!important;
  border-radius: 0!important;
  background: #fff!important;
  box-shadow: none!important;
  text-align: left;
}
#view-quality .quality-checks-strip .quality-summary-card:last-child {
  border-right: 0!important;
}
#view-quality .quality-checks-strip .quality-summary-card:hover {
  background: #f7fbfa!important;
}
#view-quality .quality-checks-strip .quality-summary-card.active {
  background: #eef8f5!important;
}
#view-quality .quality-checks-strip .quality-summary-card::before {
  content: ''!important;
  position: absolute!important;
  left: 14px!important;
  right: 14px!important;
  bottom: 0!important;
  width: auto!important;
  height: 2px!important;
  border-radius: 999px 999px 0 0!important;
  background: transparent!important;
}
#view-quality .quality-checks-strip .quality-summary-card.active::before {
  background: #0d9382!important;
}
#view-quality .quality-checks-strip .quality-summary-card>span {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  color: #355f58!important;
  font-size: 8.5px!important;
  font-weight: 850;
}
#view-quality .quality-checks-strip .quality-summary-card>strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  margin: 0!important;
  color: #0c7567!important;
  font-size: 20px!important;
  line-height: 1!important;
}
#view-quality .quality-checks-strip .quality-summary-card.issue>strong,
#view-quality .quality-checks-strip .quality-summary-card.attention>strong {
  color: #9a6812!important;
}
#view-quality .quality-checks-strip .quality-summary-card.informational>strong {
  color: #506e68!important;
}
#view-quality .quality-checks-strip .quality-summary-card>p {
  grid-column: 1;
  grid-row: 2;
  margin: 0!important;
  color: #81928e!important;
  font-size: 7.5px!important;
  line-height: 1.3!important;
}

/* Search/filter/results follow the same spacing rhythm as All Assessments. */
#view-quality .quality-toolbar-refined {
  display: grid!important;
  grid-template-columns: minmax(320px,1fr) minmax(190px,220px) auto!important;
  gap: 10px!important;
  align-items: center;
  margin: 0!important;
  padding: 12px 18px 10px!important;
  border: 0!important;
  background: #fff!important;
}
#view-quality .quality-toolbar-refined .quality-search-wrap,
#view-quality .quality-toolbar-refined .quality-filter-wrap {
  min-width: 0;
}
#view-quality .quality-toolbar-refined #quality-search,
#view-quality .quality-toolbar-refined #quality-filter {
  width: 100%;
  height: 42px!important;
  margin: 0!important;
  border: 1px solid #cbded9!important;
  border-radius: 10px!important;
  background: #fff!important;
  padding: 0 12px!important;
  color: #173f39;
  font-size: 10px!important;
}
#view-quality .quality-toolbar-refined .quality-reset {
  height: 42px;
  min-width: 72px;
  padding: 0 12px;
  border-radius: 10px;
}
#view-quality .quality-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 18px;
  padding: 8px 0 10px;
  border-top: 1px solid #edf2f0;
}
#view-quality .quality-results-bar strong {
  color: #0c665b;
  font-size: 9.5px;
}
#view-quality .quality-results-bar small {
  color: #83948f;
  font-size: 8px;
}

/* Table uses the same contained, rounded table treatment as All Assessments. */
#view-quality .quality-assessment-workspace #quality-records {
  padding: 0 18px 18px;
}
#view-quality .quality-assessment-workspace .quality-table-wrap {
  max-height: none!important;
  margin: 0!important;
  overflow-x: auto!important;
  overflow-y: visible!important;
  border: 1px solid #d8e6e2;
  border-radius: 11px;
  background: #fff;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined {
  width: 100%;
  min-width: 1080px;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined th {
  height: 42px;
  padding: 0 12px!important;
  border-bottom: 1px solid #d8e6e2;
  background: #f3f8f6!important;
  color: #617a74;
  font-size: 8px!important;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined td {
  min-height: 50px;
  padding: 11px 12px!important;
  border-bottom: 1px solid #e7efed;
  vertical-align: middle;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined tbody tr:last-child td {
  border-bottom: 0;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined tbody tr:hover {
  background: #f8fbfa;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(1) { width: 14%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(2) { width: 16%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(3) { width: 14%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(4) { width: 21%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(5) { width: 12%!important; text-align:center!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(6) { width: 23%!important; text-align:right!important; padding-right:18px!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined td:nth-child(5) {
  text-align: center!important;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined td:nth-child(6) {
  text-align: right!important;
  padding-right: 18px!important;
}
#view-quality .quality-assessment-workspace .quality-code-link {
  color: #0a6d61!important;
  font-size: 9.5px;
  font-weight: 900;
  text-decoration: none;
  text-underline-offset: 2px;
}
#view-quality .quality-assessment-workspace .quality-code-link:hover {
  color: #078d7a!important;
  text-decoration: underline;
}
#view-quality .quality-assessment-workspace .quality-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
#view-quality .quality-assessment-workspace .quality-action-cell .table-btn {
  min-height: 30px!important;
  padding: 0 10px!important;
  border-radius: 8px!important;
  font-size: 8px!important;
  white-space: nowrap;
}
#view-quality .quality-assessment-workspace .quality-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  #view-quality .quality-checks-strip .quality-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
  #view-quality .quality-checks-strip .quality-summary-card:nth-child(3n) { border-right: 0!important; }
  #view-quality .quality-checks-strip .quality-summary-card:nth-child(n+4) { border-top: 1px solid #e5ecea!important; }
}
@media (max-width: 820px) {
  #view-quality .quality-toolbar-refined {
    grid-template-columns: 1fr 1fr!important;
  }
  #view-quality .quality-toolbar-refined .quality-search-wrap { grid-column: 1 / -1; }
  #view-quality .quality-toolbar-refined .quality-reset { width: 100%; }
  #view-quality .quality-results-bar { align-items: flex-start; flex-direction: column; gap: 3px; }
}
@media (max-width: 640px) {
  #view-quality .quality-checks-strip .quality-section-label {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
    padding-left: 14px;
    padding-right: 14px;
  }
  #view-quality .quality-checks-strip .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-quality .quality-checks-strip .quality-summary-card:nth-child(3n) { border-right: 1px solid #e5ecea!important; }
  #view-quality .quality-checks-strip .quality-summary-card:nth-child(2n) { border-right: 0!important; }
  #view-quality .quality-checks-strip .quality-summary-card:nth-child(n+3) { border-top: 1px solid #e5ecea!important; }
  #view-quality .quality-toolbar-refined { grid-template-columns: 1fr!important; padding-left:14px!important; padding-right:14px!important; }
  #view-quality .quality-toolbar-refined .quality-search-wrap { grid-column:auto; }
  #view-quality .quality-results-bar { margin-left:14px; margin-right:14px; }
  #view-quality .quality-assessment-workspace #quality-records { padding-left:14px; padding-right:14px; }
}


/* 2026-09-12 — Data Quality clarity redesign: Health → Issues → Review → Identity */
#view-quality {
  --quality-section-gap: 16px;
}
#view-quality .data-health-card,
#view-quality .quality-assessment-workspace,
#view-quality .farmer-identity-review-card {
  margin-bottom: var(--quality-section-gap);
}
#view-quality .quality-overview-head p,
#view-quality .quality-table-head p,
#view-quality .farmer-identity-review-card .card-head p {
  max-width: 820px;
  line-height: 1.45;
}

/* Keep the top summary calm and readable. */
#view-quality .quality-health-score,
#view-quality .quality-health-metrics article {
  min-height: 150px!important;
  padding: 17px 18px!important;
}
#view-quality .quality-health-metrics strong {
  font-size: 23px!important;
}
#view-quality .quality-priority-section {
  padding: 16px 18px 17px!important;
}
#view-quality .quality-priority-head {
  align-items: center!important;
  margin-bottom: 11px!important;
}
#view-quality .quality-priority-head strong {
  font-size: 11px!important;
}
#view-quality .quality-priority-head small {
  max-width: 300px;
  text-align: right;
  line-height: 1.4;
}
#view-quality .quality-priority-grid {
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr))!important;
  gap: 10px!important;
}
#view-quality .quality-priority-card {
  min-height: 88px!important;
  padding: 12px 13px!important;
  border-radius: 11px!important;
}
#view-quality .quality-priority-card>span {
  font-size: 8.5px!important;
}
#view-quality .quality-priority-card>strong {
  top: 12px!important;
  right: 13px!important;
  font-size: 20px!important;
}
#view-quality .quality-priority-card>small {
  margin-top: 9px!important;
  padding-right: 22px;
  font-size: 7.8px!important;
  line-height: 1.4!important;
}
#view-quality .quality-priority-card>em {
  margin-top: 8px!important;
  padding: 4px 7px;
  border-radius: 999px;
  background: #fff4d8;
  color: #8e6818!important;
  font-size: 6.8px!important;
}
#view-quality .quality-passed-checks {
  margin-top: 11px!important;
}
/* Old action-queue markup is no longer rendered; keep it hidden if stale HTML is cached. */
#view-quality .quality-action-queue { display:none!important; }

/* Quick checks are filters, not another dashboard. */
#view-quality .quality-checks-strip {
  padding-top: 12px!important;
}
#view-quality .quality-checks-strip .quality-section-label {
  align-items: baseline!important;
  padding: 0 18px 8px!important;
}
#view-quality .quality-checks-strip .quality-grid {
  display: grid!important;
  grid-template-columns: repeat(6,minmax(0,1fr))!important;
  gap: 8px!important;
  overflow: visible!important;
  padding: 0 18px 12px;
  border: 0!important;
  border-radius: 0!important;
  background: transparent!important;
}
#view-quality .quality-checks-strip .quality-summary-card {
  position: relative;
  display: grid!important;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: "label count" "state count";
  align-items: center;
  min-height: 56px!important;
  padding: 9px 10px!important;
  border: 1px solid #dce8e5!important;
  border-radius: 10px!important;
  background: #fbfdfc!important;
  box-shadow: none!important;
}
#view-quality .quality-checks-strip .quality-summary-card:hover {
  border-color: #9fcfc5!important;
  background: #f5faf8!important;
}
#view-quality .quality-checks-strip .quality-summary-card.active {
  border-color: #49ac9a!important;
  background: #edf8f5!important;
  box-shadow: 0 0 0 2px rgba(15,143,128,.05)!important;
}
#view-quality .quality-checks-strip .quality-summary-card.clear {
  opacity: .72;
}
#view-quality .quality-checks-strip .quality-summary-card>span {
  grid-area: label;
  color: #365f58;
  font-size: 8px!important;
  font-weight: 850;
}
#view-quality .quality-checks-strip .quality-summary-card>strong {
  grid-area: count;
  align-self: center;
  margin: 0!important;
  color: #0b6f62;
  font-size: 18px!important;
}
#view-quality .quality-checks-strip .quality-summary-card>small {
  grid-area: state;
  margin-top: 3px;
  color: #849590;
  font-size: 7px;
  font-weight: 700;
}
#view-quality .quality-checks-strip .quality-summary-card.issue>strong,
#view-quality .quality-checks-strip .quality-summary-card.attention>strong {
  color: #9b6a14!important;
}
#view-quality .quality-checks-strip .quality-summary-card.informational>strong {
  color: #55716b!important;
}

/* Review table: Issue explains the problem; Review State explains workflow. */
#view-quality .quality-results-bar {
  margin-top: 2px!important;
}
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(1) { width: 14%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(2) { width: 16%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(3) { width: 14%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(4) { width: 23%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(5) { width: 10%!important; text-align:center!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined th:nth-child(6) { width: 23%!important; }
#view-quality .quality-assessment-workspace .quality-record-table.refined td:nth-child(5) {
  text-align: center!important;
}
#view-quality .quality-assessment-workspace .quality-status {
  min-width: 72px!important;
  justify-content: center;
}
#view-quality .quality-assessment-workspace .quality-status.open {
  background: #fff0c9;
  color: #8d6519;
}
#view-quality .quality-assessment-workspace .quality-status.info {
  background: #edf4f2;
  color: #5d7871;
}
#view-quality .quality-assessment-workspace .quality-row-actions {
  justify-content: flex-end!important;
}
#view-quality .quality-assessment-workspace .quality-action-head,
#view-quality .quality-assessment-workspace .quality-action-cell {
  text-align: right!important;
  padding-right: 16px!important;
}

/* Identity review is a focused comparison, not a large form. */
#view-quality .farmer-identity-review-card .card-head {
  padding-bottom: 12px!important;
}
#view-quality .farmer-identity-review {
  padding: 0 18px 18px;
}
#view-quality .identity-group.refined.compact {
  border-radius: 11px;
}
#view-quality .identity-group.refined.compact .identity-group-head {
  padding: 11px 12px;
}
#view-quality .identity-group.refined.compact .identity-candidates {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  padding: 10px 12px;
  background: #fbfdfc;
}
#view-quality .identity-group.refined.compact .identity-candidate {
  min-height: 74px;
  padding: 10px 11px;
  border: 1px solid #dfe9e6;
  border-radius: 9px;
  background: #fff;
}
#view-quality .identity-group.refined.compact .identity-candidate:last-child {
  border-bottom: 1px solid #dfe9e6;
}
#view-quality .identity-group.refined.compact .identity-candidate:hover {
  border-color: #acd4cb;
  background: #f7fbfa;
}
#view-quality .identity-group.refined.compact .identity-candidate:has(input:checked) {
  border-color: #64b7a7;
  background: #eff9f6;
  box-shadow: 0 0 0 2px rgba(18,145,127,.06);
}
#view-quality .identity-group.refined.compact .identity-candidate em {
  min-width: auto!important;
  text-align: center!important;
}
#view-quality .identity-group.refined.compact .identity-merge-actions {
  padding: 11px 12px;
}
#view-quality .identity-group.refined.compact .identity-merge-actions span {
  max-width: 820px;
  line-height: 1.4;
}

@media (max-width: 1180px) {
  #view-quality .quality-checks-strip .quality-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width: 820px) {
  #view-quality .quality-priority-head {
    align-items: flex-start!important;
    flex-direction: column;
  }
  #view-quality .quality-priority-head small { text-align:left; }
  #view-quality .identity-group.refined.compact .identity-candidates { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  #view-quality .quality-checks-strip .quality-section-label { padding-left:14px!important; padding-right:14px!important; }
  #view-quality .quality-checks-strip .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    padding-left:14px;
    padding-right:14px;
  }
  #view-quality .farmer-identity-review { padding-left:14px; padding-right:14px; }
}


/* 2026-09-12 — Data Quality quick-filter spacing/alignment final polish */
#view-quality .quality-assessment-workspace .quality-checks-strip {
  box-sizing: border-box;
  padding: 12px 18px 14px!important;
  border-bottom: 1px solid #e5ecea!important;
  background: #fbfdfc!important;
}
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-section-label {
  display: flex!important;
  align-items: baseline!important;
  gap: 8px!important;
  margin: 0 0 10px!important;
  padding: 0!important;
}
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-grid {
  width: 100%!important;
  box-sizing: border-box!important;
  display: grid!important;
  grid-template-columns: repeat(6,minmax(0,1fr))!important;
  gap: 10px!important;
  margin: 0!important;
  padding: 0!important;
  overflow: visible!important;
  border: 0!important;
  background: transparent!important;
}
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card {
  box-sizing: border-box!important;
  min-width: 0!important;
  min-height: 60px!important;
  padding: 10px 11px!important;
  border: 1px solid #dce8e5!important;
  border-radius: 10px!important;
  background: #fff!important;
}
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card:last-child,
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card:nth-child(2n),
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card:nth-child(3n),
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card:nth-child(n+3),
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card:nth-child(n+4) {
  border: 1px solid #dce8e5!important;
}
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card:hover {
  border-color: #9fcfc5!important;
  background: #f7fbfa!important;
}
#view-quality .quality-assessment-workspace .quality-checks-strip .quality-summary-card.active {
  border-color: #49ac9a!important;
  background: #edf8f5!important;
  box-shadow: 0 0 0 2px rgba(15,143,128,.05)!important;
}
#view-quality .quality-assessment-workspace .quality-toolbar-refined {
  padding: 12px 18px!important;
  gap: 10px!important;
}
#view-quality .quality-assessment-workspace .quality-results-bar {
  margin: 0 18px!important;
  padding: 9px 0 11px!important;
}
#view-quality .quality-assessment-workspace #quality-records {
  padding: 0 18px 18px!important;
}
@media (max-width:1180px) {
  #view-quality .quality-assessment-workspace .quality-checks-strip .quality-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:640px) {
  #view-quality .quality-assessment-workspace .quality-checks-strip {
    padding-left: 14px!important;
    padding-right: 14px!important;
  }
  #view-quality .quality-assessment-workspace .quality-checks-strip .quality-section-label {
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:3px!important;
  }
  #view-quality .quality-assessment-workspace .quality-checks-strip .quality-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  #view-quality .quality-assessment-workspace .quality-toolbar-refined {
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #view-quality .quality-assessment-workspace .quality-results-bar {
    margin-left:14px!important;
    margin-right:14px!important;
  }
  #view-quality .quality-assessment-workspace #quality-records {
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* 2026-09-12 — IoT requested-reading header + session action alignment */
#view-iot .iot-reading-head-actions {
  display: grid!important;
  grid-template-columns: minmax(165px,auto) auto;
  grid-template-areas:
    "latest refresh"
    "updated updated";
  align-items: center!important;
  justify-content: end!important;
  column-gap: 12px!important;
  row-gap: 5px!important;
  min-width: 330px;
}
#view-iot .iot-reading-head-actions .iot-latest-summary {
  grid-area: latest;
  min-width: 165px!important;
  padding-right: 0!important;
  text-align: right!important;
}
#view-iot .iot-reading-head-actions .iot-refresh-btn {
  grid-area: refresh;
  align-self: center;
  margin: 0!important;
}
#view-iot .iot-reading-head-actions .iot-last-updated {
  grid-area: updated;
  width: auto!important;
  margin: 0!important;
  text-align: right!important;
  line-height: 1.2;
}

.account-session-card--detailed {
  display: block!important;
}
.account-session-head {
  align-items: center!important;
  margin-bottom: 14px!important;
}
.account-session-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex: 0 0 auto;
}
.account-session-actions .account-logout-button {
  margin: 0!important;
  min-height: 36px;
  padding: 0 16px;
}

@media (max-width:760px) {
  #view-iot .iot-reading-head-actions {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0,1fr) auto;
    justify-content: stretch!important;
  }
  #view-iot .iot-reading-head-actions .iot-latest-summary,
  #view-iot .iot-reading-head-actions .iot-last-updated {
    text-align: left!important;
  }
}
@media (max-width:620px) {
  .account-session-head {
    align-items: flex-start!important;
  }
  .account-session-actions {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
  }
  .account-session-actions .account-logout-button {
    width: auto!important;
    margin: 0!important;
  }
}


/* 2026-09-12 — Municipal Admin IoT Device Fleet alignment cleanup */
#view-iot .iot-device-card .iot-section-head {
  align-items: center!important;
  padding-bottom: 14px!important;
}
#view-iot .iot-device-card .iot-heading-copy {
  min-width: 0;
  flex: 1 1 auto;
}
#view-iot .iot-device-head-actions {
  display: flex!important;
  align-items: center!important;
  justify-content: flex-end!important;
  gap: 10px!important;
  flex: 0 0 auto!important;
}
#view-iot .iot-management-readonly {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid #d8e7e2;
  border-radius: 999px;
  background: #eef8f4;
  color: #176b5d;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}
#view-iot .iot-device-head-actions .iot-dev-tool {
  min-height: 40px!important;
  margin: 0!important;
  white-space: nowrap;
}
#view-iot .iot-device-card #iot-presence-note {
  margin: 0 16px 14px!important;
  min-height: 38px;
  padding: 10px 13px!important;
  box-sizing: border-box;
}
#view-iot .iot-device-card #iot-presence-note > span:nth-child(2) {
  min-width: 0;
  line-height: 1.4;
}
#view-iot .iot-device-card .iot-device-table-wrap {
  margin: 0 16px 16px!important;
}
@media (max-width:1180px) {
  #view-iot .iot-device-card .iot-section-head {
    align-items: flex-start!important;
  }
  #view-iot .iot-device-head-actions {
    flex-wrap: wrap!important;
  }
}
@media (max-width:760px) {
  #view-iot .iot-device-head-actions {
    width: 100%;
    display: grid!important;
    grid-template-columns: 1fr!important;
    justify-items: stretch!important;
  }
  #view-iot .iot-management-readonly,
  #view-iot .iot-device-head-actions .iot-dev-tool {
    width: 100%!important;
    box-sizing: border-box;
  }
  #view-iot .iot-device-card #iot-presence-note {
    margin: 0 12px 12px!important;
  }
  #view-iot .iot-device-card .iot-device-table-wrap {
    margin: 0 12px 12px!important;
  }
}


/* Data Quality issue drill-down — exact affected records stay in Data Quality before navigation */
#view-quality .quality-priority-card.active {
  border-color:#c69a35;
  background:#fff8e8;
  box-shadow:0 0 0 2px rgba(198,154,53,.10),0 7px 18px rgba(70,58,22,.07);
}
#view-quality .quality-priority-card.active>em { color:#76540f; }
#view-quality .quality-issue-drilldown {
  margin-top:10px;
  overflow:hidden;
  border:1px solid #dfd2aa;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 20px rgba(57,47,17,.045);
}
#view-quality .quality-drilldown-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:12px 13px;
  border-bottom:1px solid #e8e2cf;
  background:#fffaf0;
}
#view-quality .quality-drilldown-head>div:first-child { min-width:0; }
#view-quality .quality-drilldown-head span,
#view-quality .quality-drilldown-head strong,
#view-quality .quality-drilldown-head p { display:block; }
#view-quality .quality-drilldown-head span { color:#9a6d19; font-size:7px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
#view-quality .quality-drilldown-head strong { margin-top:2px; color:#24483f; font-size:11px; }
#view-quality .quality-drilldown-head p { max-width:760px; margin:3px 0 0; color:#758782; font-size:7.6px; line-height:1.4; }
#view-quality .quality-drilldown-head>div:last-child { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
#view-quality .quality-drilldown-head>div:last-child>b { display:grid; place-items:center; min-width:28px; height:28px; padding:0 7px; border-radius:999px; background:#fff0c9; color:#946712; font-size:10px; }
#view-quality .quality-drilldown-close { display:grid; place-items:center; width:28px; height:28px; padding:0; border:1px solid #dfE7e4; border-radius:7px; background:#fff; color:#637b75; font-size:17px; line-height:1; cursor:pointer; }
#view-quality .quality-drilldown-close:hover { background:#f6f9f8; color:#24483f; }
#view-quality .quality-drilldown-table-wrap { overflow:auto; max-height:380px; }
#view-quality .quality-drilldown-table { width:100%; border-collapse:collapse; table-layout:fixed; }
#view-quality .quality-drilldown-table th { padding:8px 10px; border-bottom:1px solid #e4ece9; background:#f7faf9; color:#5f7771; font-size:7px; text-align:left; text-transform:uppercase; letter-spacing:.04em; }
#view-quality .quality-drilldown-table td { padding:9px 10px; border-bottom:1px solid #eef2f0; color:#365b54; font-size:7.7px; vertical-align:middle; }
#view-quality .quality-drilldown-table tbody tr:last-child td { border-bottom:0; }
#view-quality .quality-drilldown-table th:nth-child(1) { width:15%; }
#view-quality .quality-drilldown-table th:nth-child(2) { width:18%; }
#view-quality .quality-drilldown-table th:nth-child(3) { width:23%; }
#view-quality .quality-drilldown-table th:nth-child(4) { width:30%; }
#view-quality .quality-drilldown-table th:nth-child(5) { width:14%; }
#view-quality .quality-drilldown-table td>strong,
#view-quality .quality-drilldown-table td>small { display:block; }
#view-quality .quality-drilldown-table td>strong { color:#244d45; font-size:8px; }
#view-quality .quality-drilldown-table td>small { margin-top:2px; color:#849590; font-size:7px; }
#view-quality .quality-drilldown-flag { display:block; color:#75591d; line-height:1.35; }
#view-quality .quality-drilldown-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 12px; border-top:1px solid #e8eeec; background:#fbfcfc; }
#view-quality .quality-drilldown-limit { color:#81928e; font-size:7px; }
#view-quality .quality-drilldown-empty { padding:18px 12px; text-align:center; }
#view-quality .quality-drilldown-empty strong,#view-quality .quality-drilldown-empty span { display:block; }
#view-quality .quality-drilldown-empty strong { color:#355f58; font-size:9px; }
#view-quality .quality-drilldown-empty span { margin-top:3px; color:#82928e; font-size:7.5px; }
#view-quality .quality-drilldown-groups { display:grid; gap:8px; padding:10px; max-height:400px; overflow:auto; }
#view-quality .quality-duplicate-group { overflow:hidden; border:1px solid #e4ebe8; border-radius:8px; }
#view-quality .quality-duplicate-group>header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; background:#f8faf9; border-bottom:1px solid #e7eeeb; }
#view-quality .quality-duplicate-group>header span,#view-quality .quality-duplicate-group>header strong { display:block; }
#view-quality .quality-duplicate-group>header span { color:#8a6a24; font-size:6.8px; font-weight:850; text-transform:uppercase; }
#view-quality .quality-duplicate-group>header strong { margin-top:2px; color:#264e46; font-size:9px; }
#view-quality .quality-duplicate-group>header b { color:#9a6c14; font-size:8px; white-space:nowrap; }
#view-quality .quality-duplicate-member { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border-top:1px solid #f0f3f2; }
#view-quality .quality-duplicate-member:first-of-type { border-top:0; }
#view-quality .quality-duplicate-member>div { min-width:0; }
#view-quality .quality-duplicate-member strong,#view-quality .quality-duplicate-member span { display:block; }
#view-quality .quality-duplicate-member strong { color:#315850; font-size:8px; }
#view-quality .quality-duplicate-member strong small { color:#899894; font-weight:650; }
#view-quality .quality-duplicate-member span { margin-top:2px; color:#82928e; font-size:7px; }
#view-quality .quality-duplicate-group>footer { padding:7px 10px; border-top:1px solid #edf1ef; background:#fffdf8; color:#765d27; font-size:7px; }
@media (max-width:900px) {
  #view-quality .quality-drilldown-table { min-width:760px; }
  #view-quality .quality-drilldown-head { align-items:flex-start; }
}
@media (max-width:620px) {
  #view-quality .quality-drilldown-head { gap:8px; padding:10px; }
  #view-quality .quality-drilldown-head p { font-size:7px; }
  #view-quality .quality-drilldown-foot { align-items:flex-start; flex-direction:column; }
  #view-quality .quality-duplicate-member { align-items:flex-start; flex-direction:column; }
}

/* v19.4 Assessment Comparison filter balance
   Keep the hierarchy selectors on one clean desktop row and give every
   control an equal share of the available width. This prevents the final
   assessment selector from overflowing the comparison surface. */
@media (min-width: 1100px) {
  #view-trends .comparison-control-surface {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }

  #view-trends .comparison-control-grid.comparison-control-grid-hierarchy {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: end;
  }

  #view-trends .comparison-control-grid.comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }

  #view-trends .comparison-control-grid-hierarchy .comparison-field,
  #view-trends .comparison-control-grid-hierarchy .comparison-field-date-a,
  #view-trends .comparison-control-grid-hierarchy .comparison-field-date-b,
  #view-trends .comparison-control-grid-hierarchy:has(#comparison-plot-b-wrap:not([hidden])) .comparison-field {
    grid-column: auto !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #view-trends .comparison-control-grid-hierarchy select {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}


/* ==========================================================================
   BagulinAgriTech Web v1.3.22 — Assessment Detail Modal Layout Refinement
   Desktop: wider information canvas, denser 3-column metadata, compact
   fertility summary, and balanced action buttons. Responsive behavior remains.
   ========================================================================== */
.record-modal-card {
  border-radius: 18px!important;
  box-shadow: 0 28px 80px rgba(8,47,43,.22)!important;
}
.record-modal-card .modal-x {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #d9e6e3;
  box-shadow: 0 2px 8px rgba(18,67,60,.06);
}
.record-modal-card .modal-x:hover {
  background: #f3f8f7;
  border-color: #bdd5cf;
}
.record-detail-scroll {
  scrollbar-gutter: stable;
}
.record-modal-card .record-detail-scroll .eyebrow {
  letter-spacing: .06em;
}
.record-modal-card .analysis-box {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 11px;
}
.record-modal-card .analysis-box>div {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
}
.record-modal-card .analysis-box span {
  font-size: 9px;
  font-weight: 800;
}
.record-modal-card .analysis-box strong {
  margin: 0;
  font-size: 18px;
  line-height: 1.15;
}
.record-modal-card .analysis-box small {
  justify-self: end;
  font-size: 8px;
  font-weight: 850;
}
.record-modal-card .record-reassessment-compare,
.record-modal-card .record-version-history {
  margin-top: 10px;
  padding-top: 10px;
}
.record-document-actions {
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr))!important;
  gap: 8px!important;
}
.record-document-actions .record-report-link,
.record-document-actions .record-archive-btn,
.record-document-actions.no-correction .record-report-link {
  grid-column: auto!important;
}
.record-document-actions > * {
  min-height: 38px!important;
  padding-left: 12px!important;
  padding-right: 12px!important;
  white-space: nowrap;
}

@media (min-width:901px) {
  .record-modal-card {
    width: min(1040px,92vw)!important;
    max-height: min(88vh,780px)!important;
  }
  #record-detail {
    max-height: min(88vh,780px)!important;
  }
  .record-detail-scroll {
    padding: 20px 22px 14px!important;
  }
  .record-detail-scroll h2 {
    margin-top: 4px;
    margin-bottom: 2px;
    font-size: 20px!important;
    line-height: 1.2!important;
  }
  .record-detail-lead {
    margin-bottom: 10px!important;
    font-size: 8.5px!important;
  }
  .record-modal-card .detail-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 8px!important;
    margin: 12px 0 10px!important;
  }
  .record-modal-card .detail-grid>span {
    min-width: 0;
    min-height: 48px;
    padding: 8px 10px!important;
    border-radius: 9px!important;
    line-height: 1.2;
  }
  .record-modal-card .detail-grid b {
    margin-top: 3px!important;
    font-size: 11px!important;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
  .record-modal-card .detail-grid .record-detail-wide {
    grid-column: 1/-1!important;
    min-height: 44px;
  }
  .record-modal-card .record-detail-status {
    margin-top: 4px!important;
  }
  .record-modal-card .soil-detail {
    gap: 8px!important;
  }
  .record-modal-card .soil-detail>div {
    min-width: 0;
    padding: 9px 10px!important;
    border-radius: 9px!important;
  }
  .record-modal-card .soil-detail b {
    margin-top: 3px!important;
    font-size: 13px!important;
    line-height: 1.2;
  }
  .record-modal-card .record-soil-card small {
    margin-top: 4px!important;
    font-size: 7px!important;
  }
  .record-document-actions {
    padding: 10px 22px 12px!important;
  }
}

@media (min-width:641px) and (max-width:900px) {
  .record-modal-card {
    width: min(94vw,820px)!important;
  }
  .record-modal-card .detail-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  .record-document-actions {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:640px) {
  .record-modal-card {
    width: calc(100vw - 20px)!important;
    max-height: 94vh!important;
    border-radius: 14px!important;
  }
  #record-detail { max-height: 94vh!important; }
  .record-detail-scroll { padding: 18px 14px 12px!important; }
  .record-modal-card .detail-grid,
  .record-modal-card .soil-detail {
    grid-template-columns: 1fr!important;
  }
  .record-modal-card .analysis-box>div {
    grid-template-columns: 1fr auto;
  }
  .record-modal-card .analysis-box span {
    grid-column: 1/-1;
  }
  .record-document-actions {
    grid-template-columns: 1fr!important;
    padding: 9px 14px 12px!important;
  }
  .record-document-actions > * {
    white-space: normal;
  }
}


/* ==========================================================================
   BagulinAgriTech Web v1.3.23 — Assessment Lifecycle Dialog
   Replaces browser prompt/confirm UI for Archive/Trash/Restore actions.
   ========================================================================== */
.assessment-lifecycle-dialog {
  z-index: 140;
  backdrop-filter: blur(2px);
}
.assessment-lifecycle-dialog-card {
  width: min(500px, calc(100vw - 32px));
  max-height: min(88vh, 620px);
  overflow: auto;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #d7e7e3;
  box-shadow: 0 28px 80px rgba(8,47,43,.28);
}
.assessment-lifecycle-dialog-card .eyebrow {
  display: block;
  padding-right: 42px;
  color: #0f766e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.assessment-lifecycle-dialog-card h2 {
  margin: 7px 44px 7px 0;
  color: #173f3a;
  font-size: 21px;
  line-height: 1.2;
}
.assessment-lifecycle-dialog-message {
  margin: 0 0 18px;
  color: #5f7470;
  font-size: 13px;
  line-height: 1.55;
}
.assessment-lifecycle-reason {
  display: grid;
  gap: 7px;
  margin-bottom: 18px;
}
.assessment-lifecycle-reason[hidden] {
  display: none!important;
}
.assessment-lifecycle-reason > span {
  color: #284d48;
  font-size: 11px;
  font-weight: 850;
}
.assessment-lifecycle-reason textarea {
  width: 100%;
  min-height: 92px;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid #bfd4cf;
  border-radius: 11px;
  padding: 11px 12px;
  background: #fbfdfc;
  color: #173f3a;
  font: inherit;
  line-height: 1.45;
  outline: none;
}
.assessment-lifecycle-reason textarea:focus {
  border-color: #159386;
  box-shadow: 0 0 0 3px rgba(21,147,134,.12);
  background: #fff;
}
.assessment-lifecycle-reason small {
  color: #7b8e8a;
  font-size: 10px;
}
.assessment-lifecycle-dialog-actions {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 9px;
}
.assessment-lifecycle-dialog-actions button {
  min-height: 42px;
}
.assessment-lifecycle-dialog-actions .danger {
  border: 1px solid #fecaca;
  background: #fee2e2;
  color: #b91c1c;
}
.assessment-lifecycle-dialog-actions .danger:hover {
  background: #fecaca;
}
@media (max-width:520px) {
  .assessment-lifecycle-dialog {
    padding: 12px;
  }
  .assessment-lifecycle-dialog-card {
    width: 100%;
    padding: 20px 16px 16px;
    border-radius: 15px;
  }
  .assessment-lifecycle-dialog-actions {
    grid-template-columns: 1fr;
  }
}

/* 2026-10-04 Privacy & Legal account card */
.account-legal-card{padding:22px!important}.account-legal-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f7f3;color:#0b756b;font-size:22px;font-weight:900}.account-legal-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.account-legal-links a{display:grid;gap:3px;padding:14px 15px;border:1px solid #d6e6e2;border-radius:11px;background:#f9fcfb;color:#214c45;text-decoration:none}.account-legal-links a:hover,.account-legal-links a:focus{border-color:#75bdb1;background:#f1faf7}.account-legal-links strong{font-size:13px}.account-legal-links span{font-size:11px;line-height:1.4;color:#6a817c}@media(max-width:780px){.account-legal-links{grid-template-columns:1fr}}
/* 2026-10-04 Privacy & Legal sidebar access */
.sidebar-user .sidebar-legal-link{color:#d1e8e3!important;font-size:12px!important;line-height:1.45;font-weight:800;text-decoration:none;margin-top:9px}.sidebar-user .sidebar-legal-link:hover,.sidebar-user .sidebar-legal-link:focus{color:#fff!important;text-decoration:underline}.sidebar-user .sidebar-logout-link{margin-top:3px;font-size:12px!important;line-height:1.45}.sidebar-user small{font-size:12px!important;line-height:1.35}.sidebar-user b{font-size:14px!important;line-height:1.4}

/* 2026-10-04 Unified Privacy & Legal account destination */
.account-legal-links-unified{grid-template-columns:1fr!important}

/* 2026-10-05 — GIS reading popup refinement (v1.3.51)
   Keep Farm Plot as the primary identity and avoid cramped Google InfoWindow scrollbars. */
.google-map-popup.sample-popup-compact {
  box-sizing: border-box !important;
  width: 286px !important;
  max-width: 286px !important;
  padding: 12px 6px 10px 2px !important;
  overflow: visible !important;
}
.google-map-popup.sample-popup-compact .compact-code {
  max-width: 250px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.google-map-popup.sample-popup-compact .compact-person {
  max-width: 250px !important;
}
.google-map-popup.sample-popup-compact .compact-reading-context {
  margin-top: 4px !important;
}
/* Google may otherwise add tiny internal scroll controls around compact custom content. */
.gm-style .gm-style-iw-d {
  overflow: hidden !important;
}

/* GIS parity: SVG pin circles, halos, and text labels share one click target. */
#full-map .admin-sample-wave-group { cursor: pointer; }


/* 2026-10-12 · Account & Security — balanced two-column dashboard
   Main column: account and password; side column: session and audit trail. */
#view-settings.account-security-view {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}
#view-settings .account-security-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(350px, .95fr);
  gap: 18px;
  align-items: start;
}
#view-settings .account-security-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  align-content: start;
}
#view-settings .account-security-column > .data-card {
  min-width: 0;
  margin: 0;
}
#view-settings .account-security-column--aside .account-session-card--detailed {
  display: block;
  padding: 20px !important;
}
#view-settings .account-security-column--aside .account-session-head {
  display: flex;
  flex-direction: column;
  align-items: stretch !important;
  gap: 14px;
  margin-bottom: 16px;
}
#view-settings .account-security-column--aside .account-session-head > div:first-child {
  min-width: 0;
}
#view-settings .account-security-column--aside .account-session-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
#view-settings .account-security-column--aside .account-logout-button {
  margin: 0;
  min-height: 34px;
}
#view-settings .account-security-column--aside .account-session-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-radius: 11px;
}
#view-settings .account-security-column--aside .account-session-grid > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 12px 13px;
  border-right: 0;
  border-bottom: 1px solid #e5eeeb;
}
#view-settings .account-security-column--aside .account-session-grid > div:last-child {
  border-bottom: 0;
}
#view-settings .account-security-column--aside .account-session-grid dd {
  margin-top: 0;
  text-align: right;
  overflow-wrap: anywhere;
}
#view-settings .account-security-column--aside .account-session-note {
  margin-top: 13px !important;
  line-height: 1.6;
}
#view-settings .account-security-column--aside .account-activity-card > summary {
  padding: 17px 18px;
}
#view-settings .account-security-column--aside .account-activity-card > summary > span:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}
#view-settings .account-security-column--aside .account-activity-card > summary small {
  margin-top: 2px;
}
#view-settings .account-security-column--aside .account-activity-item {
  grid-template-columns: 27px minmax(0, 1fr);
  align-items: start;
  gap: 9px 10px;
  padding: 12px 16px;
}
#view-settings .account-security-column--aside .account-activity-item time {
  grid-column: 2;
  white-space: normal;
  line-height: 1.4;
}
#view-settings .account-security-column--main .account-profile-card,
#view-settings .account-security-column--main .account-password-card {
  padding: 21px;
}
@media (max-width: 1240px) {
  #view-settings.account-security-view {
    max-width: 980px;
  }
  #view-settings .account-security-shell {
    grid-template-columns: minmax(0, 1fr);
  }
  #view-settings .account-security-column--aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
@media (max-width: 800px) {
  #view-settings .account-security-column--aside {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 620px) {
  #view-settings .account-security-shell,
  #view-settings .account-security-column {
    gap: 13px;
  }
  #view-settings .account-security-column--main .account-profile-card,
  #view-settings .account-security-column--main .account-password-card,
  #view-settings .account-security-column--aside .account-session-card--detailed {
    padding: 16px !important;
  }
  #view-settings .account-security-column--aside .account-logout-button {
    width: auto;
    min-width: 84px;
  }
  #view-settings .account-security-column--aside .account-session-grid dd {
    text-align: left;
  }
}


/* 2026-10-12 v1.3.56 — Account audit disclosure alignment.
   Fixed-size, centered SVG chevron replaces an inconsistent font glyph. */
#view-settings .account-activity-card > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center !important;
  gap: 14px;
}
#view-settings .account-activity-card > summary > span:first-child {
  min-width: 0;
}
#view-settings .account-activity-card > summary > .account-details-chevron {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 1px solid #deebe6;
  border-radius: 10px;
  background: #f0f7f4;
  color: #35665b;
  font-size: 0;
  line-height: 0;
  transform: none;
  transition: background-color .18s ease, border-color .18s ease;
}
#view-settings .account-activity-card > summary > .account-details-chevron svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .18s ease;
}
/* Open: upward; closed: downward. The container stays centered in both states. */
#view-settings .account-activity-card[open] > summary > .account-details-chevron {
  transform: none;
}
#view-settings .account-activity-card[open] > summary > .account-details-chevron svg {
  transform: rotate(180deg);
}
#view-settings .account-activity-card > summary:hover > .account-details-chevron {
  background: #e3f1ec;
  border-color: #c7dfd6;
}
/* Preserve an accessible keyboard focus indicator, without the browser's
   sharp full-width mouse-click outline across the audit card header. */
#view-settings .account-activity-card > summary:focus:not(:focus-visible) {
  outline: none;
}
#view-settings .account-activity-card > summary:focus-visible {
  outline: none;
}
#view-settings .account-activity-card > summary:focus-visible > .account-details-chevron {
  outline: 2px solid #198574;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  #view-settings .account-activity-card > summary > .account-details-chevron,
  #view-settings .account-activity-card > summary > .account-details-chevron svg {
    transition: none;
  }
}


/* 2026-10-12 v1.3.58 — Recent Security Activity: show about four entries,
   scroll the events independently, and keep the disclosure header static. */
#view-settings .account-security-column--aside .account-activity-list {
  max-height: 304px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: #aac9c0 #f5faf8;
}
#view-settings .account-security-column--aside .account-activity-item {
  box-sizing: border-box;
  min-height: 76px;
}
#view-settings .account-security-column--aside .account-activity-list::-webkit-scrollbar {
  width: 7px;
}
#view-settings .account-security-column--aside .account-activity-list::-webkit-scrollbar-track {
  background: #f5faf8;
}
#view-settings .account-security-column--aside .account-activity-list::-webkit-scrollbar-thumb {
  background: #aac9c0;
  border-radius: 12px;
  border: 1px solid #f5faf8;
}
#view-settings .account-security-column--aside .account-activity-list::-webkit-scrollbar-thumb:hover {
  background: #6fa69a;
}
#view-settings .account-security-column--aside .account-activity-list:focus-visible {
  outline: 2px solid #198574;
  outline-offset: -2px;
}


/* 2026-10-12 v1.3.60 — One Logout action in the sidebar only.
   Keep the account sidebar's familiar red link, but make its interaction area
   clearly button-like without introducing a second logout on Current Session. */
.sidebar .sidebar-user .sidebar-logout-link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  padding: 6px 10px;
  margin-top: 4px;
  margin-left: -10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #ff6380 !important;
  background: transparent;
  font-size: 12px !important;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.sidebar .sidebar-user .sidebar-logout-link:hover {
  color: #ffb7c5 !important;
  border-color: rgba(255, 130, 155, .22);
  background: rgba(255, 110, 140, .10);
}
.sidebar .sidebar-user .sidebar-logout-link:focus-visible {
  color: #fff0f2 !important;
  border-color: rgba(255, 160, 177, .52);
  background: rgba(255, 110, 140, .18);
  box-shadow: 0 0 0 2px rgba(255, 160, 177, .28) !important;
  text-decoration: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar .sidebar-user .sidebar-logout-link { transition: none; }
}
/* With only the session status remaining, avoid a stretched empty action row. */
#view-settings .account-security-column--aside .account-session-actions {
  justify-content: flex-start;
}

/* Offline pan affordance: Bagulin polygons are draggable map background.
   Hierarchy pins remain separate clickable navigation controls. */
#view-mapping #full-map.kml-map-host .admin-boundary-layer .map-brgy path {
  cursor: grab;
}
#view-mapping #full-map.kml-map-host.is-dragging .admin-boundary-layer .map-brgy path {
  cursor: grabbing;
}


/* 2026-10-12 v1.3.62 — Sidebar sign-out: full-width centered outlined button.
   Keep the existing shared sidebar link and logout endpoint unchanged. */
.sidebar .sidebar-user .sidebar-logout-link {
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 40px;
  justify-self: stretch;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 8px 0 0;
  padding: 9px 12px;
  border: 1px solid rgba(255, 132, 155, .82);
  border-radius: 9px;
  color: #ff96a8 !important;
  background: rgba(255, 101, 132, .065);
  font-size: 12px !important;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;
}
.sidebar .sidebar-user .sidebar-logout-link:hover {
  border-color: #ff9bae;
  color: #ffe8ed !important;
  background: rgba(255, 97, 129, .18);
}
.sidebar .sidebar-user .sidebar-logout-link:focus-visible {
  border-color: #ffb5c4;
  color: #fff2f5 !important;
  background: rgba(255, 97, 129, .18);
  box-shadow: 0 0 0 2px rgba(255, 181, 196, .35) !important;
}


/* 2026-10-12 v1.3.63 — Compact Google Map InfoWindow header.
   Google's blank native header reserves a full row even without a title.
   Float that row into the top-right corner instead, retaining its native
   accessible close button and leaving room beside the Farm Plot title. */
#view-mapping .google-map-host .gm-style-iw-c {
  /* Google anchors the InfoWindow using its own absolutely positioned wrapper.
     Changing this to relative detached the tail from the selected map pin. */
  position: absolute !important;
}
#view-mapping .google-map-host .gm-style-iw-chr {
  position: absolute !important;
  z-index: 4;
  top: 2px;
  right: 2px;
  width: 38px !important;
  height: 36px !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#view-mapping .google-map-host .gm-style-iw-chr > button {
  margin: 0 !important;
  padding: 0 !important;
}
#view-mapping .google-map-host .google-map-popup.sample-popup-compact {
  padding-top: 4px !important;
  padding-bottom: 7px !important;
}
#view-mapping .google-map-host .google-map-popup.sample-popup-compact .compact-code {
  box-sizing: border-box;
  max-width: 272px !important;
  padding-right: 30px;
}


/* 2026-10-12 v1.3.64 — Center the sidebar Privacy & Legal link.
   Keep the existing legal destination and visual hierarchy, but align the
   link with the centered Logout button inside the signed-in sidebar card. */
.sidebar .sidebar-user .sidebar-legal-link {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0 2px;
  text-align: center;
  color: #dbeee8 !important;
  font-size: 12px !important;
  line-height: 1.45;
  font-weight: 800;
  text-decoration: none;
}
.sidebar .sidebar-user .sidebar-legal-link:hover,
.sidebar .sidebar-user .sidebar-legal-link:focus {
  color: #ffffff !important;
  text-decoration: underline;
}


/* 2026-10-12 v1.3.65 — Restore Google Maps InfoWindow's native pin anchor.
   Do not transform/translate the native InfoWindow bubble, tail or popup;
   the positioning correction is limited to its internal card positioning. */


/* v1.3.75 — Assessment Record: compact disclosure and spacing refinement.
   UI-only. Retains the v1.3.70 aggregate-only synchronization policy,
   assessment history, review status and existing privileged actions. */
.record-modal-card {
  width: min(760px, calc(100vw - 36px)) !important;
  max-height: min(88vh, 690px) !important;
  overflow: hidden !important;
  border: 1px solid #e2ebe7 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 22px 65px rgba(12, 39, 34, .18) !important;
}
.record-modal-card #record-detail {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  min-height: 0;
  max-height: min(88vh, 690px) !important;
  overflow: visible !important;
}
.record-modal-card .record-detail-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #c7d8d0 transparent;
  padding: 17px 24px 7px !important;
  color: #193e36;
}
.record-modal-card .modal-x {
  position: absolute;
  z-index: 12;
  top: 14px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #e0eae5;
  border-radius: 10px;
  background: #fff;
  color: #536c62;
  font-size: 21px;
  font-weight: 400;
  box-shadow: none;
  cursor: pointer;
}
.record-modal-card .modal-x:hover { background: #f3f8f5; border-color: #cbded4; color: #194e42; }
.record-modal-card .record-detail-header {
  padding: 0 42px 11px 0;
  margin: 0 0 7px;
  border-bottom: 1px solid #e8efeb;
}
.record-modal-card .record-heading-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 18px;
  margin-bottom: 4px;
}
.record-modal-card .record-detail-header .eyebrow {
  margin: 0 !important;
  color: #0b8976;
  font-size: 11px !important;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .055em;
}
.record-modal-card .record-review-pill {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  line-height: 1.3;
  font-weight: 750;
  white-space: nowrap;
}
.record-modal-card .record-detail-scroll h2 {
  margin: 0 0 3px !important;
  padding: 0 !important;
  color: #183e36;
  font-size: clamp(20px, 2.2vw, 23px) !important;
  line-height: 1.23 !important;
  letter-spacing: -.027em;
  font-weight: 760;
  overflow-wrap: anywhere;
}
.record-modal-card .record-detail-lead {
  margin: 0 !important;
  color: #778a82;
  font-size: 12px !important;
  line-height: 1.45;
  font-weight: 550;
}
/* Simple two-column definition list. No nested box/background per field. */
.record-modal-card .record-quick-details { margin: 0 0 11px; }
.record-modal-card .record-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  margin: 0;
  padding: 0;
  border: 0;
}
.record-modal-card .record-info-fact {
  display: flex;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
  margin: 0;
  padding: 6px 0;
  border-bottom: 1px solid #eff3f0;
}
.record-modal-card .record-info-fact dt {
  flex: 0 0 66px;
  margin: 0;
  color: #84958d;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 600;
}
.record-modal-card .record-info-fact dd {
  min-width: 0;
  margin: 0;
  color: #22473d;
  font-size: 12px;
  line-height: 1.42;
  font-weight: 680;
  overflow-wrap: anywhere;
}
.record-modal-card .record-inline-action {
  display: inline-block;
  padding: 0;
  margin: 0 0 0 8px;
  border: none;
  background: transparent;
  color: #078773;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.record-modal-card .record-inline-action:hover { text-decoration: underline; text-underline-offset: 3px; }
.record-modal-card .record-gps-line { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.record-modal-card .record-gps-line .record-inline-action { margin: 0; }
.record-modal-card .record-detail-section { margin: 0 0 7px; }
.record-modal-card .record-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.record-modal-card .record-section-title h3,
.record-modal-card .record-detail-section h3 {
  margin: 0;
  color: #23483f;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 760;
}
.record-modal-card .record-section-title span {
  color: #98a79f;
  font-size: 11px;
  font-weight: 550;
}
/* Four measurements grouped by a single soft surface. */
.record-modal-card .soil-detail {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid #e5eee9;
  border-radius: 12px;
  background: #f9fbfa;
}
.record-modal-card .soil-detail .record-soil-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 80px !important;
  padding: 9px 13px 8px !important;
  border: 0 !important;
  border-right: 1px solid #e6eee9 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.record-modal-card .soil-detail .record-soil-card:last-child { border-right: 0 !important; }
.record-modal-card .record-soil-name {
  color: #748a7f;
  font-size: 11px !important;
  line-height: 1.4;
  font-weight: 650;
}
.record-modal-card .soil-detail .record-soil-card b {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px;
  margin: 3px 0 3px !important;
  color: #173d34;
  font-size: 21px !important;
  font-weight: 770;
  letter-spacing: -.035em;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.record-modal-card .record-soil-card .record-soil-unit {
  color: #82978c;
  font-size: 10.5px;
  line-height: 1.5;
  font-weight: 580;
  letter-spacing: 0;
  white-space: nowrap;
}
.record-modal-card .record-soil-card small {
  margin: auto 0 0 !important;
  font-size: 11px !important;
  line-height: 1.35;
  font-weight: 720;
}
.record-modal-card .record-soil-reference {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}
/* A one-line summary with an appropriately quiet progress indicator. */
.record-modal-card .analysis-box.record-fertility-summary,
.record-modal-card .analysis-box.record-fertility-summary:is(.moderate,.low) {
  display: block !important;
  padding: 8px 12px !important;
  margin: 7px 0 0 !important;
  border: 1px solid #e5ebe4 !important;
  border-radius: 11px !important;
  background: #fbfbf8 !important;
  box-shadow: none !important;
}
.record-modal-card .record-fertility-summary > div:first-child,
.record-modal-card .analysis-box.record-fertility-summary > div:first-child {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.record-modal-card .record-fertility-summary span,
.record-modal-card .analysis-box.record-fertility-summary span {
  font-size: 11.5px !important;
  color: #73867b;
  font-weight: 620;
}
.record-modal-card .record-fertility-summary strong,
.record-modal-card .analysis-box.record-fertility-summary strong {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 770;
}
.record-modal-card .record-fertility-summary small,
.record-modal-card .analysis-box.record-fertility-summary small {
  margin-left: auto !important;
  color: #1c4137;
  font-size: 17px !important;
  line-height: 1.2;
  font-weight: 780;
}
.record-modal-card .record-score-track {
  height: 3px;
  margin-top: 6px;
  background: #e7ede7;
  border-radius: 99px;
  overflow: hidden;
}
.record-modal-card .record-score-track > div { height: 100%; border-radius: 99px; }
.record-modal-card .record-review-note {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: baseline;
  margin: 6px 1px 2px;
  padding: 0;
  color: #768b80;
  font-size: 11px;
  line-height: 1.45;
}
.record-modal-card .record-review-note strong { color: #566f63; font-weight: 710; }
/* Compact native disclosures: summary labels and chevrons remain a single line. */
.record-modal-card .record-extra-details,
.record-modal-card .record-previous-details,
.record-modal-card .record-audit-details {
  margin: 0 !important;
  padding: 0;
  border: 0 !important;
  border-top: 1px solid #ecf1ed !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}
.record-modal-card .record-extra-details > summary,
.record-modal-card .record-previous-details > summary,
.record-modal-card .record-audit-details > summary {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  width: 100%;
  height: auto !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 5px 4px !important;
  border: none !important;
  border-radius: 6px;
  background: transparent !important;
  box-shadow: none !important;
  color: #3a6054;
  font-family: inherit;
  font-weight: 680;
  font-size: 11.5px;
  line-height: 1.35;
  text-align: left;
  list-style: none;
  cursor: pointer;
  box-sizing: border-box;
}
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary::-webkit-details-marker {
  display: none;
}
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary::marker {
  content: '';
}
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary:hover {
  background: #f6f9f7 !important;
  color: #156f5e;
}
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary:focus:not(:focus-visible),
.record-modal-card .record-more-actions > summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary:focus-visible {
  outline: 2px solid #24977f !important;
  outline-offset: -2px !important;
}
/* Draw a consistent 10px chevron instead of a text glyph with variable baseline. */
.record-modal-card .record-extra-details > summary > span[aria-hidden="true"],
.record-modal-card .record-audit-details > summary > span[aria-hidden="true"],
.record-modal-card .record-history-chevron {
  order: 9;
  margin-left: auto;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0;
  border-radius: 5px;
  transition: background .15s ease;
}
.record-modal-card .record-extra-details > summary > span[aria-hidden="true"]::after,
.record-modal-card .record-audit-details > summary > span[aria-hidden="true"]::after,
.record-modal-card .record-history-chevron::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid #81998e;
  border-bottom: 1.5px solid #81998e;
  transform: translateY(-1px) rotate(45deg);
  transition: transform .15s ease;
}
.record-modal-card .record-extra-details[open] > summary > span[aria-hidden="true"]::after,
.record-modal-card .record-audit-details[open] > summary > span[aria-hidden="true"]::after,
.record-modal-card .record-previous-details[open] .record-history-chevron::after {
  transform: translateY(2px) rotate(225deg);
}
.record-modal-card .record-history-summary-copy {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 7px;
  min-width: 0;
}
.record-modal-card .record-history-summary-copy strong {
  color: #3a6054;
  font-size: 11.5px;
  font-weight: 700;
}
.record-modal-card .record-history-summary-copy small {
  color: #82988b;
  font-size: 10.5px;
  font-weight: 500;
}
.record-modal-card .record-history-summary-hint { display: none; }
.record-modal-card .record-extra-content,
.record-modal-card .record-previous-content,
.record-modal-card .record-audit-content {
  padding: 1px 4px 7px !important;
}
.record-modal-card .record-collection-grid { gap: 0 18px; }
.record-modal-card .record-collection-grid .record-info-fact { padding: 5px 0; }
.record-modal-card .record-collection-grid .record-info-fact dt { flex-basis: 78px; }
.record-modal-card .record-context-note {
  padding: 7px 9px;
  margin: 4px 0;
  border-radius: 7px;
  background: #f7faf8;
}
.record-modal-card .record-context-note p { margin: 2px 0 0; font-size: 11px; }
.record-modal-card .record-reassessment-compare,
.record-modal-card .record-version-history { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.record-modal-card .record-previous-link {
  display: block;
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 0;
  margin: 0 0 3px auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #118574;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.record-modal-card .record-previous-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.record-modal-card .record-compare-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #e9efea;
  border-radius: 7px;
}
.record-modal-card .record-compare-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  background: #fff;
  table-layout: fixed;
}
.record-modal-card .record-compare-table th,
.record-modal-card .record-compare-table td {
  padding: 5px 9px !important;
  height: 27px;
  box-sizing: border-box;
  border: 0 !important;
  border-bottom: 1px solid #eef2ef !important;
  background: transparent !important;
  color: #415e52;
  font-size: 11px !important;
  line-height: 1.25;
  font-weight: 500;
  text-align: left;
  white-space: normal;
}
.record-modal-card .record-compare-table tr:last-child td,
.record-modal-card .record-compare-table tr:last-child th { border-bottom: none !important; }
.record-modal-card .record-compare-table thead th {
  height: 28px;
  background: #f6f9f7 !important;
  color: #6f8478;
  font-size: 10px !important;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.record-modal-card .record-compare-table tbody th { width: 32%; font-weight: 620; }
.record-modal-card .record-compare-table th:first-child { width: 32%; }
.record-modal-card .record-compare-table tbody th small {
  color: #94a69c;
  font-size: 9px;
  font-weight: 500;
}
.record-modal-card .record-initial-note { padding: 7px 0; font-size: 11px; }
.record-modal-card .record-audit-description { margin: 0 0 6px; color: #778d80; font-size: 11px; }
/* Fixed footer, predictable buttons, no inherited 100% button widths. */
.record-modal-card .record-document-actions.record-actions-redesign {
  position: relative;
  z-index: 8;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 190px 95px !important;
  justify-content: stretch;
  align-items: center;
  gap: 9px !important;
  min-height: 54px;
  width: 100%;
  padding: 8px 24px !important;
  margin: 0 !important;
  border-top: 1px solid #e8eeea;
  background: #fff;
  box-shadow: none;
  overflow: visible;
  box-sizing: border-box;
}
.record-modal-card .record-document-actions.record-actions-single {
  grid-template-columns: minmax(0,1fr) 190px !important;
}
.record-modal-card .record-actions-redesign > .record-report-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 36px !important;
  padding: 7px 12px !important;
  margin: 0 !important;
  box-sizing: border-box;
  border: 1px solid #0b8e7a !important;
  border-radius: 9px;
  background: #0b8e7a !important;
  color: white !important;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 720;
  white-space: normal;
  box-shadow: none;
}
.record-modal-card .record-actions-redesign > .record-report-link:hover { background: #087662 !important; }
.record-modal-card .record-more-actions {
  position: relative;
  grid-column: 3 !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}
.record-modal-card .record-more-actions summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  width: 100%;
  padding: 7px 10px;
  box-sizing: border-box;
  border: 1px solid #d9e6df;
  border-radius: 9px;
  background: #fff;
  color: #385c50;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}
.record-modal-card .record-more-actions summary::-webkit-details-marker { display: none; }
.record-modal-card .record-more-actions summary:hover,
.record-modal-card .record-more-actions[open] summary { background: #f4f8f5; border-color: #b9d4c7; }
.record-modal-card .record-more-actions[open] summary span { transform: rotate(180deg); }
.record-modal-card .record-more-actions-panel {
  position: absolute;
  z-index: 35;
  right: 0;
  bottom: calc(100% + 8px);
  display: grid;
  gap: 2px;
  min-width: 220px;
  max-width: min(290px, calc(100vw - 28px));
  padding: 5px;
  border: 1px solid #e0e9e3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 15px 35px rgba(17,50,40,.14);
}
.record-modal-card .record-more-actions-panel > button {
  grid-column: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 33px !important;
  padding: 7px 11px !important;
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
}
.record-modal-card :is(button, summary):focus-visible { outline: 2px solid #0c9c85; outline-offset: 3px; }
@media (max-width: 620px) {
  .record-modal-card { width: calc(100vw - 18px) !important; max-height: 94vh !important; border-radius: 14px !important; }
  .record-modal-card #record-detail { max-height: 94vh !important; }
  .record-modal-card .record-detail-scroll { padding: 15px 15px 6px !important; }
  .record-modal-card .record-detail-header { padding-right: 40px; }
  .record-modal-card .record-detail-scroll h2 { font-size: 19px !important; }
  .record-modal-card .record-info-grid { grid-template-columns: 1fr; gap: 0; }
  .record-modal-card .record-info-fact { padding: 5px 0; }
  .record-modal-card .record-info-fact dt { flex-basis: 78px; }
  .record-modal-card .record-quick-details { margin-bottom: 11px; }
  .record-modal-card .soil-detail { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .record-modal-card .soil-detail .record-soil-card { min-height: 79px !important; padding: 9px 11px !important; }
  .record-modal-card .soil-detail .record-soil-card:nth-child(2) { border-right: 0 !important; }
  .record-modal-card .soil-detail .record-soil-card:nth-child(-n+2) { border-bottom: 1px solid #e6eee9 !important; }
  .record-modal-card .record-document-actions.record-actions-redesign {
    grid-template-columns: minmax(0,1fr) 94px !important;
    min-height: 55px;
    padding: 8px 15px !important;
    gap: 9px !important;
  }
  .record-modal-card .record-document-actions.record-actions-single { grid-template-columns: 1fr !important; }
  .record-modal-card .record-actions-redesign > .record-report-link { grid-column: 1 !important; }
  .record-modal-card .record-more-actions { grid-column: 2 !important; }
  .record-modal-card .record-document-actions.record-actions-single > .record-report-link { grid-column: 1 !important; }
  .record-modal-card .record-review-pill { font-size: 9.5px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .record-modal-card .record-history-chevron,
  .record-modal-card .record-extra-details summary span { transition: none; }
}

/* Respect reduced motion and keep a minimum touch target on phones. */
@media (max-width: 620px) {
  .record-modal-card .record-extra-details > summary,
  .record-modal-card .record-previous-details > summary,
  .record-modal-card .record-audit-details > summary { min-height: 38px !important; }
  .record-modal-card .record-history-summary-copy { row-gap: 2px; }
  .record-modal-card .record-compare-table th,
  .record-modal-card .record-compare-table td { padding: 5px 6px !important; font-size: 10.5px !important; }
  .record-modal-card .record-compare-table tbody th small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .record-modal-card .record-history-chevron::after,
  .record-modal-card .record-extra-details > summary span::after,
  .record-modal-card .record-audit-details > summary span::after { transition: none !important; }
}

.record-modal-card .record-score-track { display: block !important; width: 100% !important; }
.record-modal-card .record-fertility-summary.low .record-score-track > div { background: #cb3c44 !important; }
.record-modal-card .record-fertility-summary.moderate .record-score-track > div { background: #b98732 !important; }
.record-modal-card .record-fertility-summary.high .record-score-track > div { background: #14927d !important; }
.record-modal-card .record-fertility-summary.neutral .record-score-track > div { background: #8ba79a !important; }
.record-modal-card .record-score-track > div { display: block !important; max-width: 100%; min-width: 0; }
.record-modal-card .record-history-chevron::after,
.record-modal-card .record-extra-details > summary > span[aria-hidden="true"]::after,
.record-modal-card .record-audit-details > summary > span[aria-hidden="true"]::after { width: 8px; height: 8px; }


/* v1.3.76 — Dialog shell and action tray: audit-backed modal UX repair.
   Only the content area scrolls. Header/close and actions remain visible,
   secondary actions do not occlude data, and numeric comparisons are legible. */
.record-modal-card {
  width: min(756px, calc(100vw - 32px)) !important;
  max-height: min(90dvh, 780px) !important;
  overflow: hidden !important;
  isolation: isolate;
}
.record-modal-card #record-detail {
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
  min-height: 0 !important;
  max-height: min(90dvh, 780px) !important;
  overflow: hidden !important;
}
.record-modal-card > .modal-x {
  z-index: 20 !important;
  top: 15px !important;
  right: 20px !important;
  width: 31px !important;
  height: 31px !important;
  border-radius: 8px !important;
}
.record-modal-card .record-detail-header {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 19px 73px 13px 23px !important;
  border-bottom: 1px solid #e8eeea;
  background: #fff;
}
.record-modal-card .record-detail-header .record-heading-top {
  margin-bottom: 4px !important;
}
.record-modal-card .record-detail-header h2 {
  margin: 0 0 3px !important;
  padding-right: 0 !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 750;
}
.record-modal-card .record-detail-header .record-detail-lead { margin: 0 !important; }
.record-modal-card .record-detail-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 12px 23px 13px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-gutter: auto !important;
  scrollbar-width: thin;
  scroll-padding-block: 8px 20px;
}
.record-modal-card .record-detail-scroll:focus { outline: none !important; }
.record-modal-card .record-detail-scroll:focus-visible { outline: 2px solid #b5d4c9 !important; outline-offset: -3px !important; }
.record-modal-card .record-quick-details { margin-bottom: 10px !important; }
.record-modal-card .record-quick-details .record-info-fact { padding-block: 5px; }
.record-modal-card .record-review-note { margin: 5px 1px !important; }
.record-modal-card .record-section-title { margin-bottom: 5px !important; }
.record-modal-card .record-extra-details > summary,
.record-modal-card .record-previous-details > summary,
.record-modal-card .record-audit-details > summary {
  border-radius: 5px !important;
  font-size: 12px !important;
  min-height: 34px !important;
}
/* Keep discoverable keyboard focus, but avoid the heavy green rectangular border. */
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary:focus-visible {
  outline: 1px solid #b2d2c5 !important;
  outline-offset: -2px !important;
  background: #f5f9f6 !important;
}
.record-modal-card .record-extra-content,
.record-modal-card .record-previous-content,
.record-modal-card .record-audit-content { padding: 2px 4px 9px !important; }
.record-modal-card .record-audit-description { padding: 2px 0 3px !important; }
.record-modal-card .record-history-list { gap: 6px !important; }
.record-modal-card .record-history-list article { padding: 8px 10px !important; }
.record-modal-card .record-compare-table thead th { padding: 7px 9px !important; }
.record-modal-card .record-compare-table tbody th,
.record-modal-card .record-compare-table tbody td {
  font-variant-numeric: tabular-nums;
  padding: 6px 9px !important;
}
.record-modal-card .record-document-actions.record-actions-redesign {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column;
  gap: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff;
  border-top: 1px solid #e7eeea;
  box-shadow: 0 -4px 12px rgba(21,58,46,.025);
}
.record-modal-card .record-actions-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  padding: 9px 23px 10px;
  min-height: 54px;
  width: 100%;
  box-sizing: border-box;
}
.record-modal-card .record-actions-toolbar > .record-report-link {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  grid-column: auto !important;
  width: auto !important;
  min-width: 178px !important;
  max-width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 7px 14px !important;
  margin: 0 !important;
  box-sizing: border-box;
  white-space: nowrap;
  border-radius: 8px;
}
.record-modal-card .record-actions-toolbar > .record-more-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 82px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 7px 11px !important;
  border: 1px solid #d8e5de !important;
  border-radius: 8px;
  background: #fff;
  color: #335a4d;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: none;
  margin: 0 !important;
}
.record-modal-card .record-actions-toolbar > .record-more-button:hover,
.record-modal-card .record-actions-toolbar > .record-more-button[aria-expanded='true'] {
  background: #f3f8f5;
  border-color: #bed7ca !important;
}
.record-modal-card .record-more-chevron {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .15s ease, margin .15s ease;
}
.record-modal-card .record-more-button[aria-expanded='true'] .record-more-chevron {
  margin-top: 3px;
  transform: rotate(225deg);
}
/* Inline secondary action tray expands the fixed footer instead of covering the report. */
.record-modal-card .record-action-tray {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  min-height: 48px;
  padding: 9px 23px 8px;
  background: #f8fbf9;
  border-bottom: 1px solid #ecf1ee;
  box-sizing: border-box;
}
.record-modal-card .record-action-tray[hidden] { display: none !important; }
.record-modal-card .record-action-tray > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  min-height: 32px !important;
  padding: 7px 10px !important;
  margin: 0 !important;
  border: 1px solid #d8e7df !important;
  border-radius: 7px !important;
  font-size: 11.5px !important;
  font-weight: 660;
  line-height: 1.2;
  box-shadow: none !important;
  background: #fff !important;
  color: #2e5c4e !important;
}
.record-modal-card .record-action-tray > button:hover { background: #edf7f1 !important; }
.record-modal-card .record-action-tray > button.danger,
.record-modal-card .record-action-tray > button.record-archive-btn { border-color: #edcece !important; background: #fffafa !important; color: #ae3742 !important; }
.record-modal-card :is(.record-more-button,.record-action-tray > button,.modal-x):focus-visible {
  outline: 2px solid #9ccbb9 !important;
  outline-offset: 2px !important;
}
@media (max-width: 620px) {
  .record-modal-card { width: calc(100vw - 16px) !important; max-height: 94dvh !important; }
  .record-modal-card #record-detail { max-height: 94dvh !important; }
  .record-modal-card > .modal-x { top: 13px !important; right: 13px !important; }
  .record-modal-card .record-detail-header { padding: 16px 53px 11px 15px !important; }
  .record-modal-card .record-detail-header h2 { font-size: 19px !important; }
  .record-modal-card .record-detail-scroll { padding: 10px 15px 11px !important; }
  .record-modal-card .record-actions-toolbar { padding: 8px 15px 9px; }
  .record-modal-card .record-actions-toolbar > .record-report-link { flex: 1 1 auto !important; min-width: 0 !important; white-space: normal; }
  .record-modal-card .record-actions-toolbar > .record-more-button { width: 75px !important; }
  .record-modal-card .record-action-tray { padding: 9px 15px; gap: 6px; }
  .record-modal-card .record-action-tray > button { flex: 1 1 calc(50% - 6px); min-height: 36px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .record-modal-card .record-more-chevron { transition: none !important; }
}

/* Reliable disclosure icons; vector stroke stays centered in every state. */
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details) > summary > .record-disclosure-svg {
  display: block !important;
  flex: 0 0 16px;
  width: 16px !important;
  height: 16px !important;
  order: 9;
  margin: 0 2px 0 auto !important;
  padding: 0;
  overflow: visible;
  fill: none;
  stroke: #789288;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: #789288;
  transform: none;
  transition: transform .15s ease;
}
.record-modal-card :is(.record-extra-details,.record-previous-details,.record-audit-details)[open] > summary > .record-disclosure-svg {
  transform: rotate(180deg);
}
@media (prefers-reduced-motion: reduce) {
  .record-modal-card .record-disclosure-svg { transition: none !important; }
}

/* v1.3.81 — Review Queue: inspect an assessment before a status decision. */
#view-workflow .workflow-list { min-width: 870px; }
#view-workflow .workflow-row {
  grid-template-columns: minmax(142px,1fr) minmax(160px,1.2fr) minmax(134px,.95fr) minmax(130px,.85fr) minmax(108px,.8fr) 105px;
  gap: 12px;
}
#view-workflow .workflow-review-row { cursor: pointer; }
#view-workflow .workflow-record-link {
  background: none; border: 0; box-shadow: none; padding: 0; margin: 0;
  color: #156d61; font-size: 11px; font-weight: 800; text-align: left;
  cursor: pointer;
}
#view-workflow .workflow-record-link:hover { text-decoration: underline; }
#view-workflow .workflow-status { justify-content: flex-start; }
#view-workflow .workflow-status-badge {
  display: inline-flex; align-items: center; max-width: 100%;
  border: 1px solid #dde6e3; border-radius: 999px; padding: 5px 9px;
  color: #58716b; background: #f6f9f8; font-size: 10px; font-weight: 750;
  white-space: nowrap;
}
#view-workflow .workflow-status-badge.status-review { background: #fff8e8; border-color: #f1e1b8; color: #91610c; }
#view-workflow .workflow-status-badge.status-pending { background: #f5f7f8; color: #6a7980; }
#view-workflow .workflow-status-badge.status-verified,
#view-workflow .workflow-status-badge.status-approved { background: #eaf7f1; border-color: #cde8dc; color: #126856; }
#view-workflow .workflow-action { display: flex; justify-content: flex-end; }
#view-workflow .workflow-review-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-width: 82px; min-height: 33px; padding: 6px 10px;
  color: #285c52; border: 1px solid #c9dfd9; border-radius: 8px;
  background: #fff; font-size: 10px; font-weight: 800; cursor: pointer;
}
#view-workflow .workflow-review-button.requires-review { background: #0d8c7b; border-color: #0d8c7b; color: #fff; }
#view-workflow .workflow-review-button:hover { filter: brightness(.95); }
#view-workflow .workflow-record-link:focus-visible,
#view-workflow .workflow-review-button:focus-visible { outline: 2px solid #168f7e; outline-offset: 3px; }
#record-modal .record-review-guidance {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  padding: 8px 11px; margin-top: 7px; background: #f2f8f6;
  border: 1px solid #d9e9e4; border-radius: 8px; color: #426b61;
  font-size: 10px; line-height: 1.5;
}
#record-modal .record-review-guidance strong { color: #1a5e51; font-size: 11px; white-space: nowrap; }
#record-modal .record-review-toolbar .review-approve-btn { background: #108d7c; border-color: #108d7c; color: #fff; }
#record-modal .record-action-tray .review-request-correction-btn { background: #fff9ee; border-color: #ecd9b4; color: #936315; }
@media (max-width: 1100px) {
  #view-workflow .workflow-row { grid-template-columns: minmax(130px,1fr) minmax(145px,1.15fr) minmax(120px,.95fr) minmax(105px,.7fr) 95px; }
  #view-workflow .workflow-tech { display:none; }
}
@media (max-width: 620px) {
  #view-workflow .workflow-table-wrap { overflow-x:auto; }
  #view-workflow .workflow-list { min-width: 620px; }
  #view-workflow .workflow-row { grid-template-columns: 128px 125px 122px 113px 88px; gap: 8px; padding: 10px!important; }
  #view-workflow .workflow-review-button { min-width: 76px; }
}

/* Mobile Review Queue: an individual actionable record, not a wide scrolled table. */
@media (max-width: 620px) {
  #view-workflow .workflow-table-wrap { overflow-x: visible!important; }
  #view-workflow .workflow-list { min-width: 0!important; width: 100%!important; }
  #view-workflow .workflow-row.workflow-head { display: none!important; }
  #view-workflow article.workflow-row.workflow-review-row {
    display: grid!important; min-width: 0!important;
    grid-template-columns: minmax(0,1fr) auto!important;
    grid-template-rows: auto auto auto;
    gap: 5px 10px!important; padding: 12px!important;
    border: 1px solid #e0ebe7!important; border-radius: 10px!important;
    margin-bottom: 8px!important; background: #fff!important;
  }
  #view-workflow .workflow-review-row .workflow-code { grid-column: 1; grid-row: 1; }
  #view-workflow .workflow-review-row .workflow-person { grid-column: 1; grid-row: 2; min-width: 0; }
  #view-workflow .workflow-review-row .workflow-location { grid-column: 1; grid-row: 3; min-width: 0; }
  #view-workflow .workflow-review-row .workflow-status { grid-column: 2; grid-row: 1; justify-content: flex-end; }
  #view-workflow .workflow-review-row .workflow-action { grid-column: 2; grid-row: 2 / span 2; align-self: center; justify-content: flex-end; }
  #view-workflow .workflow-review-row .workflow-tech { display: none!important; }
}


/* v1.3.82 — Unified Approved workflow and refined review queue actions. */
#view-workflow .workflow-review-button {
  min-width: 99px; min-height: 36px; padding: 7px 13px; gap: 9px;
  background: #fff; color: #285f56; border: 1px solid #c9dcd6;
  border-radius: 9px; font-size: 11px; font-weight: 750;
  box-shadow: none; transition: background .16s ease, border-color .16s ease, color .16s ease;
}
#view-workflow .workflow-review-button.requires-review {
  background: #eff9f6; color: #087b69; border-color: #9ed8c9;
}
#view-workflow .workflow-review-button:hover,
#view-workflow .workflow-review-button.requires-review:hover {
  background: #dff3ec; color: #056954; border-color: #64beaa;
  filter: none; box-shadow: none;
}
#view-workflow .workflow-review-button svg {
  display: block; width: 14px; height: 14px; flex: 0 0 14px;
  transition: transform .16s ease;
}
#view-workflow .workflow-review-button:hover svg { transform: translateX(2px); }
#view-workflow .workflow-review-button:focus-visible { outline: 2px solid #168f7e; outline-offset: 3px; }
@media (max-width: 620px) {
  #view-workflow .workflow-review-button { min-width: 82px; min-height: 36px; padding: 6px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  #view-workflow .workflow-review-button,
  #view-workflow .workflow-review-button svg { transition: none; }
}

/* v1.3.83 — reversible administrative review, no correction request form. */
#record-modal .record-review-toolbar .review-return-btn {
  min-width: 188px !important;
  border: 1px solid #dbbf88 !important;
  color: #805b22 !important;
  background: #fff9ed !important;
  box-shadow: none !important;
}
#record-modal .record-review-toolbar .review-return-btn:hover {
  background: #fff1d7 !important;
  border-color: #cfa760 !important;
}
#record-modal .record-review-toolbar .review-return-btn:focus-visible {
  outline: 2px solid #bd9a5c !important;
  outline-offset: 2px !important;
}
@media (max-width: 620px) {
  #record-modal .record-review-toolbar { flex-wrap: wrap; gap: 7px; }
  #record-modal .record-review-toolbar > .review-return-btn {
    flex: 1 1 160px !important;
    min-width: 0 !important;
    width: auto !important;
  }
  #record-modal .record-review-toolbar > .record-more-button { flex: 0 0 69px !important; }
}
