:root { color: #182026; background: #f5f7f8; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; letter-spacing: 0; } * { box-sizing: border-box; } body { margin: 0; } button, input, textarea { font: inherit; } header { align-items: center; background: #ffffff; border-bottom: 1px solid #d9e0e4; display: flex; justify-content: space-between; min-height: 72px; padding: 14px 24px; } h1, h2, h3, p { margin: 0; } h1 { font-size: 20px; line-height: 1.2; } h2 { font-size: 16px; } h3 { font-size: 13px; margin: 18px 0 8px; text-transform: uppercase; } header p, .section-title span, .empty, .detail-grid span { color: #61717c; } nav { display: flex; gap: 4px; } nav a, button { border-radius: 6px; text-decoration: none; } nav a { color: #36464f; padding: 8px 10px; } nav a.active { background: #17324d; color: #ffffff; } main { margin: 0 auto; max-width: 1280px; padding: 20px 24px 48px; } .band { background: #ffffff; border: 1px solid #d9e0e4; border-radius: 8px; margin-top: 14px; padding: 16px; } .split { display: grid; gap: 16px; grid-template-columns: minmax(360px, 0.9fr) minmax(420px, 1.1fr); } .section-title, .actions { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-bottom: 12px; } .doctor { align-items: center; border: 1px solid #d9e0e4; border-radius: 8px; display: flex; gap: 12px; padding: 10px 12px; } .doctor.pass { background: #eff8f2; border-color: #b9dfc6; } .doctor.warn { background: #fff7e8; border-color: #efcf91; } .doctor.fail { background: #fff0f0; border-color: #e2a4a4; } table { border-collapse: collapse; table-layout: fixed; width: 100%; } th, td { border-bottom: 1px solid #e5eaed; overflow-wrap: anywhere; padding: 9px 8px; text-align: left; vertical-align: middle; } th { color: #5e6d77; font-size: 12px; font-weight: 600; } tr.selected { background: #f0f5fa; } button { background: #17324d; border: 1px solid #17324d; color: #ffffff; cursor: pointer; min-height: 34px; padding: 7px 12px; } button.small { min-height: 28px; padding: 4px 8px; } button.danger { background: #7b2d2d; border-color: #7b2d2d; } button:disabled { background: #c9d1d6; border-color: #c9d1d6; cursor: not-allowed; } .pill { border-radius: 999px; display: inline-block; font-size: 12px; font-weight: 600; min-width: 76px; padding: 3px 8px; text-align: center; } .pill.active { background: #e7f1fb; color: #205a8c; } .pill.blocked { background: #fff0cc; color: #735100; } .pill.done { background: #ddf2e3; color: #236b38; } .pill.failed { background: #f8dddd; color: #8d2b2b; } .pill.neutral { background: #e8edf0; color: #4e5c65; } .detail-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); } .detail-grid div { border-bottom: 1px solid #e5eaed; min-height: 58px; padding: 4px 0 10px; } .detail-grid span, .detail-grid strong { display: block; } .mono, pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; } pre { background: #11191f; border-radius: 6px; color: #d9e8ef; min-height: 160px; overflow: auto; padding: 12px; white-space: pre-wrap; } .approval-actions { display: flex; flex-wrap: wrap; gap: 6px; } .error { color: #8d2b2b; font-weight: 600; } form { display: grid; gap: 14px; } label { color: #4c5b64; display: grid; gap: 6px; font-weight: 600; } input, textarea { border: 1px solid #cbd5da; border-radius: 6px; color: #17232b; min-width: 0; padding: 9px 10px; } textarea { resize: vertical; } .form-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); } #form-status { color: #8d2b2b; } @media (max-width: 900px) { header, .split, .detail-grid, .form-grid { grid-template-columns: 1fr; } header { align-items: flex-start; display: grid; gap: 12px; } nav { flex-wrap: wrap; } }