.ca-wrap { max-width: 980px; margin: 0 auto; padding: 32px 16px; }
.ca-header { text-align: center; margin-bottom: 18px; }
.ca-title { font-size: 40px; line-height: 1.1; margin: 0 0 10px; font-weight: 300; }
.ca-subtitle { margin: 0 auto; max-width: 720px; color: #6b7280; font-size: 18px; }

.ca-stats{display:grid;grid-template-columns:1fr;gap:12px;margin: 18px 0 18px}
@media (min-width:768px){.ca-stats{grid-template-columns:repeat(3,1fr);}}
.ca-stat{background:#fff;border:1px solid #f3f4f6;border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.04);text-align:center}
.ca-stat-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}
.ca-stat-value{margin-top:10px;font-size:30px;font-weight:800;color:#111827}
.ca-stat-suffix{font-size:12px;color:#9ca3af;font-weight:500;margin-left:6px}

.ca-controls { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:14px; box-shadow:0 1px 2px rgba(0,0,0,.04); margin-bottom:14px; }
.ca-control { display:flex; flex-direction:column; gap:6px; min-width: 220px; flex: 1; }
.ca-label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #6b7280; }
.ca-controls select { width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; background:#f9fafb; }

.ca-card { background:#fff; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.ca-head { display:none; grid-template-columns: 72px 1.6fr .8fr .8fr 1fr 44px; gap:12px; padding:12px 16px; background:#f9fafb; border-bottom:1px solid #e5e7eb; font-size: 12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#6b7280; }
@media (min-width: 768px){ .ca-head { display:grid; } }

.ca-item { border-bottom:1px solid #f3f4f6; }
.ca-item:last-child { border-bottom:0; }

.ca-row { width:100%; border:0; background:#fff; cursor:pointer; text-align:left; display:grid; grid-template-columns: 72px 1.6fr .8fr .8fr 1fr 44px; gap:12px; padding:14px 16px; align-items:center; }
.ca-row:hover { background:#f9fafb; }
.ca-row.is-open { background:#f9fafb; }

.ca-col-num { color:#9ca3af; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 13px; }
.ca-col-days, .ca-col-date, .ca-col-event { color:#6b7280; font-size: 13px; }
.ca-pill { display:inline-block; padding: 4px 8px; border-radius: 999px; background:#f3f4f6; color:#6b7280; font-weight:700; font-size: 12px; }

.ca-col-champ { display:flex; align-items:center; gap:10px; min-width: 0; }
.ca-name { font-weight:800; color:#111827; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.ca-avatar { width:40px; height:40px; border-radius:999px; background:#e5e7eb; overflow:hidden; border:1px solid #e5e7eb; position:relative; display:flex; align-items:center; justify-content:center; flex: 0 0 auto; }
.ca-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.ca-avatar-fallback { color:#6b7280; font-size: 16px; }

.ca-chevron { color:#9ca3af; font-size: 18px; line-height: 1; display:inline-block; transform: translateY(-1px); transition: transform .2s ease; }
.ca-chevron.is-open { transform: rotate(180deg) translateY(1px); }

.ca-panel { max-height:0; opacity:0; overflow:hidden; transition: all .25s ease; }
.ca-panel.is-open { max-height: 650px; opacity: 1; }
.ca-panel-inner { padding: 14px 16px; background:#f9fafb; border-top:1px solid #f3f4f6; }

.ca-mobile-meta { display:grid; grid-template-columns: 1fr 1fr; gap:12px; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid #e5e7eb; }
.ca-mobile-wide { grid-column: 1 / -1; }
@media (min-width:768px){ .ca-mobile-meta { display:none; } }

.ca-meta-label { font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color:#9ca3af; margin-bottom:4px; }
.ca-meta-val { font-weight: 700; color:#111827; }

.ca-notes-title { font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color:#9ca3af; margin-bottom:6px; }
.ca-notes-text { color:#374151; line-height: 1.55; }

.ca-empty { padding: 48px 16px; text-align:center; }
.ca-empty-title { font-weight: 900; color:#111827; }
.ca-empty-sub { color:#9ca3af; margin-top:6px; font-size: 13px; }

@media (max-width: 767px) {
  .ca-row { grid-template-columns: 58px 1fr 44px; }
  .ca-col-days, .ca-col-date, .ca-col-event { display:none; }
}
