.dashboard-page {
   margin: 0;
   min-height: 100vh;
   height: auto;
   min-width: 900px;
   background: #f4f2ef;
}

#dashboard {
   width: 100%;
   min-width: 900px;
   box-sizing: border-box;
   padding: 0 0 32px;
}

.dashboard-brand {
   display: flex;
   justify-content: center;
   box-sizing: border-box;
   width: 100%;
   padding: 12px 20px 5px;
   margin: 0;
   background: #fff;
   border-bottom: double 6px #d8c8bd;
   box-shadow: 0 3px 9px #00000036;
}

.dashboard-brand img {
   height: 30px;
}

.dashboard-titlebar {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 0 20px;
}

.dashboard-titlebar h2 {
   margin-bottom: 10px;
   color: #333;
}

.dashboard-titlebar nav {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 10px;
}

.dashboard-controls {
   display: flex;
   align-items: center;
   gap: 10px;
   min-height: 54px;
   padding: 0 16px;
   margin-bottom: 12px;
   background: #fff;
   border: solid 1px rgb(186, 191, 199);
}

.dashboard-scorecards {
   display: grid;
   grid-template-columns: repeat(7, minmax(0, 1fr));
   gap: 12px;
   margin: 8px 16px 16px;
}

.dashboard-scorecard {
   min-width: 0;
   padding: 14px 16px;
   background: #fff;
   border: 1px solid #e2dfdc;
   border-radius: 4px;
   box-shadow: 0 2px 5px #00000012;
}

.dashboard-scorecard h2 {
   margin: 0 0 8px;
   color: #555;
   font-size: 0.85rem;
   font-weight: 400;
}

.dashboard-scorecard p {
   margin: 0;
   color: rgb(66, 110, 221);
   font-size: clamp(1.1rem, 1.6vw, 1.7rem);
   font-weight: 700;
   font-variant-numeric: tabular-nums;
   white-space: nowrap;
}

.dashboard-controls input {
   padding: 5px 7px;
   font: inherit;
}

.dashboard-grouping-control {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-left: auto;
   color: #444;
   white-space: nowrap;
}

.dashboard-grouping-control label {
   display: inline-block;
   color: #444;
   font-size: 0.9rem;
   visibility: visible;
}

.dashboard-grouping-control select {
   padding: 5px 7px;
   font: inherit;
}

#dashboard-range-label {
   color: #555;
   font-size: 0.9rem;
   margin-left: 4px;
}

.dashboard-error {
   padding: 12px;
   color: #842029;
   background: #f8d7da;
   border: 1px solid #f5c2c7;
   border-radius: 4px;
}

.dashboard-charts,
.dashboard-top-lines {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 16px;
   margin-bottom: 16px;
}

.dashboard-map-section {
   margin-right: 16px;
   margin-left: 16px;
   margin-bottom: 16px;
}

#state-map {
   position: relative;
   width: 100%;
   min-height: 360px;
}

#state-map svg {
   display: block;
   width: 100%;
   height: auto;
}

.state-map-state {
   stroke: #fff;
   stroke-width: 1.2;
}

.state-map-legend {
   fill: #555;
   font-size: 13px;
}

.state-map-tooltip {
   position: absolute;
   z-index: 1;
   padding: 7px 10px;
   color: #fff;
   background: #252a34;
   border-radius: 4px;
   box-shadow: 0 2px 8px #00000030;
   font-size: 0.9rem;
   pointer-events: none;
   white-space: nowrap;
}

.dashboard-card {
   min-width: 0;
   padding: 16px;
   background: #fff;
   border: 1px solid #e2dfdc;
   border-radius: 4px;
   box-shadow: 0 2px 5px #00000012;
}

.dashboard-card h2 {
   margin: 0 0 12px;
   font-size: 1rem;
}

.dashboard-card .c3 {
   min-height: 250px;
}

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

.dashboard-table-wrap table {
   width: 100%;
   table-layout: fixed;
   border-collapse: collapse;
   font-size: 0.9rem;
}

.dashboard-table-wrap th,
.dashboard-table-wrap td {
   box-sizing: border-box;
   padding: 8px;
   border-bottom: 1px solid #e8e5e2;
   text-align: left;
   white-space: nowrap;
}

.dashboard-table-wrap th:nth-child(1),
.dashboard-table-wrap td:nth-child(1) {
   width: 13%;
}

.dashboard-table-wrap th:nth-child(2),
.dashboard-table-wrap td:nth-child(2) {
   width: 13%;
   overflow: hidden;
   text-overflow: ellipsis;
}

.dashboard-table-wrap th:nth-child(3),
.dashboard-table-wrap td:nth-child(3) {
   width: 32%;
   overflow: hidden;
   text-overflow: ellipsis;
}

.dashboard-table-wrap th:nth-child(4),
.dashboard-table-wrap td:nth-child(4) {
   width: 18%;
}

.dashboard-table-wrap th:nth-child(5),
.dashboard-table-wrap td:nth-child(5),
.dashboard-table-wrap th:nth-child(6),
.dashboard-table-wrap td:nth-child(6) {
   width: 12%;
}

.dashboard-table-wrap th:last-child,
.dashboard-table-wrap td:last-child {
   text-align: right;
}

.dashboard-charts,
.dashboard-top-lines {
   margin-right: 16px;
   margin-left: 16px;
}

.dashboard-top-lines > .dashboard-card {
   grid-column: 1 / -1;
}

.dashboard-controls,
.dashboard-scorecards,
.dashboard-error,
.dashboard-titlebar {
   margin-right: 16px;
   margin-left: 16px;
}
