/* ========== Vars & base ========== */
.inc-cp {
  --cp-bg: #f7f9fc;
  --cp-card: #ffffff;
  --cp-text: #1b1f23;
  --cp-muted: #5f6b7a;
  --cp-border: #e3e8ef;
  --cp-accent: #2563eb;
  --cp-accent-ink: #0b3aa2;
  --cp-success: #16a34a;
  --cp-warning: #d97706;
  --cp-danger: #dc2626;
  --cp-radius: 14px;
  --cp-radius-sm: 10px;
  --cp-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px rgba(16,24,40,.08);
  --cp-shadow-sm: 0 1px 2px rgba(16,24,40,.06), 0 6px 16px rgba(16,24,40,.06);
  color: var(--cp-text);
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px;
  background: var(--cp-bg);
}

@media (prefers-color-scheme: dark) {
  .inc-cp {
    --cp-bg: #0b1220;
    --cp-card: #0f172a;
    --cp-text: #e6e9f0;
    --cp-muted: #9aa4b2;
    --cp-border: #1f2a44;
    --cp-accent: #60a5fa;
    --cp-accent-ink: #1d4ed8;
    --cp-success: #22c55e;
    --cp-warning: #f59e0b;
    --cp-danger: #ef4444;
    --cp-shadow: 0 1px 2px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.35);
    --cp-shadow-sm: 0 1px 2px rgba(0,0,0,.25), 0 6px 16px rgba(0,0,0,.28);
  }
}

.inc-cp h2, .inc-cp h3, .inc-cp h4 { letter-spacing: .2px; margin: 16px 0 10px; }

/* Header */
.inc-cp-header{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--cp-card); border:1px solid var(--cp-border);
  border-radius:var(--cp-radius); padding:14px 16px; margin:14px 0;
  box-shadow:var(--cp-shadow-sm);
}
.inc-cp-user{ font-weight:700; }

/* Notices */
.inc-cp-notice{ padding:12px 14px; margin:10px 0; border-left:4px solid var(--cp-accent);
  background: color-mix(in srgb, var(--cp-accent) 6%, var(--cp-card));
  border:1px solid var(--cp-border); border-left-color:var(--cp-accent); border-radius:var(--cp-radius-sm);
}
.inc-cp-notice.notice-error{ border-left-color:var(--cp-danger); }

/* Forms */
.inc-cp-form label{ display:block; font-weight:600; margin-bottom:6px; }
.inc-cp-form input[type="email"], .inc-cp-form input[type="password"]{
  width:100%; max-width:380px; padding:10px 12px; border-radius:10px;
  border:1px solid var(--cp-border); background:var(--cp-card); color:var(--cp-text);
  outline:none; transition: border .2s, box-shadow .2s;
}
.inc-cp-form input:focus{
  border-color:var(--cp-accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--cp-accent) 20%, transparent);
}
.inc-cp-form .button.button-primary{
  background:var(--cp-accent); border-color:var(--cp-accent);
  box-shadow:var(--cp-shadow-sm); padding:8px 14px; border-radius:999px;
}
.inc-cp-form .button.button-primary:hover{ background:var(--cp-accent-ink); }

/* ========== Table wrapper for horizontal scroll on small screens ========== */
.table-wrap{ overflow:auto; border-radius:var(--cp-radius); position:relative; }

/* subtle scroll hint */
.table-wrap:after{
  content:""; position:absolute; top:0; right:0; width:28px; height:100%;
  pointer-events:none;
  background: linear-gradient(270deg, rgba(0,0,0,0.06), rgba(0,0,0,0));
  mix-blend-mode: multiply;
}
@media (prefers-color-scheme: dark){
  .table-wrap:after{ background: linear-gradient(270deg, rgba(255,255,255,0.08), rgba(0,0,0,0)); }
}

/* ========== Modern table ========== */
.inc-cp-table{
  width:100%;
  border-collapse:separate; border-spacing:0;
  background:var(--cp-card); border:1px solid var(--cp-border);
  border-radius:var(--cp-radius); overflow:hidden; box-shadow:var(--cp-shadow);
  font-size:15px; min-width:760px; /* per evitare che collassi su mobile: scrollerà */
}

.inc-cp-table thead th{
  position:sticky; top:0; z-index:1;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cp-card) 92%, var(--cp-bg)) 0%, var(--cp-card) 100%);
  border-bottom:1px solid var(--cp-border);
  padding:12px 14px; text-align:left; font-weight:700; white-space:nowrap;
}
.inc-cp-table td{ padding:12px 14px; border-bottom:1px solid var(--cp-border); }

.inc-cp-table tbody tr:nth-child(odd){ background: color-mix(in srgb, var(--cp-bg) 45%, var(--cp-card)); }
.inc-cp-table tbody tr:hover{ background: color-mix(in srgb, var(--cp-accent) 7%, var(--cp-card)); transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce){ .inc-cp-table tbody tr:hover{ transform:none; } }

/* badges */
.rank-badge,.score-badge,.badge-warning,.badge-danger{
  align-items:center; gap:6px; padding:6px 10px;
  /*border-radius:999px;*/ font-weight:700; /*border:1px solid var(--cp-border);*/
  /*background: color-mix(in srgb, var(--cp-bg) 50%, var(--cp-card));*/
}
.rank-badge{ color:var(--cp-accent); }
.score-badge{ color:var(--cp-success); }
.badge-warning{ color:var(--cp-warning); }
.badge-danger{ color:var(--cp-danger); }

/* action buttons in table */
.inc-cp-table a.button{ border-radius:999px !important; padding:8px 12px !important; box-shadow:var(--cp-shadow-sm); }
.inc-cp-table a.button.button-primary{ background:var(--cp-accent); border-color:var(--cp-accent); }
.inc-cp-table a.button.button-primary:hover{ background:var(--cp-accent-ink); }

/* Fingers grid */
.inc-cp-fingers{ display:grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap:14px; margin-top:10px; }
.inc-cp-finger{ background:var(--cp-card); border:1px solid var(--cp-border); border-radius:var(--cp-radius-sm); padding:12px; box-shadow:var(--cp-shadow-sm); }

/* Detail tables (inside cards) */
.inc-cp-detail .inc-cp-table{ box-shadow:none; border-radius:var(--cp-radius-sm); min-width:520px; }

/* Back link */
.inc-cp-back a{ display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-weight:600; color:var(--cp-accent); }
.inc-cp-back a:hover{ color:var(--cp-accent-ink); }

/* ========== RESPONSIVE BREAKPOINTS ========== */

/* <= 900px: shrink text & paddings */
@media (max-width: 900px){
  .inc-cp{ padding:6px; }
  .inc-cp-table{ font-size:14px; }
  .inc-cp-table thead th, .inc-cp-table td{ padding:10px 12px; }
  .inc-cp-header{ padding:10px 12px; }
}

/* <= 720px: lista gare – nascondi colonna Divisione (3) per guadagnare spazio */
@media (max-width: 720px){
  .inc-cp-competitions .inc-cp-table{ min-width:640px; }
  .inc-cp-competitions .inc-cp-table th:nth-child(3),
  .inc-cp-competitions .inc-cp-table td:nth-child(3){ display:none; }
}

/* <= 600px: lista gare – nascondi anche Posizione (4) */
@media (max-width: 600px){
  .inc-cp-competitions .inc-cp-table{ min-width:560px; }
  .inc-cp-competitions .inc-cp-table th:nth-child(4),
  .inc-cp-competitions .inc-cp-table td:nth-child(4){ display:none; }
}

/* <= 480px: lista gare – nascondi Data (1), restano Titolo, Totale, Azione */
@media (max-width: 480px){
  .inc-cp-competitions .inc-cp-table{ min-width:480px; }
  .inc-cp-competitions .inc-cp-table th:nth-child(1),
  .inc-cp-competitions .inc-cp-table td:nth-child(1){ display:none; }
}

/* <= 540px: dettaglio – mantieni tutte le colonne ma riduci padding e permetti scroll */
@media (max-width: 540px){
  .inc-cp-detail .table-wrap{ overflow:auto; }
  .inc-cp-detail .inc-cp-table{ min-width:520px; }
}

/* Print */
@media print{
  .inc-cp-header, .inc-cp-back, .button{ display:none !important; }
  .inc-cp-table{ box-shadow:none; }
}


.inc-text-center { text-align: center; }

