* { box-sizing: border-box; } body { margin: 0; font-family: Arial, "Microsoft YaHei", sans-serif; background: #f6f7f9; color: #1f2937; } .shell { width: min(1120px, calc(100% - 32px)); margin: 32px auto; } .narrow { width: min(720px, calc(100% - 32px)); } .topbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; } h1 { margin: 0 0 8px; font-size: 28px; } h2 { font-size: 18px; } p { color: #5b6472; } .panel, .filters, .stats, .report-card, .missing { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; } form { display: grid; gap: 14px; } label { display: grid; gap: 6px; font-weight: 600; } input, textarea, button { font: inherit; border-radius: 6px; border: 1px solid #cfd5df; padding: 10px 12px; } textarea { resize: vertical; } button { background: #2563eb; color: #fff; border: 0; cursor: pointer; } .filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: center; margin: 20px 0; } .check { display: flex; align-items: center; gap: 8px; font-weight: 400; } .stats { display: flex; gap: 20px; margin-bottom: 16px; } .report-list { display: grid; gap: 12px; } .report-card h3 { margin: 0 0 10px; } .report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .field-title { font-weight: 700; margin-bottom: 4px; } .history-panel { margin-top: 18px; } .history-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; } .history-list { display: grid; gap: 12px; } .history-card { border-top: 1px solid #e5e7eb; padding-top: 12px; } .history-card h3 { margin: 0 0 10px; } pre { white-space: pre-wrap; word-break: break-word; margin: 6px 0 12px; font: inherit; color: #374151; } .message.success { color: #047857; } .message.error { color: #b91c1c; } @media (max-width: 760px) { .topbar, .stats, .history-head { display: grid; } .filters, .report-grid { grid-template-columns: 1fr; } }