.af-v29-page { background:linear-gradient(180deg,#fbfdff 0%,#f5f8fc 100%); }
.af-v29-system-shell { margin-top:18px; display:grid; gap:18px; }
.af-v29-hero {
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:22px;
  padding:24px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  box-shadow:0 14px 34px rgba(15,45,80,.055);
}
.af-v29-hero h1 { margin:0; font-size:clamp(2rem,3vw,2.8rem); letter-spacing:-.04em; }
.af-v29-hero p { margin:10px 0 0; color:#667085; }
.af-v29-score { min-width:210px; border-radius:18px; padding:18px; background:#f7fbff; border:1px solid #dbe9ff; }
.af-v29-score strong { display:block; font-size:1.6rem; letter-spacing:-.04em; }
.af-v29-score span { color:#667085; }
.af-v29-score.is-ok { background:#eefbf5; border-color:#ccefdc; color:#147a50; }
.af-v29-score.is-warning { background:#fff8ed; border-color:#f8dfb9; color:#b54708; }
.af-v29-score.is-error { background:#fff4f2; border-color:#ffd6d0; color:#b42318; }
.af-v29-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.af-v29-summary-grid article,
.af-v29-card {
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:18px;
  padding:20px;
  box-shadow:0 14px 34px rgba(15,45,80,.055);
}
.af-v29-summary-grid span { display:block; color:#667085; font-size:.86rem; }
.af-v29-summary-grid strong { display:block; margin-top:8px; font-size:2rem; letter-spacing:-.05em; }
.af-v29-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.af-v29-card-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px; }
.af-v29-card h2 { margin:0; font-size:1.2rem; }
.af-v29-check-list { display:grid; gap:10px; }
.af-v29-check {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  border-top:1px solid #edf2f8;
  padding-top:12px;
}
.af-v29-check:first-child { border-top:0; padding-top:0; }
.af-v29-check i { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; }
.af-v29-check.is-ok i { background:#eefbf5; color:#147a50; }
.af-v29-check.is-warning i { background:#fff8ed; color:#b54708; }
.af-v29-check.is-error i { background:#fff4f2; color:#b42318; }
.af-v29-check strong { display:block; }
.af-v29-check span { color:#667085; font-size:.9rem; }
.af-v29-muted { color:#667085; }
.af-v29-events-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.af-v29-events-table th,
.af-v29-events-table td { padding:10px 8px; border-top:1px solid #edf2f8; text-align:left; vertical-align:top; }
.af-v29-events-table th { color:#667085; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.af-v29-badge { display:inline-flex; border-radius:999px; padding:5px 9px; font-weight:800; font-size:.78rem; background:#f7fbff; color:#113e7b; border:1px solid #dbe9ff; }
.af-v29-badge.is-error { background:#fff4f2; color:#b42318; border-color:#ffd6d0; }
.af-v29-badge.is-warning { background:#fff8ed; color:#b54708; border-color:#f8dfb9; }
@media (max-width: 980px) {
  .af-v29-hero { flex-direction:column; }
  .af-v29-summary-grid,
  .af-v29-grid { grid-template-columns:1fr; }
  .af-v29-score { min-width:0; width:100%; }
}
