body[data-cms-page="analyse-course"] {
  margin: 0;
  font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
}

.ac-hero {
  border-radius: 22px;
  padding: 22px;
  color: #f5fbff;
  background: linear-gradient(125deg, #0f4d8a 0%, #1f6cae 52%, #3a8fd0 100%);
  box-shadow: 0 14px 34px rgba(15, 77, 138, 0.26);
}

.ac-hero h1 {
  margin: 0 0 8px;
}

.ac-hero p {
  margin: 0;
  max-width: 900px;
  opacity: 0.95;
}

.ac-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ac-stack {
  display: grid;
  gap: 12px;
}

.ac-form-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ac-upload {
  border: 1px dashed #9fbfe3;
  border-radius: 14px;
  background: linear-gradient(180deg, #fafdff 0%, #eef5ff 100%);
  padding: 14px;
}

.ac-upload h2,
.ac-block h2,
.ac-results h2 {
  margin: 0 0 8px;
  color: #113f69;
}

.ac-hint {
  margin: 0;
  color: #4f6783;
  font-size: 0.92rem;
}

.ac-meta {
  color: #395978;
  margin: 0;
  font-size: 0.85rem;
}

.ac-summary {
  border: 1px solid #bfd3ee;
  border-radius: 12px;
  background: #ffffff;
  padding: 12px;
}

.ac-summary h3 {
  margin: 0 0 8px;
  color: #154a7d;
}

.ac-summary ul {
  margin: 0;
  padding-left: 18px;
  color: #2f4f72;
}

.ac-summary li {
  margin: 4px 0;
}

.ac-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.ac-btn {
  border: 1px solid #bfd3ee;
  border-radius: 10px;
  padding: 10px 14px;
  background: #f5f9ff;
  color: #12426e;
  font-weight: 700;
  cursor: pointer;
}

.ac-btn.primary {
  border-color: #0f4d8b;
  background: #0f4d8b;
  color: #fff;
}

.ac-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.ac-alert {
  margin: 0;
  padding: 9px 11px;
  border-radius: 10px;
  border: 1px solid #bfd3ee;
  background: #f5f9ff;
  color: #244766;
  font-size: 0.92rem;
}

.ac-alert.error {
  border-color: #e5b1aa;
  background: #fff3f0;
  color: #8a2b1f;
}

.ac-alert.warning {
  border-color: #f3d19e;
  background: #fff8ea;
  color: #8a5a11;
}

.ac-results {
  display: grid;
  gap: 14px;
}

.ac-verdict {
  border: 1px solid #b9d0ec;
  border-radius: 14px;
  padding: 14px;
  background: linear-gradient(180deg, #fafdff 0%, #eff6ff 100%);
}

.ac-verdict-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.ac-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.82rem;
  font-weight: 800;
  border: 1px solid #b5cfee;
  background: #eaf3ff;
  color: #114372;
}

.ac-badge.good {
  background: #eaf9ef;
  border-color: #bde5c7;
  color: #1d6a33;
}

.ac-badge.warn {
  background: #fff7e8;
  border-color: #f2d59d;
  color: #875912;
}

.ac-badge.bad {
  background: #fff1ef;
  border-color: #e9b5af;
  color: #8d3126;
}

.ac-verdict p {
  margin: 8px 0 0;
  color: #244766;
}

.ac-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ac-kpi {
  border: 1px solid #c4d7ef;
  border-radius: 12px;
  background: #fff;
  padding: 10px;
}

.ac-kpi .label {
  font-size: 0.83rem;
  color: #5b7491;
  margin-bottom: 4px;
}

.ac-kpi .value {
  font-size: 1.45rem;
  line-height: 1.1;
  color: #134676;
  font-weight: 800;
}

.ac-section {
  border: 1px solid #bfd3ee;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
}

.ac-section h3 {
  margin: 0 0 10px;
  color: #154a7d;
}

.ac-insight-list {
  display: grid;
  gap: 8px;
}

.ac-insight {
  border: 1px solid #d6e2f3;
  border-radius: 10px;
  padding: 10px;
  background: #f9fbff;
}

.ac-insight.positive {
  border-color: #bfe5c8;
  background: #f2fbf4;
}

.ac-insight.warning {
  border-color: #efd39f;
  background: #fff8ea;
}

.ac-insight.negative {
  border-color: #e9b3ad;
  background: #fff3f2;
}

.ac-insight h4 {
  margin: 0 0 6px;
  color: #1e466e;
  font-size: 1rem;
}

.ac-insight p {
  margin: 0;
  color: #304f6f;
}

.ac-insight p + p {
  margin-top: 6px;
}

.ac-reco-list {
  margin: 0;
  padding-left: 20px;
  color: #2b4b6a;
}

.ac-reco-list li {
  margin: 6px 0;
}

.ac-coach-report {
  display: grid;
  gap: 10px;
}

.ac-coach-item {
  border: 1px solid #d4e2f4;
  border-radius: 10px;
  background: #f9fbff;
  padding: 10px;
}

.ac-coach-item h4 {
  margin: 0 0 6px;
  color: #184d80;
  font-size: 0.98rem;
}

.ac-coach-item p {
  margin: 0;
  color: #2f4f70;
}

.ac-segment-table-wrap {
  overflow-x: auto;
}

.ac-segment-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.ac-segment-table th,
.ac-segment-table td {
  border-bottom: 1px solid #dce7f6;
  text-align: left;
  vertical-align: top;
  padding: 8px 10px;
  color: #2d4f70;
  font-size: 0.9rem;
}

.ac-segment-table th {
  color: #184d80;
  font-weight: 700;
  background: #f5f9ff;
}

.ac-action-grid {
  display: grid;
  gap: 10px;
}

.ac-action-card {
  border: 1px solid #c7d9ef;
  border-radius: 10px;
  background: #f8fbff;
  padding: 10px;
}

.ac-action-card h4 {
  margin: 0 0 6px;
  color: #144777;
}

.ac-action-card p {
  margin: 4px 0;
  color: #2f4f70;
}

.ac-data-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.ac-data-item {
  border: 1px solid #d1def1;
  border-radius: 10px;
  padding: 8px;
  background: #f8fbff;
  color: #254767;
  font-size: 0.9rem;
}

.ac-data-item strong {
  display: block;
  color: #103e69;
}

.ac-chart-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ac-chart {
  border: 1px solid #c7d9ef;
  border-radius: 12px;
  padding: 10px;
  background: #ffffff;
}

.ac-chart h4 {
  margin: 0 0 8px;
  color: #144777;
  font-size: 0.96rem;
}

.ac-chart canvas {
  width: 100%;
  height: 170px;
  display: block;
}

.ac-empty {
  color: #5b7491;
  font-style: italic;
}

[hidden] {
  display: none !important;
}

@media (max-width: 1180px) {
  .ac-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ac-data-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ac-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .ac-grid,
  .ac-form-row,
  .ac-kpi-grid,
  .ac-data-grid,
  .ac-chart-grid {
    grid-template-columns: 1fr;
  }
}
