.juguang-page { display: grid; gap: 20px; min-width: 0; }
.juguang-page .content-card { min-width: 0; margin: 0; }
.jg-heading, .jg-actions, .jg-filters, .jg-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.jg-heading { justify-content: space-between; margin-bottom: 16px; }
.jg-heading h2, .jg-heading p { margin: 0 0 6px; }
.jg-heading p, .jg-note { color: var(--muted); }
.jg-config { display: grid; gap: 14px; margin-top: 18px; }
.jg-config label, .jg-filters label, .jg-budget-form label { display: grid; gap: 6px; min-width: 0; }
.jg-config input, .jg-filters input, .jg-filters select, .jg-budget-form input { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); color: var(--text); }
.jg-config code { display: block; padding: 12px; border-radius: 10px; background: var(--panel-soft); overflow-wrap: anywhere; user-select: all; }
.jg-status { padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--primary-pale); overflow-wrap: anywhere; }
.jg-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.jg-metrics article { display: grid; gap: 6px; padding: 18px; border: 1px solid var(--line); background: var(--panel-soft); border-radius: 14px; }
.jg-metrics article > span, .jg-metrics small { color: var(--muted); }
.jg-metrics strong { font-size: 24px; overflow-wrap: anywhere; }
.jg-table-wrap { max-width: 100%; overflow-x: auto; margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; }
.jg-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.jg-table th, .jg-table td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; }
.jg-table th { color: var(--muted); font-weight: 500; background: var(--panel-soft); }
.jg-table .jg-name { min-width: 170px; max-width: 300px; white-space: normal; overflow-wrap: anywhere; }
.jg-table small { display: block; color: var(--muted); }
.jg-table button { padding: 7px 12px; margin-right: 6px; }
.jg-pagination { justify-content: flex-end; margin-top: 12px; }
.jg-pagination span { margin-right: auto; color: var(--muted); }
.jg-budget-form { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; margin-top: 18px; }
.jg-budget-form label { flex: 1; min-width: 160px; }
.jg-history { padding: 0; list-style: none; }
.jg-history li { padding: 12px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.jg-history time { color: var(--muted); display: block; font-size: 12px; }
.jg-warning { color: var(--orange); }
@media (max-width: 700px) {
  .jg-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jg-metrics article { padding: 13px; }
  .jg-metrics strong { font-size: 21px; }
  .jg-filters { align-items: stretch; }
  .jg-filters label { flex: 1 1 130px; }
  .jg-heading .jg-actions { width: 100%; }
}
