.dcm-container{width:min(1180px,92%);margin:auto}.dcm-championship-page{padding:40px 0}.dcm-hero{padding:55px 35px;border-radius:20px;background:linear-gradient(135deg,#101c2d,#07111e);color:#fff;margin-bottom:25px}.dcm-hero h1{font-size:clamp(2.2rem,5vw,4rem);margin:8px 0}.dcm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.dcm-tabs a{padding:10px 15px;border:1px solid #ddd;border-radius:10px}.dcm-championship-page section{margin:45px 0}.dcm-table-wrap{overflow:auto}.dcm-table{width:100%;border-collapse:collapse}.dcm-table th,.dcm-table td{padding:12px;border-bottom:1px solid #ddd;text-align:left}.dcm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dcm-card{padding:18px;border:1px solid #ddd;border-radius:12px}.dcm-category{margin:34px 0}.dcm-group-block{margin:22px 0 36px;padding:22px;border:1px solid rgba(127,127,127,.25);border-radius:12px}.dcm-group-block h3{margin-top:0}.dcm-group-block h4{margin:22px 0 10px}

/* v1.6.0 - calendario completo raggruppato per giornata */
.dcm-calendar{display:grid;gap:18px}.dcm-round-block{margin:0!important;border:1px solid rgba(127,127,127,.25);border-radius:12px;overflow:hidden}.dcm-round-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;background:rgba(127,127,127,.08)}.dcm-round-head strong{font-size:1.05em}.dcm-round-head span{opacity:.75}.dcm-round-head time{margin-left:auto;font-weight:700}.dcm-fixtures{display:grid;gap:0}.dcm-match{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:15px;align-items:center;padding:14px 16px;border-top:1px solid rgba(127,127,127,.18)}.dcm-match:first-child{border-top:0}.dcm-match>strong:first-of-type{text-align:left;justify-self:stretch}.dcm-match>strong:last-of-type{text-align:right;justify-self:stretch}.dcm-score{text-align:center;justify-self:center;min-width:92px}.dcm-score b{font-size:1.08em}.dcm-score small{display:block;text-align:center;opacity:.7;margin-top:2px}
@media(max-width:700px){.dcm-match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:12px 10px}.dcm-match>strong{font-size:.92em}.dcm-score{min-width:70px}.dcm-round-head time{width:100%;margin-left:0}}

/* v1.8.3 - composizione pubblica del girone */
.dcm-group-section{margin-top:26px}.dcm-group-section>h4{margin:0 0 12px}.dcm-team-strip{display:grid;grid-template-columns:repeat(var(--dcm-team-count),minmax(190px,1fr));gap:12px;overflow-x:auto;padding-bottom:5px}.dcm-team-card{min-width:190px;border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:16px;background:rgba(127,127,127,.035)}.dcm-team-card h4{margin:0 0 10px;font-size:1.08em}.dcm-team-venue{margin:0 0 14px;font-size:.92em}.dcm-team-players ul{margin:7px 0 0;padding-left:19px}.dcm-team-players li{margin:3px 0}.dcm-group-calendar{margin-top:30px}.dcm-group-ranking{margin-top:30px}
@media(max-width:700px){.dcm-team-strip{grid-template-columns:repeat(var(--dcm-team-count),minmax(210px,78vw));scroll-snap-type:x proximity}.dcm-team-card{scroll-snap-align:start}.dcm-group-block{padding:15px}}

/* v1.9.0 - invio foglio gara da smartphone */
.dcm-sheet-box{max-width:720px;margin:28px auto;padding:22px;border:1px solid rgba(127,127,127,.25);border-radius:14px;background:rgba(127,127,127,.035)}
.dcm-sheet-box h2{margin-top:0}.dcm-sheet-lead{margin-bottom:20px}.dcm-sheet-form{display:grid;gap:16px}.dcm-sheet-form label{display:grid;gap:6px}.dcm-sheet-form select,.dcm-sheet-form input[type=password],.dcm-sheet-form input[type=text],.dcm-sheet-form input[type=file]{width:100%;max-width:none;box-sizing:border-box;padding:11px;border:1px solid #b8bdc3;border-radius:8px;background:#fff}.dcm-sheet-form input[type=file]{padding:10px}.dcm-sheet-form small{opacity:.75}.dcm-sheet-button{appearance:none;border:0;border-radius:9px;padding:13px 18px;font-weight:700;cursor:pointer;background:#1d2327;color:#fff;font-size:1rem}.dcm-sheet-message{padding:12px 14px;border-radius:8px;margin:14px 0}.dcm-sheet-message.success{background:#edfaef;border:1px solid #8bc59a}.dcm-sheet-message.error{background:#fff0f0;border:1px solid #d98b8b}.dcm-sheet-team{padding:11px 13px;margin:12px 0 18px;border-radius:8px;background:rgba(127,127,127,.1)}
@media(max-width:700px){.dcm-sheet-box{width:auto;margin:18px 0;padding:16px}.dcm-sheet-button{width:100%;min-height:48px}.dcm-sheet-form select,.dcm-sheet-form input{font-size:16px}}
/* v1.9.1 - conferma invio e OCR assistito */
.dcm-sheet-form input[type=file]{color:#1d2327!important;background:#fff!important;opacity:1!important}.dcm-sheet-form input[type=file]::file-selector-button{color:#1d2327;background:#f0f0f1;border:1px solid #8c8f94;border-radius:6px;padding:8px 10px;margin-right:10px;font-weight:600}.dcm-sheet-message.success{font-weight:700;font-size:1.04rem;color:#163d20}.dcm-sheet-button:disabled{opacity:.6;cursor:not-allowed}.dcm-ocr-panel{margin-top:22px;padding:18px;border:1px solid #b8bdc3;border-radius:12px;background:#fff}.dcm-ocr-panel h3{margin-top:0}.dcm-ocr-progress{margin:12px 0;padding:10px;border-radius:8px;background:#f0f6fc}.dcm-ocr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.dcm-ocr-grid label{padding:10px;border:1px solid #dcdcde;border-radius:8px}.dcm-ocr-grid label span{display:flex;align-items:center;gap:6px;margin-top:5px}.dcm-ocr-grid input[type=number]{width:64px!important;padding:8px!important;text-align:center}.dcm-ocr-totals{font-size:1.1rem;padding:12px;background:#f6f7f7;border-radius:8px}.dcm-ocr-warning{font-size:.92rem}
@media(max-width:700px){.dcm-ocr-grid{grid-template-columns:1fr}.dcm-sheet-form input[type=file]{font-size:16px!important}}
/* v1.9.2 - riepilogo OCR e controlli di coerenza */
.dcm-ocr-summary{padding:12px;border-radius:8px;background:#f6f7f7}.dcm-summary-check{margin-top:7px;font-weight:700}.dcm-summary-check.ok{color:#166534}.dcm-summary-check.warn{color:#8a5a00}

/* v1.9.2 test fix: OCR panel must remain readable on dark themes */
.dcm-ocr-panel,
.dcm-ocr-panel h1,.dcm-ocr-panel h2,.dcm-ocr-panel h3,.dcm-ocr-panel h4,
.dcm-ocr-panel p,.dcm-ocr-panel strong,.dcm-ocr-panel label,
.dcm-ocr-panel .dcm-ocr-results,.dcm-ocr-panel .dcm-ocr-warning,
.dcm-ocr-panel .dcm-ocr-totals{color:#1d2327!important;opacity:1!important}
.dcm-ocr-panel{background:#fff!important}
.dcm-ocr-grid label{background:#fff!important;color:#1d2327!important}
.dcm-ocr-grid input[type=number]{background:#fff!important;color:#111!important;border:1px solid #646970!important;opacity:1!important;-webkit-text-fill-color:#111!important}
.dcm-ocr-progress{color:#1d2327!important;background:#f0f6fc!important;opacity:1!important}
.dcm-ocr-totals{color:#1d2327!important;background:#f6f7f7!important}
.dcm-ocr-review-form .dcm-sheet-button,.dcm-ocr-panel .dcm-ocr-start{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Flusso post-upload: rende evidente che il caricamento è concluso */
.dcm-sheet-next-step{margin:18px 0;padding:16px 18px;border-radius:12px;background:#eaf6ff!important;border:2px solid #2387c9!important;color:#10263a!important;text-align:center!important}
.dcm-sheet-next-step strong{display:block!important;font-size:18px!important;line-height:1.35!important;color:#10263a!important}
.dcm-sheet-next-step span{display:block!important;margin-top:7px!important;color:#29475f!important;font-size:14px!important}
@media(max-width:600px){.dcm-sheet-next-step{position:relative;padding:17px 14px}.dcm-sheet-next-step strong{font-size:17px!important}.dcm-ocr-panel{scroll-margin-top:110px}}

/* v1.9.4 - validazione matematica del foglio gara */
.dcm-rule-check{margin-top:8px;font-size:.9rem;font-weight:700}.dcm-rule-check.ok{color:#166534}.dcm-rule-check.warn{color:#b42318}.dcm-score-invalid{border-color:#d63638!important;background:#fff1f0!important}.dcm-score-invalid input[type=number]{border-color:#d63638!important}

/* v1.10.3 - recupero PIN dalla pagina pubblica */
.dcm-pin-recovery{margin-top:14px;padding:14px;border:1px solid #d8dee8;border-radius:10px;background:#f7f9fc;box-sizing:border-box;max-width:100%;overflow:hidden}
.dcm-pin-recovery p{margin:0 0 10px}.dcm-pin-recovery small{display:block;margin-top:8px;line-height:1.4}.dcm-pin-resend-form{margin:0}.dcm-pin-resend-button{max-width:100%}

.dcm-focus-tip{
box-sizing:border-box!important;
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
min-height:0!important;
margin:0 0 14px!important;
padding:13px 14px!important;
background:#eef6ff!important;
border-left:4px solid #2271b1!important;
border-radius:8px!important;
color:#10263a!important;
-webkit-text-fill-color:#10263a!important;
font-size:16px!important;
font-weight:400!important;
line-height:1.5!important;
white-space:normal!important;
overflow-wrap:anywhere!important
}
.dcm-focus-tip strong{
font-weight:700!important;
color:#10263a!important;
-webkit-text-fill-color:#10263a!important
}

@media(max-width:700px){
  .dcm-focus-tip{
    font-size:16px!important;
    line-height:1.45!important;
    padding:12px 13px!important;
  }
}

.dcm-submit-validation{
  box-sizing:border-box!important;
  width:100%!important;
  margin:12px 0!important;
  padding:11px 13px!important;
  border-radius:8px!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
.dcm-submit-validation:empty{display:none!important}
.dcm-submit-validation.warn{
  display:block!important;
  background:#fff8e5!important;
  color:#6b4d00!important;
  border-left:4px solid #dba617!important;
  -webkit-text-fill-color:#6b4d00!important;
}
.dcm-submit-validation.ok{
  display:block!important;
  background:#edfaef!important;
  color:#0a5c24!important;
  border-left:4px solid #00a32a!important;
  -webkit-text-fill-color:#0a5c24!important;
}
.dcm-confirm-review-button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}
