.dashboard-shell {
  padding:30px 0 48px
}
.dashboard-back {
  font-size:.8125rem;
  text-decoration:none
}
.dashboard-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin:28px 0
}
.dashboard-heading h1 {
  font-size:clamp(2rem,3.6vw,3.4rem);
  letter-spacing:-.04em
}
.dashboard-heading .eyebrow {
  margin-bottom:12px
}
.dashboard-heading p:last-child {
  margin-top:14px;
  font-size:.9375rem
}
.dashboard-shell label {
  display:block;
  font-size:.75rem;
  font-weight:600;
  color:var(--muted)
}
.dashboard-shell select,.dashboard-shell input[type=search] {
  display:block;
  width:100%;
  margin-top:7px;
  min-height:44px;
  border:1px solid #93a798;
  background:white;
  border-radius:0;
  padding:10px 30px 10px 12px;
  font:400 .875rem var(--sans);
  color:var(--ink)
}
.dashboard-switch {
  min-width:220px
}
.dashboard-toolbar {
  display:grid;
  grid-template-columns:180px 200px 1fr auto;
  gap:18px;
  align-items:end;
  border-block:1px solid var(--line);
  padding:20px 0
}
.dashboard-toolbar[hidden] {
  display:none
}
.dashboard-export {
  min-height:44px;
  border:1px solid #93a798;
  background:white;
  color:var(--green);
  padding:10px 16px;
  font-size:.8125rem;
  font-weight:600
}
.dashboard-context {
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:.75rem;
  margin:18px 0
}
.dashboard-context>span:first-child {
  color:var(--green)
}

.dashboard-metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-bottom:24px
}
.dashboard-metric {
  padding:24px;
  background:#f7f9f4;
  min-width:0
}
.dashboard-metric span {
  font-size:.8125rem;
  color:var(--muted)
}
.dashboard-metric strong {
  display:block;
  color:var(--green);
  font-size:clamp(1.7rem,3vw,2.7rem);
  letter-spacing:-.04em;
  line-height:1.2;
  margin:10px 0;
  font-weight:650;
  font-variant-numeric:tabular-nums
}
.dashboard-metric small {
  display:block;
  font-size:.75rem;
  color:var(--muted)
}

.dashboard-panels {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:24px;
  margin-bottom:24px
}
.dashboard-panel {
  border:1px solid var(--line);
  padding:26px;
  min-width:0;
  background:white
}
.dashboard-panel h2 {
  font-size:1.125rem;
  letter-spacing:-.015em;
  margin:0 0 22px;
  font-weight:650
}
.dashboard-chart {
  display:flex;
  flex-direction:column;
  gap:16px
}
.dashboard-bar {
  display:grid;
  grid-template-columns:130px 1fr 68px;
  align-items:center;
  gap:12px;
  font-size:.75rem
}
.dashboard-bar span {
  overflow-wrap:anywhere
}
.dashboard-bar-track {
  display:flex;
  height:12px;
  background:#eaf0e7;
  overflow:hidden
}
.dashboard-bar-track i {
  display:block;
  background:#2b6650;
  height:100%
}
.dashboard-bar-track i:nth-child(2) {
  background:#93af95
}
.dashboard-bar-track i:nth-child(3) {
  background:#bc965a
}
.dashboard-bar b {
  text-align:right;
  font-size:.75rem;
  font-weight:600;
  font-variant-numeric:tabular-nums
}
.dashboard-legend {
  display:flex;
  gap:12px 18px;
  flex-wrap:wrap;
  margin-top:20px;
  font-size:.6875rem;
  color:var(--muted)
}
.dashboard-legend span {
  display:flex;
  align-items:center;
  gap:6px
}
.dashboard-legend i {
  width:8px;
  height:8px;
  display:inline-block
}

.dashboard-detail {
  background:#f3f6ef
}
.dashboard-detail h3 {
  font-size:1.3rem;
  margin-bottom:10px
}
.dashboard-detail p {
  font-size:.875rem;
  line-height:1.6
}
.dashboard-detail dl {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin:22px 0;
  font-size:.8125rem
}
.dashboard-detail dt {
  color:var(--muted)
}
.dashboard-detail dd {
  margin:0;
  text-align:right;
  font-weight:600
}
.dashboard-detail .detail-note {
  border-top:1px solid #c6d5c9;
  padding-top:16px
}
.dashboard-table-wrap {
  overflow-x:auto;
  border:1px solid var(--line);
  margin-bottom:18px
}
.dashboard-table {
  border-collapse:collapse;
  width:100%;
  font-size:.8125rem;
  font-variant-numeric:tabular-nums
}
.dashboard-table th,.dashboard-table td {
  padding:15px 18px;
  border-bottom:1px solid #dbe4da;
  text-align:right;
  white-space:nowrap
}
.dashboard-table th:first-child,.dashboard-table td:first-child {
  text-align:left
}
.dashboard-table thead {
  background:#f5f7f2;
  color:#42584b
}
.dashboard-table th {
  font-weight:550
}
.dashboard-table tbody tr:last-child td,.dashboard-table tbody tr:last-child th {
  border-bottom:0
}
.dashboard-table tbody tr[data-selected=true] {
  background:#f0f5ec
}
.dashboard-table tbody button {
  border:0;
  background:none;
  color:var(--green);
  padding:0;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:4px;
  font-size:inherit;
  font-weight:600;
  min-height:28px
}
.dashboard-table th button {
  border:0;
  background:none;
  color:inherit;
  font-size:inherit;
  font-weight:600;
  padding:0;
  cursor:pointer;
  min-height:28px
}
.dashboard-table caption {
  text-align:left;
  padding:18px;
  font-size:1rem;
  font-weight:600
}
.dashboard-method {
  border-block:1px solid var(--line);
  padding:17px 0;
  font-size:.8125rem
}
.dashboard-method summary {
  cursor:pointer;
  color:var(--green);
  font-weight:600
}
.dashboard-method p {
  margin-top:14px;
  max-width:85ch
}
.dashboard-footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:32px;
  font-size:.875rem
}
.dashboard-empty {
  padding:48px 20px;
  text-align:center;
  border:1px solid var(--line)
}
.workflow-scenario {
  padding:16px 0 24px;
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap
}
.workflow-scenario input {
  accent-color:var(--green);
  max-width:240px
}
.workflow-scenario label {
  font-size:.8125rem
}
.dashboard-trend {
  width:100%;
  height:auto
}
.dashboard-trend text {
  fill:#42584b;
  font:12px var(--sans)
}

@media(max-width:1000px) {
  .dashboard-toolbar {
  grid-template-columns:1fr 1fr
}
.dashboard-panels {
  grid-template-columns:1fr 1fr
}
.dashboard-bar {
  grid-template-columns:100px 1fr 64px
}

}

@media(max-width:730px) {
  .dashboard-heading {
  display:block
}
.dashboard-switch {
  margin-top:22px;
  max-width:320px
}
.dashboard-metric {
  padding:18px 14px
}
.dashboard-panels {
  grid-template-columns:1fr
}
.dashboard-panel {
  padding:22px
}
.dashboard-toolbar {
  gap:16px
}
.dashboard-footer {
  flex-direction:column
}
.dashboard-heading h1 {
  font-size:2.25rem
}
.dashboard-metric strong {
  font-size:1.8rem
}

}

@media(max-width:400px) {
  .dashboard-metrics {
  grid-template-columns:1fr
}
.dashboard-metric {
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  align-items:center
}
.dashboard-metric strong {
  grid-column:2;
  grid-row:1/3;
  margin:0
}
.dashboard-toolbar {
  grid-template-columns:1fr
}
.dashboard-bar {
  grid-template-columns:88px 1fr 60px;
  gap:8px
}
.dashboard-context {
  display:block
}
.dashboard-context span {
  display:block;
  margin-bottom:6px
}
.dashboard-panel {
  padding:18px
}
.dashboard-table th,.dashboard-table td {
  padding:12px
}

}

