.dashboard-intro { color: var(--muted); margin-bottom: 28px; }
.parking-dashboard { margin-top: 24px; }
.parking-dashboard .billing-header { flex-wrap: wrap; }
.parking-filter { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.parking-filter > span { flex-basis: 100%; font-size: 13px; color: var(--muted); }
.parking-filter label { display: grid; gap: 6px; font-size: 13px; }
.parking-filter input { margin: 0; min-width: 140px; }
.parking-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.parking-daily, .parking-balance { grid-column: 1 / -1; }
.parking-chart-area { min-width: 0; }
.parking-average-tags { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; padding: 16px 12px 4px; }
.parking-average-tag { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 6px; padding: 12px 16px; border: 1px solid #cbdfe9; border-radius: 8px; background: #edf5fa; color: #174566; font-size: 16px; line-height: 1.5; }
.parking-average-tag strong { font-size: 20px; font-weight: 700; }
#parking-status { color: var(--muted); }
.parking-filter select { margin: 0; max-width: 100%; }
@media (max-width: 700px) { .parking-grid { grid-template-columns: 1fr; } .parking-filter { width: 100%; } .parking-filter label { flex: 1; min-width: 0; } .parking-filter input { width: 100%; min-width: 0; } }
.billing-dashboard { background: white; border: 1px solid var(--border); border-radius: 14px; padding: 24px; }
.billing-header { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 20px; }
.billing-header h2, .billing-card h3 { margin: 0 0 8px; }
.billing-header p, .billing-card p { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 0; }
.billing-filter { position: relative; min-width: 220px; }
.billing-filter summary { cursor: pointer; padding: 12px; border: 1px solid var(--border); border-radius: 8px; color: var(--gmv-blue-dark); }
.billing-filter form { position: absolute; right: 0; z-index: 5; background: white; padding: 16px; border: 1px solid var(--border); border-radius: 8px; width: 260px; box-shadow: 0 8px 24px #163b7020; }
#period-options { display: grid; gap: 10px; max-height: 240px; overflow: auto; margin-bottom: 14px; }
#period-options label { display: flex; align-items: center; gap: 10px; }
#period-options input { width: auto; margin: 0; }
.billing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.billing-card { min-width: 0; border: 1px solid var(--border); border-radius: 10px; padding: 20px; }
.billing-chart { height: 350px; width: 100%; }
.billing-period-card { grid-column: 1 / -1; }
.billing-period-scroll { overflow-x: auto; }
#period-chart { min-width: 1200px; height: 430px; }
.billing-dashboard [hidden] { display: none !important; }
#dashboard-status { color: var(--muted); }
@media (max-width: 1100px) { .billing-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .billing-dashboard { padding: 14px; } .billing-header { flex-direction: column; } .billing-filter { width: 100%; } .billing-filter form { width: 100%; } .billing-card { padding: 12px; } }
