
/* =========================================================
   PadelCount Report Template v17.2b
   Scoped CSS: pc172b-*
   ========================================================= */

.pc-report-v16-site-shell {
  background: var(--pc-report-brand-background, #f6fbff);
  padding: 96px 0 72px;
}

.pc172b-section,
.pc172b-index,
.pc172b-brand-strip,
.pc172b-error {
  width: min(1180px, calc(100% - 28px));
  margin-left: auto;
  margin-right: auto;
}

.pc172b-section { margin-top: 42px; }
.pc172b-subsection { margin-top: 34px; }
.pc172b-avoid { break-inside: avoid; page-break-inside: avoid; }

.pc172b-brand-strip {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 22px;
}

.pc172b-brand-logo {
  max-width: 380px;
  max-height: 118px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.pc172b-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: end;
  background: linear-gradient(135deg, var(--pc-report-brand-primary, #102033), var(--pc-report-brand-accent, #0f74ac));
  color: #fff;
  border-radius: 30px;
  padding: 36px;
  box-shadow: 0 22px 52px rgba(16,32,51,.16);
}

.pc172b-hero h1 {
  margin: 10px 0 8px;
  color: #fff;
  font-size: clamp(32px, 4.2vw, 56px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.pc172b-hero p { margin: 0; color: rgba(255,255,255,.92); font-size: 17px; }

.pc172b-hero aside {
  min-width: 270px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.24);
}

.pc172b-hero aside strong,
.pc172b-hero aside span { display: block; color: #fff; }
.pc172b-hero aside span { margin-top: 5px; opacity: .9; }

.pc172b-kicker,
.pc172b-section-title span,
.pc172b-subtitle span,
.pc172b-card-head span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.pc172b-kicker { background: rgba(255,255,255,.16); color: #fff; }

.pc172b-section-title,
.pc172b-subtitle { margin-bottom: 18px; }

.pc172b-section-title span,
.pc172b-subtitle span,
.pc172b-card-head span {
  background: var(--pc-report-brand-accent-soft, rgba(15,116,172,.10));
  color: var(--pc-report-brand-accent, #0f74ac);
}

.pc172b-section-title h2,
.pc172b-subtitle h2 {
  margin: 8px 0;
  color: var(--pc-report-brand-text, #102033);
  line-height: 1.12;
  letter-spacing: -.025em;
}

.pc172b-section-title h2 { font-size: clamp(28px, 3vw, 40px); }
.pc172b-subtitle h2 { font-size: clamp(22px, 2.3vw, 30px); }

.pc172b-section-title p,
.pc172b-subtitle p,
.pc172b-note {
  color: var(--pc-report-brand-text-muted, #5d6b7a);
  line-height: 1.65;
  margin: 0;
}

.pc172b-index {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  margin-top: 18px;
  margin-bottom: 32px;
  background: var(--pc-report-brand-surface, #fff);
  border: 1px solid var(--pc-report-brand-border, rgba(16,32,51,.08));
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(16,32,51,.05);
}

.pc172b-index a {
  text-decoration: none;
  padding: 9px 12px;
  border-radius: 999px;
  background: var(--pc-report-brand-accent-soft, #eef6ff);
  color: var(--pc-report-brand-accent, #0f74ac);
  font-size: 13px;
  font-weight: 800;
}

.pc172b-card,
.pc172b-kpi,
.pc172b-team-card,
.pc172b-warning,
.pc172b-error {
  background: var(--pc-report-brand-surface, #fff);
  border: 1px solid var(--pc-report-brand-border, rgba(16,32,51,.08));
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(16,32,51,.06);
}

.pc172b-card,
.pc172b-team-card { padding: 20px; min-width: 0; }

.pc172b-warning {
  padding: 14px 18px;
  margin-top: 16px;
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
  font-weight: 800;
}

.pc172b-error { padding: 28px; margin-top: 32px; }

.pc172b-player-teams,
.pc172b-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}

.pc172b-team-card h2 {
  margin: 0 0 14px;
  color: var(--pc-report-brand-text, #102033);
  font-size: 22px;
}

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

.pc172b-player-card {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  background: var(--pc-report-brand-surface-soft, #f8fafc);
  border: 1px solid var(--pc-report-brand-border, #e8eef5);
}

.pc172b-player-card img,
.pc172b-player-report-head img {
  width: 62px;
  height: 62px;
  border-radius: 999px;
  object-fit: cover;
  border: 3px solid var(--pc-report-brand-accent, #0f74ac);
  background: #fff;
}

.pc172b-player-card strong,
.pc172b-player-report-head strong { display: block; color: var(--pc-report-brand-text, #102033); }

.pc172b-player-card span,
.pc172b-player-report-head span { display: block; color: var(--pc-report-brand-text-muted, #64748b); font-size: 13px; font-weight: 750; }

.pc172b-video { position: relative; width: 100%; aspect-ratio: 16/9; border-radius: 18px; overflow: hidden; background: #000; }
.pc172b-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.pc172b-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.pc172b-rally-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pc172b-kpi {
  padding: 17px;
}

.pc172b-kpi span {
  display: block;
  margin-bottom: 7px;
  color: var(--pc-report-brand-text-muted, #64748b);
  font-size: 12px;
  font-weight: 850;
}

.pc172b-kpi strong {
  display: block;
  color: var(--pc-report-brand-text, #102033);
  font-size: 25px;
  line-height: 1.08;
}

.pc172b-kpi small {
  display: block;
  margin-top: 7px;
  color: var(--pc-report-brand-accent, #0f74ac);
  font-size: 12px;
  font-weight: 800;
}

.pc172b-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 15px;
}

.pc172b-card-head h3 {
  margin: 0;
  color: var(--pc-report-brand-text, #102033);
  font-size: 20px;
  line-height: 1.25;
}

.pc172b-card-head span { white-space: nowrap; }

.pc172b-card canvas {
  width: 100% !important;
  height: 250px !important;
}

.pc172b-score-split {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.pc172b-score-split div {
  padding: 16px;
  border-radius: 18px;
  background: var(--pc-report-brand-surface-soft, #f8fafc);
  border: 1px solid var(--pc-report-brand-border, #e8eef5);
}

.pc172b-score-split span,
.pc172b-score-split small {
  display: block;
  color: var(--pc-report-brand-text-muted, #64748b);
  font-weight: 800;
}

.pc172b-score-split strong {
  display: block;
  color: var(--pc-report-brand-text, #102033);
  font-size: 38px;
  line-height: 1;
  margin: 6px 0;
}

.pc172b-row-list { display: grid; gap: 8px; }

.pc172b-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 9px 0;
  border-bottom: 1px solid var(--pc-report-brand-border, #e8eef5);
}

.pc172b-row:last-child { border-bottom: 0; }
.pc172b-row span { color: var(--pc-report-brand-text-muted, #475569); font-weight: 750; }
.pc172b-row strong { color: var(--pc-report-brand-text, #102033); text-align: right; }
.pc172b-row small { grid-column: 1/-1; color: var(--pc-report-brand-text-muted, #64748b); font-size: 11px; opacity: .78; }

.pc172b-compare-row {
  border-top: 1px solid var(--pc-report-brand-border, #e8eef5);
  padding-top: 14px;
  margin-top: 14px;
}

.pc172b-compare-row:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }

.pc172b-compare-title b,
.pc172b-pair-title b { color: var(--pc-report-brand-text, #102033); }

.pc172b-bar-row {
  display: grid;
  grid-template-columns: minmax(80px, 140px) 1fr minmax(55px, 105px);
  gap: 10px;
  align-items: center;
  margin: 8px 0;
}

.pc172b-bar-row em {
  font-style: normal;
  color: var(--pc-report-brand-text-muted, #475569);
  font-size: 13px;
  font-weight: 800;
}

.pc172b-bar-row div {
  height: 12px;
  background: #e5edf5;
  border-radius: 999px;
  overflow: hidden;
}

.pc172b-bar-row i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--pc-report-brand-accent, #0f74ac);
}

.pc172b-bar-row strong { color: var(--pc-report-brand-text, #102033); text-align: right; font-size: 13px; }

.pc172b-pair-row {
  padding: 14px 0;
  border-bottom: 1px solid var(--pc-report-brand-border, #e8eef5);
}
.pc172b-pair-row:last-child { border-bottom: 0; }

.pc172b-pair-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.pc172b-pair-title small { color: var(--pc-report-brand-text-muted, #64748b); font-size: 12px; font-weight: 800; }

.pc172b-pair-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

.pc172b-pair-values div {
  padding: 12px;
  border-radius: 14px;
  background: var(--pc-report-brand-surface-soft, #f8fafc);
}

.pc172b-pair-values span { display:block; color: var(--pc-report-brand-text-muted, #64748b); font-size:12px; font-weight:800; }
.pc172b-pair-values strong { display:block; color: var(--pc-report-brand-text, #102033); font-size:20px; margin-top:4px; }

.pc172b-player-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.pc172b-player-report-head {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  background: var(--pc-report-brand-surface-soft, #f8fafc);
  margin-bottom: 14px;
}

.pc172b-mini-block {
  border-top: 1px solid var(--pc-report-brand-border, #e8eef5);
  padding-top: 13px;
  margin-top: 13px;
}

.pc172b-mini-block h4 {
  margin: 0 0 8px;
  color: var(--pc-report-brand-accent, #0f74ac);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.pc172b-ai-section .pc172b-section-title span,
.pc172b-ai-card .pc172b-card-head span {
  background: var(--pc-report-brand-ai-background, #e5e7eb);
  color: var(--pc-report-brand-ai-text, #374151);
}

.pc172b-ai-card {
  background: var(--pc-report-brand-ai-background, #f3f4f6);
  border-color: var(--pc-report-brand-ai-border, #d1d5db);
  box-shadow: 0 10px 26px rgba(17,24,39,.05);
}

.pc172b-ai-text p {
  color: #4b5563;
  line-height: 1.65;
}

@media (max-width: 980px) {
  .pc-report-v16-site-shell { padding-top: 78px; }
  .pc172b-hero,
  .pc172b-player-teams,
  .pc172b-grid-2,
  .pc172b-kpi-grid,
  .pc172b-rally-kpis,
  .pc172b-player-metrics-grid {
    grid-template-columns: 1fr;
  }
  .pc172b-hero { padding: 24px; border-radius: 22px; }
  .pc172b-hero aside { min-width: 0; }
  .pc172b-player-grid { grid-template-columns: 1fr; }
  .pc172b-card canvas { height: 220px !important; }
  .pc172b-row,
  .pc172b-bar-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .pc172b-row strong,
  .pc172b-bar-row strong { text-align: left; }
  .pc172b-pair-values { grid-template-columns: 1fr; }
}

@media print {
  body { background: #fff !important; }
  header, footer, .pc172b-index { display: none !important; }
  .pc-report-v16-site-shell { background: #fff !important; padding: 0 !important; }
  .pc172b-section, .pc172b-brand-strip { width: 100% !important; }
  .pc172b-hero {
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
    border: 1px solid #aaa !important;
    border-radius: 0 !important;
    padding: 14px !important;
  }
  .pc172b-hero h1, .pc172b-hero p, .pc172b-hero aside strong, .pc172b-hero aside span { color: #111 !important; }
  .pc172b-hero aside { background:#fff !important; border-color:#aaa !important; }
  .pc172b-card, .pc172b-kpi, .pc172b-team-card {
    box-shadow: none !important;
    border: 1px solid #bbb !important;
    border-radius: 8px !important;
    padding: 9px !important;
  }
  .pc172b-section { margin-top: 16px !important; }
  .pc172b-section-title h2 { font-size: 20px !important; }
  .pc172b-subtitle h2 { font-size: 17px !important; }
  .pc172b-grid-2, .pc172b-player-teams, .pc172b-player-metrics-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .pc172b-kpi-grid { grid-template-columns: repeat(5,1fr) !important; gap: 6px !important; }
  .pc172b-card canvas { height: 175px !important; }
  .pc172b-video-card { display: none !important; }
}

/* =========================================================
   PadelCount Report Template v17.4 additions
   AI Analysis · Probabilistic Layer + v17.4 dictionary charts
   ========================================================= */

.pc174-wide { grid-column: 1 / -1; }

.pc174-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 14px;
}

.pc174-dict-card {
  background: var(--pc-report-brand-surface-soft, #f8fafc);
  border: 1px solid var(--pc-report-brand-border, #e8eef5);
  border-radius: 18px;
  padding: 14px;
}

.pc174-dict-card h4 {
  margin: 0 0 12px;
  color: var(--pc-report-brand-text, #102033);
  font-size: 15px;
  font-weight: 900;
}

.pc174-hbar {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 9px;
  align-items: center;
  margin: 8px 0;
}

.pc174-hbar span {
  color: var(--pc-report-brand-text-muted, #64748b);
  font-size: 12px;
  font-weight: 800;
}

.pc174-hbar div {
  height: 12px;
  background: rgba(15,116,172,.12);
  border-radius: 999px;
  overflow: hidden;
}

.pc174-hbar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--pc-report-brand-primary, #102033), var(--pc-report-brand-accent, #0f74ac));
  border-radius: inherit;
}

.pc174-hbar strong {
  color: var(--pc-report-brand-text, #102033);
  font-size: 13px;
  font-weight: 900;
  text-align: right;
}

.pc174-hbar small {
  grid-column: 2 / -1;
  color: var(--pc-report-brand-text-muted, #64748b);
  font-size: 11px;
  font-weight: 800;
}

.pc174-ai-section {
  background: linear-gradient(180deg, rgba(15,23,42,.03), rgba(15,23,42,.07));
  border-radius: 28px;
  padding: 22px;
}

.pc174-ai-shell {
  background: #151922;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 22px 55px rgba(15,23,42,.16);
}

.pc174-ai-policy {
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.86);
  border-left: 4px solid rgba(148,163,184,.72);
  border-radius: 16px;
  padding: 14px 16px;
  line-height: 1.55;
  margin-bottom: 16px;
}

.pc174-ai-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.pc174-ai-meta span {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 800;
}

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

.pc174-ai-card {
  background: #1f2530;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 18px;
  overflow: hidden;
}

.pc174-ai-card summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: rgba(255,255,255,.92);
  font-weight: 900;
}

.pc174-ai-card summary::-webkit-details-marker { display: none; }

.pc174-ai-card summary em {
  font-style: normal;
  color: rgba(255,255,255,.54);
  font-size: 11px;
  letter-spacing: .06em;
}

.pc174-ai-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 16px 10px;
}

.pc174-ai-badges span {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(148,163,184,.14);
  color: rgba(226,232,240,.8);
  font-size: 11px;
  font-weight: 800;
}

.pc174-ai-badges .pc174-conf-high { background: rgba(34,197,94,.14); color: #bbf7d0; }
.pc174-ai-badges .pc174-conf-medium { background: rgba(245,158,11,.14); color: #fde68a; }
.pc174-ai-badges .pc174-conf-low { background: rgba(248,113,113,.14); color: #fecaca; }

.pc174-ai-content {
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 14px 16px 16px;
  color: rgba(226,232,240,.82);
  font-size: 14px;
  line-height: 1.62;
}

.pc174-ai-content p { margin: 0 0 10px; }
.pc174-ai-content ul { margin: 8px 0 12px 18px; padding: 0; }
.pc174-ai-content li { margin: 5px 0; }

.pc174-ai-nested {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 14px;
  padding: 10px;
  margin: 9px 0;
}

.pc174-ai-nested > strong {
  display: block;
  color: rgba(255,255,255,.9);
  margin-bottom: 6px;
}

@media (max-width: 980px) {
  .pc174-chart-grid,
  .pc174-ai-grid { grid-template-columns: 1fr; }
  .pc174-hbar { grid-template-columns: 1fr; }
  .pc174-hbar strong { text-align: left; }
  .pc174-hbar small { grid-column: 1; }
  .pc174-ai-section { padding: 12px; border-radius: 18px; }
  .pc174-ai-shell { padding: 12px; border-radius: 18px; }
  .pc174-ai-card:not([open]) { min-height: auto; }
}

/* v17.4 update: Player Shot Dictionary as PC-BAR-002 · A */
.pc174-shot-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pc174-shot-group {
  border-top: 1px solid var(--pc-report-brand-border, #e8eef5);
  padding-top: 12px;
}

.pc174-shot-group:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.pc174-shot-group h5 {
  margin: 0 0 8px;
  color: var(--pc-report-brand-text, #102033);
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.pc174-shot-card .pc174-hbar {
  grid-template-columns: 130px 1fr auto;
  margin: 6px 0;
}

@media(max-width:768px){
  .pc174-shot-card .pc174-hbar {
    grid-template-columns: 1fr;
  }
}

/* v17.5 shot outcome breakdown and rally distribution */
.pc175-missing-breakdown{
  padding:14px;
  border:1px dashed rgba(15,23,42,.22);
  border-radius:14px;
  background:rgba(15,23,42,.035);
}
.pc175-shot-outcome-group .pc174-hbar span{
  font-weight:650;
}
.pc175-shot-indexes{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.pc175-shot-indexes span{
  font-size:.74rem;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:#475569;
}
.pc175-rally-stack{
  display:flex;
  overflow:hidden;
  min-height:74px;
  border-radius:16px;
  background:#e6f1f6;
  border:1px solid rgba(15,23,42,.08);
}
.pc175-rally-stack > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:10px 12px;
  color:white;
  min-width:92px;
}
.pc175-rally-stack > div:nth-child(1){ background:#0f2a3d; }
.pc175-rally-stack > div:nth-child(2){ background:#145f85; }
.pc175-rally-stack > div:nth-child(3){ background:#1884b6; }
.pc175-rally-stack span{
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.02em;
}
.pc175-rally-stack strong{
  font-size:.86rem;
}
@media(max-width:768px){
  .pc175-rally-stack{ flex-direction:column; }
  .pc175-rally-stack > div{ width:100%!important; min-width:0; }
}

/* v17.5.1 player serve double-bar effectiveness */
.pc175-serve-chart-grid{
  align-items:stretch;
}
.pc175-serve-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pc175-serve-double{
  border-top:1px solid var(--pc-report-brand-border, #e8eef5);
  padding-top:12px;
}
.pc175-serve-double:first-of-type{
  border-top:0;
  padding-top:0;
}
.pc175-serve-double h5{
  margin:0 0 8px;
  color:var(--pc-report-brand-text, #102033);
  font-size:12px;
  font-weight:900;
}
.pc175-serve-bar-row{
  display:grid;
  grid-template-columns:92px 1fr auto;
  gap:8px;
  align-items:center;
  margin:5px 0;
}
.pc175-serve-bar-row span{
  font-size:12px;
  font-weight:850;
  color:var(--pc-report-brand-text-muted, #64748b);
}
.pc175-serve-bar-row div{
  height:12px;
  border-radius:999px;
  background:rgba(15,116,172,.12);
  overflow:hidden;
}
.pc175-serve-bar-row i{
  display:block;
  height:100%;
  border-radius:inherit;
}
.pc175-serve-total i{
  background:linear-gradient(90deg, var(--pc-report-brand-primary, #102033), var(--pc-report-brand-accent, #0f74ac));
}
.pc175-serve-won i{
  background:linear-gradient(90deg, #2b7fd5, #58aef2);
}
.pc175-serve-bar-row strong{
  min-width:22px;
  text-align:right;
  font-size:13px;
  font-weight:950;
  color:var(--pc-report-brand-text, #102033);
}
.pc175-serve-won strong,
.pc175-serve-won span{
  color:#1f7fcb;
}
.pc175-serve-double small{
  display:block;
  margin-top:6px;
  color:var(--pc-report-brand-text-muted, #64748b);
  font-size:11px;
  font-weight:750;
}
@media(max-width:768px){
  .pc175-serve-bar-row{
    grid-template-columns:86px 1fr auto;
  }
}

/* v17.5.1 scale fixes: shared bar scales for shot breakdown and serve double bars */
.pc175-scale-note{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  width:auto;
  margin:.35rem 0 .85rem;
  padding:.35rem .65rem;
  border-radius:999px;
  background:rgba(7,74,118,.07);
  color:#385066;
  font-size:.78rem;
  font-weight:700;
}

/* =========================================================
   v17.5.2 AI template upgrade: structured probabilistic layer
   Supports both legacy ai_analysis.sections and flat v17.5 AI schema.
   ========================================================= */
.pc175-ai-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.pc175-ai-kpi{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  border-radius:16px;
  padding:12px;
}
.pc175-ai-kpi span{
  display:block;
  color:rgba(226,232,240,.68);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pc175-ai-kpi strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:23px;
  line-height:1;
}
.pc175-ai-kpi small{
  display:block;
  margin-top:6px;
  color:rgba(226,232,240,.58);
  font-size:11px;
  font-weight:750;
}
.pc175-ai-item{
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);
  border-radius:14px;
  padding:10px 12px;
  margin:10px 0;
}
.pc175-ai-item h5{
  margin:0 0 7px;
  color:rgba(255,255,255,.92);
  font-size:13px;
  font-weight:950;
}
.pc175-ai-simple-list{
  display:grid;
  gap:6px;
  margin:8px 0 10px 18px!important;
}
.pc175-ai-list-block > strong,
.pc175-ai-profile-grid > strong{
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:12px;
  opacity:.9;
}
.pc175-ai-profile-grid{
  display:block;
}
.pc175-ai-meter{
  margin:10px 0 12px;
}
.pc175-ai-meter-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:rgba(226,232,240,.82);
  font-weight:850;
  font-size:12px;
}
.pc175-ai-meter-track{
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  margin-top:6px;
}
.pc175-ai-meter-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#64748b,#38bdf8);
}
.pc175-ai-meter small{
  display:block;
  color:rgba(226,232,240,.55);
  margin-top:5px;
  font-size:11px;
}
.pc174-ai-card summary em{
  flex:0 0 auto;
}
.pc174-ai-content p strong{
  color:rgba(255,255,255,.9);
}
@media(max-width:980px){
  .pc175-ai-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  .pc175-ai-kpi-grid{grid-template-columns:1fr;}
  .pc174-ai-card summary{align-items:flex-start;}
}


/* =========================================================
   PadelCount v17.5 semantic light color system
   Upgrade: team/player palette consistency + printable UI
   ========================================================= */
:root{
  --pc-ui-primary:#3179D3;
  --pc-ui-secondary:#2865B0;
  --pc-ui-deep:#1F4E87;
  --pc-ui-navy:#16365E;
  --pc-ui-ultra:#0C1F36;
  --pc-ui-slate:#47607F;
  --pc-ui-bluegray:#45576E;
  --pc-ui-darkgray:#3D4854;
  --pc-ui-panel:#31353B;
  --pc-ui-black:#272D33;

  --pc-page-bg:#F4F7FA;
  --pc-card-bg:#FFFFFF;
  --pc-card-soft:#F8FAFC;
  --pc-border:#D9E2EC;
  --pc-border-strong:#C7D4E2;
  --pc-text:#17212B;
  --pc-muted:#5E6B78;

  --team-a-primary:#31D0D4;
  --team-a-dark:#1AA2A6;
  --team-a-deep:#12777A;
  --team-a-soft:#E7FAFB;
  --team-a-pale:#A6F0F2;

  --team-b-primary:#D49A31;
  --team-b-dark:#B67F20;
  --team-b-deep:#8C6115;
  --team-b-soft:#FFF7E8;
  --team-b-pale:#F0D29F;

  --player-q-primary:#31D0D4;
  --player-q-dark:#28B3B7;
  --player-q-darker:#1F8E91;
  --player-q-light:#63E0E3;
  --player-q-pale:#A6F0F2;

  --player-w-primary:#3179D3;
  --player-w-dark:#2865B0;
  --player-w-darker:#1F4E87;
  --player-w-light:#5E98E0;
  --player-w-pale:#9FC3F0;

  --player-a-primary:#D49A31;
  --player-a-dark:#B67F20;
  --player-a-darker:#8C6115;
  --player-a-light:#E0B45E;
  --player-a-pale:#F0D29F;

  --player-s-primary:#D4BB31;
  --player-s-dark:#B59D20;
  --player-s-darker:#8A7718;
  --player-s-light:#E3D05F;
  --player-s-pale:#F2E7A3;

  --pc-success:#46D431;
  --pc-warning:#D4AE31;
  --pc-risk:#D43F31;
  --pc-ai-highlight:#D431A1;

  --ai-bg:#F1F4F7;
  --ai-card:#FFFFFF;
  --ai-border:#C8D2DD;
  --ai-accent:#47607F;
  --ai-text:#2D3742;
  --ai-muted:#6E7B88;
}

.pc-report-v16-site-shell,
body.pc-report-v16-page{
  background:var(--pc-page-bg)!important;
  color:var(--pc-text);
}
.pc172b-section,.pc172b-index{ color:var(--pc-text); }
.pc172b-card,.pc172b-team-card,.pc174-dict-card{
  background:var(--pc-card-bg)!important;
  border:1px solid var(--pc-border)!important;
  border-radius:6px!important;
  box-shadow:0 1px 2px rgba(12,31,54,.10)!important;
}
.pc172b-section{ margin-top:32px; }
.pc172b-card{ padding:18px; }
.pc172b-hero{
  background:#fff!important;
  color:var(--pc-text)!important;
  border:1px solid var(--pc-border)!important;
  border-top:4px solid var(--pc-ui-primary)!important;
  border-radius:6px!important;
  box-shadow:0 1px 2px rgba(0,0,0,.12)!important;
}
.pc172b-hero h1{ color:var(--pc-ui-ultra)!important; }
.pc172b-hero p{ color:var(--pc-muted)!important; }
.pc172b-hero aside{
  background:#F8FAFC!important;
  border:1px solid var(--pc-border)!important;
  border-radius:6px!important;
}
.pc172b-hero aside strong,.pc172b-hero aside span{ color:var(--pc-text)!important; }
.pc172b-kicker,.pc172b-section-title span,.pc172b-subtitle span,.pc172b-card-head span{
  border-radius:4px!important;
  background:#EAF2FC!important;
  color:var(--pc-ui-primary)!important;
  border:1px solid #D4E4F7;
}
.pc172b-card-head{ border-bottom:1px solid var(--pc-border); }
.pc172b-section-title h2,.pc172b-subtitle h2,.pc172b-card-head h3{ color:var(--pc-ui-ultra)!important; }
.pc172b-note,.pc172b-section-title p,.pc172b-subtitle p{ color:var(--pc-muted)!important; }

/* Team semantic identity */
.pc-team-A{
  --entity-primary:var(--team-a-primary);
  --entity-dark:var(--team-a-dark);
  --entity-deep:var(--team-a-deep);
  --entity-soft:var(--team-a-soft);
  --entity-pale:var(--team-a-pale);
}
.pc-team-B{
  --entity-primary:var(--team-b-primary);
  --entity-dark:var(--team-b-dark);
  --entity-deep:var(--team-b-deep);
  --entity-soft:var(--team-b-soft);
  --entity-pale:var(--team-b-pale);
}
.pc-player-q{
  --entity-primary:var(--player-q-primary); --entity-dark:var(--player-q-dark); --entity-deep:var(--player-q-darker); --entity-soft:#E7FAFB; --entity-pale:var(--player-q-pale);
}
.pc-player-w{
  --entity-primary:var(--player-w-primary); --entity-dark:var(--player-w-dark); --entity-deep:var(--player-w-darker); --entity-soft:#EEF5FE; --entity-pale:var(--player-w-pale);
}
.pc-player-a{
  --entity-primary:var(--player-a-primary); --entity-dark:var(--player-a-dark); --entity-deep:var(--player-a-darker); --entity-soft:#FFF7E8; --entity-pale:var(--player-a-pale);
}
.pc-player-s{
  --entity-primary:var(--player-s-primary); --entity-dark:var(--player-s-dark); --entity-deep:var(--player-s-darker); --entity-soft:#FFFBE8; --entity-pale:var(--player-s-pale);
}

.pc172b-team-card,.pc172b-player-report,.pc174-shot-card,.pc175-serve-card{
  border-left:4px solid var(--entity-primary,var(--pc-ui-primary))!important;
}
.pc172b-team-card h2,.pc174-dict-card h4,.pc172b-player-report .pc172b-card-head h3{
  color:var(--entity-deep,var(--pc-ui-ultra))!important;
}
.pc172b-team-card{ background:linear-gradient(0deg,#fff,#fff),var(--entity-soft)!important; }
.pc172b-player-card{
  background:var(--entity-soft,#F8FAFC)!important;
  border:1px solid color-mix(in srgb, var(--entity-primary,#3179D3) 42%, #D9E2EC)!important;
  border-radius:6px!important;
}
.pc172b-player-card strong{ color:var(--entity-deep,var(--pc-ui-ultra))!important; }
.pc172b-player-report-head{
  background:var(--entity-soft,#F8FAFC)!important;
  border:1px solid color-mix(in srgb, var(--entity-primary,#3179D3) 35%, #D9E2EC)!important;
  border-radius:6px!important;
}
.pc172b-mini-block{ border-radius:6px!important; border-color:var(--pc-border)!important; background:#fff!important; }
.pc172b-mini-block h4{ color:var(--entity-deep,var(--pc-ui-ultra))!important; border-bottom:2px solid var(--entity-primary,var(--pc-ui-primary)); padding-bottom:6px; }

/* Team and player bars */
.pc172b-bar-row div,.pc174-hbar div,.pc175-serve-bar-row div{
  background:#EDF2F7!important;
  border:1px solid #DDE7F0!important;
  border-radius:4px!important;
  overflow:hidden;
}
.pc172b-bar-row i,.pc174-hbar i,.pc175-serve-total i{
  background:var(--entity-primary,var(--pc-ui-primary))!important;
  border-radius:3px!important;
}
.pc175-serve-won i{
  background:var(--entity-dark,var(--pc-success))!important;
  border-radius:3px!important;
}
.pc175-shot-outcome-group{
  border:1px solid var(--pc-border)!important;
  background:#fff!important;
  border-radius:6px!important;
}
.pc175-shot-outcome-group h5{
  color:var(--entity-deep,var(--pc-ui-ultra))!important;
  border-left:3px solid var(--entity-primary,var(--pc-ui-primary));
  padding-left:8px;
}
.pc175-shot-outcome-group .pc174-hbar:nth-of-type(2) i{ background:var(--entity-dark,var(--pc-success))!important; }
.pc175-shot-outcome-group .pc174-hbar:nth-of-type(3) i{ background:var(--pc-warning)!important; }
.pc175-shot-outcome-group .pc174-hbar:nth-of-type(4) i{ background:var(--pc-risk)!important; }
.pc175-shot-indexes span{
  border-radius:4px!important;
  color:var(--entity-deep,var(--pc-ui-ultra))!important;
  background:var(--entity-soft,#F8FAFC)!important;
  border:1px solid color-mix(in srgb, var(--entity-primary,#3179D3) 40%, #D9E2EC)!important;
}
.pc175-serve-double{
  background:#fff!important;
  border:1px solid var(--pc-border)!important;
  border-left:3px solid var(--entity-primary,var(--pc-ui-primary))!important;
  border-radius:6px!important;
}
.pc175-serve-double h5{ color:var(--entity-deep,var(--pc-ui-ultra))!important; }
.pc175-serve-double small{ color:var(--pc-muted)!important; }
.pc175-scale-note{
  background:var(--entity-soft,#F8FAFC)!important;
  color:var(--entity-deep,var(--pc-ui-ultra))!important;
  border:1px solid color-mix(in srgb, var(--entity-primary,#3179D3) 34%, #D9E2EC)!important;
  border-radius:4px!important;
  padding:7px 9px!important;
}

/* Rally distribution stays structural, readable and printable */
.pc175-rally-stack{
  border-radius:4px!important;
  border:1px solid var(--pc-border)!important;
  background:#fff!important;
  overflow:hidden;
}
.pc175-rally-stack > div{ border-radius:0!important; }
.pc175-rally-stack > div:nth-child(1){ background:#DDE7F0!important; color:#16365E!important; }
.pc175-rally-stack > div:nth-child(2){ background:#9FC3F0!important; color:#0C1F36!important; }
.pc175-rally-stack > div:nth-child(3){ background:#3179D3!important; color:#fff!important; }

/* AI: separate muted layer, not official stats */
.pc172b-ai-card,.pc-ai-layer,[class*="ai-"] .pc172b-card{
  background:var(--ai-card)!important;
  border-color:var(--ai-border)!important;
  border-left:4px solid var(--ai-accent)!important;
  color:var(--ai-text)!important;
}
.pc172b-ai-card .pc172b-card-head span{
  background:#EEF2F6!important;
  color:var(--ai-accent)!important;
  border-color:var(--ai-border)!important;
}
.pc172b-ai-text,.pc172b-ai-text p{ color:var(--ai-text)!important; }
.pc172b-ai-text strong{ color:#1F2933!important; }

/* Reduce excessive softness from previous iterations */
.pc172b-index,.pc172b-index a,.pc172b-warning,.pc172b-row,.pc172b-pair-row{
  border-radius:4px!important;
}
.pc172b-row{ border-color:var(--pc-border)!important; }
.pc172b-row strong{ color:var(--pc-text)!important; }

@media (max-width:768px){
  .pc172b-card{ padding:14px!important; }
  .pc172b-hero{ padding:18px!important; }
  .pc172b-section{ margin-top:24px!important; }
  .pc172b-player-card,.pc172b-player-report-head{ border-radius:6px!important; }
  .pc175-serve-double,.pc175-shot-outcome-group{ padding:10px!important; }
}
@media print{
  body.pc-report-v16-page,.pc-report-v16-site-shell{ background:#fff!important; }
  .pc172b-card,.pc172b-team-card,.pc174-dict-card,.pc172b-hero{
    box-shadow:none!important;
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .pc172b-index{ display:none!important; }
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* Developer-only JSON source labels */
.pc175-dev-source{
  display:block;
  margin-top:4px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:10px;
  line-height:1.25;
  color:#475569;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  border-radius:6px;
  padding:3px 5px;
  word-break:break-word;
}
