* { box-sizing: border-box; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft Yahei", sans-serif; background: #0f172a; color: #e2e8f0; } .page { max-width: 1200px; margin: 0 auto; padding: 28px 24px 60px; } .header { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; } .title-main { font-size: 26px; font-weight: 600; } .title-sub { color: #94a3b8; margin-top: 6px; } .actions { display: flex; gap: 12px; align-items: center; } .tabs-bar { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; } .tab-btn { border-radius: 999px; border: 1px solid #1e293b; padding: 8px 16px; font-size: 14px; background: #0b1220; color: #e2e8f0; cursor: pointer; } .tab-btn.active { background: #2563eb; border-color: #2563eb; color: #ffffff; } .tab-page { display: none; } .tab-page.active { display: block; } select, button { border-radius: 8px; border: 1px solid #1e293b; padding: 8px 12px; font-size: 14px; background: #111827; color: #e2e8f0; } button { cursor: pointer; } button.primary { background: #2563eb; border-color: #2563eb; } button.ghost { background: transparent; border-color: #334155; } .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 20px; } .card { padding: 16px; background: #111827; border: 1px solid #1f2937; border-radius: 14px; } .card.accent { background: linear-gradient(135deg, rgba(37, 99, 235, 0.2), rgba(15, 118, 110, 0.2)); border-color: rgba(37, 99, 235, 0.5); } .card-label { font-size: 13px; color: #94a3b8; } .card-value { font-size: 26px; font-weight: 600; margin-top: 8px; } .card-meta { margin-top: 6px; font-size: 12px; color: #64748b; } .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; margin-bottom: 18px; } .panel { background: #0b1220; border-radius: 14px; border: 1px solid #1f2937; padding: 16px; min-height: 260px; display: flex; flex-direction: column; } .panel-title { font-size: 15px; margin-bottom: 12px; } canvas { width: 100%; height: 220px; } .panel-foot { margin-top: auto; font-size: 12px; color: #94a3b8; padding-top: 8px; } .list { display: grid; gap: 10px; } .list-item { background: rgba(148, 163, 184, 0.08); border-radius: 10px; padding: 10px 12px; font-size: 13px; display: flex; justify-content: space-between; gap: 12px; align-items: center; } .list-row { display: flex; flex-direction: column; gap: 4px; } .list-title { font-size: 13px; } .list-meta { font-size: 12px; color: #94a3b8; } .tag { font-size: 12px; color: #38bdf8; } .muted { color: #64748b; } @media (max-width: 768px) { .page { padding: 20px 16px 40px; } .actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; } .tabs-bar { gap: 8px; } }