:root{
  --zt-red:#b51f2a;
  --zt-dark:#262626;
  --zt-light:#f7f7f7;
  --zt-border:#d9d9d9;
  --zt-ok:#dff3e2;
  --zt-warn:#fff4ce;
  --zt-error:#fde2e2;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:#222;line-height:1.45}
a{color:var(--zt-red);text-decoration:none}a:hover{text-decoration:underline}
.zt-topbar{background:var(--zt-red);color:#fff;padding:12px 16px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.zt-brand a{color:#fff;font-weight:700;font-size:20px;text-decoration:none}
.zt-nav{display:flex;gap:10px;flex-wrap:wrap}.zt-nav a{color:#fff;background:rgba(255,255,255,.13);padding:7px 10px;border-radius:8px;text-decoration:none}.zt-nav a:hover{background:rgba(255,255,255,.24)}
.zt-container{max-width:1180px;margin:0 auto;padding:18px 14px 42px}.zt-footer{border-top:1px solid var(--zt-border);padding:14px;text-align:center;color:#666;background:#fafafa}
.zt-card{border:1px solid var(--zt-border);border-radius:12px;padding:16px;margin:14px 0;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.zt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.zt-muted{color:#666}.zt-small{font-size:13px}.zt-danger{color:#9b111e;font-weight:700}.zt-success{color:#176b2c;font-weight:700}
.zt-btn,.zt-button,button,input[type=submit]{display:inline-block;border:0;background:var(--zt-red);color:#fff;padding:10px 14px;border-radius:9px;cursor:pointer;font-weight:700;text-decoration:none}.zt-btn.secondary,.zt-button.secondary{background:#444}.zt-btn.light{background:#eee;color:#222}.zt-btn:hover,.zt-button:hover{text-decoration:none;filter:brightness(.95)}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--zt-border);border-radius:8px;font:inherit}label{display:block;margin:10px 0 5px;font-weight:700}.zt-form-row{margin-bottom:10px}.zt-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
table{width:100%;border-collapse:collapse;margin:12px 0;background:#fff}th,td{border:1px solid var(--zt-border);padding:9px;text-align:left;vertical-align:top}th{background:#f1f1f1}.zt-table-wrap{overflow-x:auto}
.zt-flash{padding:11px 13px;border-radius:9px;margin:10px 0;border:1px solid var(--zt-border)}.zt-flash-success{background:var(--zt-ok)}.zt-flash-warning{background:var(--zt-warn)}.zt-flash-error{background:var(--zt-error)}.zt-flash-info{background:#e8f1ff}
.zt-check-ok{background:var(--zt-ok)}.zt-check-warn{background:var(--zt-warn)}.zt-check-error{background:var(--zt-error)}
.zt-badge{display:inline-block;border-radius:999px;padding:3px 8px;background:#eee;font-size:12px;font-weight:700}.zt-badge.ok{background:var(--zt-ok)}.zt-badge.warn{background:var(--zt-warn)}.zt-badge.error{background:var(--zt-error)}
@media (max-width:680px){.zt-topbar{align-items:flex-start}.zt-nav a{padding:8px}.zt-container{padding:12px 10px}th,td{font-size:14px}}

/* v0.2 - spelerspool en beschikbaarheid */
.zt-form-narrow{max-width:520px}
.zt-filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}
.zt-inline-form{display:grid;grid-template-columns:minmax(160px,220px) minmax(180px,1fr) auto;gap:8px;align-items:center}
.zt-inline-form input,.zt-inline-form select{min-width:0}
.zt-grid-small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.zt-mini-card{border:1px solid var(--zt-border);border-radius:10px;padding:12px;background:#fafafa;display:flex;flex-direction:column;gap:4px}
.zt-mini-card strong{font-size:28px;line-height:1;color:var(--zt-red)}
.zt-mini-card span{color:#555;font-size:13px}
.zt-row-selectable{background:#f4fff6}
@media (max-width:760px){.zt-inline-form{grid-template-columns:1fr}.zt-inline-form button{width:100%}}

/* v0.3 - teams samenstellen */
.zt-row-selected{background:#eef5ff}
.zt-checkbox-line{display:flex;gap:8px;align-items:center;font-weight:400;margin:0 0 6px}
.zt-checkbox-line input[type=checkbox]{width:auto}
.zt-slot-type{min-width:130px}


/* v0.3.1a - zichtbare naam VTV Zomergasten in header/footer */
.zt-topbar{
  background:linear-gradient(#d90416,#8b000c);
  box-shadow:0 2px 12px rgba(0,0,0,.22);
}
.zt-brand a{
  color:#fff;
  font-weight:900;
  font-size:clamp(1.15rem,2.5vw,1.85rem);
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.zt-footer span{
  font-weight:600;
}
@media (max-width:680px){
  .zt-brand a{
    white-space:normal;
    line-height:1.05;
  }
}



/* v0.5a - teamopstellingen A/B/C/D en W/X/Y/Z */
.zt-lineup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0}
.zt-lineup-code-card{border:1px solid var(--zt-border);border-radius:10px;padding:12px;background:#fafafa}
.zt-lineup-code-card label{margin-top:0}
.zt-lineup-form select{background:#fff}
@media (max-width:680px){.zt-lineup-grid{grid-template-columns:1fr}.zt-lineup-code-card{padding:10px}}/* v0.7c - Senioren-achtige uitslaginvoer + lokale preview + cache/inline-hotfix */
.zt-match-card{background:#fff;border:1px solid var(--zt-border);border-radius:16px;padding:16px;box-shadow:0 2px 12px rgba(0,0,0,.08);margin:16px 0}
.zt-match-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.zt-match-card-head h2{margin:.1rem 0 .55rem;font-size:1.45rem;color:#222}
.zt-match-meta{line-height:1.55;color:#333}
.zt-match-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start}
.zt-page-help{border:1px solid #f0d98a;background:#fff9df;border-radius:10px;padding:11px 13px;margin:10px 0}
.zt-score-compact-form{max-width:940px}
.zt-score-compact-grid{display:grid;grid-template-columns:minmax(150px,210px) repeat(var(--zt-games),minmax(58px,86px));gap:9px 11px;align-items:center;overflow-x:auto;padding:5px 0;margin:12px 0}
.zt-score-game-head{text-align:center;font-weight:900;color:#8b000c;font-size:.95rem}
.zt-score-player-name{background:#9b0011;color:#fff;font-weight:900;border-radius:7px;padding:10px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zt-score-input{width:100%;min-width:58px;text-align:center;font-size:1.12rem;font-weight:800;padding:9px 5px;border:1px solid #bbb;border-radius:8px;background:#fff}
.zt-score-input.zt-game-winner,.zt-score-input.zt-live-score-saved.zt-game-winner{border:2px solid #168a16;background:#f0fff0}
.zt-score-input.zt-live-score-saved{background:#eef7ff;border-color:#94bce8}
.zt-live-status-list{display:grid;gap:3px;margin:8px 0}
.zt-score-compact-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.zt-result-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;margin:12px 0}
.zt-result-pill{display:flex;flex-direction:column;gap:2px;border:1px solid var(--zt-border);border-radius:10px;padding:9px 10px;background:#fff;color:#222;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.zt-result-pill:hover{text-decoration:none;border-color:#b51f2a;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.zt-result-pill strong{font-size:.95rem}.zt-result-pill span{font-size:.78rem;color:#666}
.zt-result-pill.active{background:#9b0011;color:#fff;border-color:#9b0011}.zt-result-pill.active span{color:#ffe8e8}
.zt-result-pill.double{border-style:dashed}.zt-result-pill.blocked{background:#fff9df}.zt-result-pill.done{background:#e9f7ec}.zt-result-pill.live{background:#eef7ff}
.zt-technical-details{margin-top:10px}.zt-technical-details summary{cursor:pointer;font-weight:700;color:#555}.zt-technical-details[open]{border-top:1px solid var(--zt-border);padding-top:10px}
.zt-preview-selector{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.zt-preview-selector select{min-width:280px}
.zt-dev-preview-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(330px,430px);gap:18px;align-items:start}
.zt-preview-frame-card{border:1px solid var(--zt-border);border-radius:14px;background:#fafafa;padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.zt-preview-frame-card h2{margin-top:0}.zt-preview-frame-wrap{background:#fff;border:1px solid #ccc;border-radius:12px;overflow:hidden;margin:8px auto 0}.zt-preview-frame{display:block;border:0;width:100%;height:760px;background:#fff}.zt-preview-phone{max-width:430px;border:10px solid #222;border-radius:30px;padding:10px;background:#111}.zt-preview-phone .zt-preview-frame-wrap{border-radius:18px;overflow:hidden}.zt-preview-phone .zt-preview-frame{width:390px;max-width:100%;height:760px}
@media (max-width:900px){.zt-dev-preview-grid{grid-template-columns:1fr}.zt-preview-frame{height:680px}}
@media (max-width:760px){.zt-match-card-head{display:block}.zt-match-card-actions{justify-content:flex-start;margin-top:10px}.zt-score-compact-grid{grid-template-columns:minmax(105px,130px) repeat(var(--zt-games),minmax(48px,58px));gap:7px 7px}.zt-score-player-name{white-space:normal;font-size:.9rem;padding:8px 7px}.zt-score-input{min-width:48px;font-size:1rem;padding:8px 4px}.zt-result-pills{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}}

/* v0.7c cache-hotfix marker: zt_style.css hoort geladen te worden met ?v=0.7c-20260707. */

/* v0.10 - centraal afrondscherm en voorlopig/definitief totaalklassement */
.zt-standings-headline{display:flex;justify-content:space-between;gap:20px;align-items:center;border-width:2px}
.zt-standings-headline.provisional{background:linear-gradient(135deg,#fff9df,#fff)}
.zt-standings-headline.final{background:linear-gradient(135deg,#e9f7ec,#fff)}
.zt-standings-headline h1{margin:.35rem 0 .25rem}
.zt-leader-card{min-width:240px;border:1px solid var(--zt-border);border-radius:14px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:4px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.zt-leader-card span,.zt-leader-card small{color:#666}.zt-leader-card strong{font-size:1.55rem;color:var(--zt-red)}
.zt-standings-table td,.zt-standings-table th{white-space:nowrap}.zt-standings-leader-row{background:#fff7d8}
.zt-ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.zt-ranking-card{margin-top:0}.zt-ranking-top{border-top:5px solid #2a8a3a}.zt-ranking-bottom{border-top:5px solid #b51f2a}
.zt-player-ranking-table td,.zt-player-ranking-table th{font-size:14px}
.zt-publication-switch{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px;border:1px solid var(--zt-border);border-radius:12px;background:#fafafa}
.zt-finalize-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px}
.zt-finalize-match-grid .zt-match-card{margin:0}.zt-finalize-match-grid h3{margin:.4rem 0;font-size:1.25rem}
.zt-team-score-card{min-width:135px;border-radius:12px;background:#9b0011;color:#fff;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.zt-team-score-card strong{font-size:2rem;line-height:1}.zt-team-score-card span{font-size:.8rem;margin-top:4px}
.zt-team-match-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px}
.zt-team-match-score-card{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;border:1px solid var(--zt-border);border-radius:12px;padding:12px;background:#fafafa}
.zt-team-match-score-card>div:first-child{text-align:right}.zt-team-match-score-card>div:last-child{text-align:left}.zt-team-match-score-card span{display:block;color:#666;font-size:.8rem}
.zt-team-match-score{text-align:center!important;border-radius:10px;background:#9b0011;color:#fff;padding:8px 12px;min-width:90px}.zt-team-match-score strong{font-size:1.45rem}.zt-team-match-score span{color:#ffe8e8}
.zt-auto-refresh-note{text-align:center;background:#eef7ff}
@media(max-width:850px){.zt-ranking-grid{grid-template-columns:1fr}.zt-finalize-match-grid{grid-template-columns:1fr}.zt-standings-headline{display:block}.zt-leader-card{margin-top:14px;min-width:0}.zt-team-match-score-grid{grid-template-columns:1fr}}
@media(max-width:560px){.zt-team-match-score-card{grid-template-columns:1fr;text-align:center}.zt-team-match-score-card>div:first-child,.zt-team-match-score-card>div:last-child{text-align:center}.zt-standings-table td,.zt-standings-table th{white-space:normal}.zt-finalize-match-grid .zt-match-card{padding:12px}}
.zt-finalize-match-grid .zt-mini-card strong{font-size:1rem;line-height:1.25;overflow-wrap:anywhere}

/* v0.10a - herkenbare pilotweergave en selecteerbare spelersbijdragen */
.zt-player-contribution-group{border:1px solid var(--zt-border);border-radius:14px;padding:14px;margin:16px 0;background:#fafafa}
.zt-player-contribution-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.zt-player-contribution-head h3{margin:.1rem 0 .35rem}
.zt-player-selector{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.zt-player-selector-item{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--zt-border);border-radius:999px;padding:7px 11px;background:#fff;font-weight:700;cursor:pointer}
.zt-player-selector-item input[type=checkbox]{width:auto;margin:0}
.zt-player-contribution-table td,.zt-player-contribution-table th{font-size:14px;white-space:nowrap}
.zt-player-contribution-table tr[hidden]{display:none}
@media(max-width:680px){
  .zt-player-contribution-group{padding:11px}
  .zt-player-contribution-head{display:block}
  .zt-player-contribution-head .zt-actions{margin-top:10px}
  .zt-player-contribution-table td,.zt-player-contribution-table th{white-space:normal}
}

/* v0.11 - Fase 6B: officiële eindcontrole, uitval en PDF-documenten */
button:disabled,input[type=submit]:disabled{opacity:.48;cursor:not-allowed;filter:none}
.zt-official-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.zt-official-head h1{margin:.4rem 0 .3rem}
.zt-validation-list{margin:.6rem 0 0;padding-left:1.35rem}.zt-validation-list li{margin:.35rem 0}
.zt-official-lineups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.zt-official-lineup-card{border:1px solid var(--zt-border);border-radius:12px;padding:13px;background:#fafafa}
.zt-official-lineup-card h3{margin-top:0}
.zt-official-lineup-row{display:grid;grid-template-columns:34px minmax(170px,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #e5e5e5}
.zt-official-lineup-row:first-of-type{border-top:0}
.zt-official-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
.zt-official-item-card{border:1px solid var(--zt-border);border-radius:12px;padding:13px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.zt-official-item-card.has-error{border-color:#c42431;background:#fff8f8}
.zt-official-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.zt-official-item-facts{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}.zt-official-item-facts span{background:#f2f2f2;border-radius:7px;padding:4px 7px;font-size:12px}
.zt-comment-list{margin-top:14px}
.zt-pdf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:14px 0}
.zt-pdf-card{border:1px solid var(--zt-border);border-radius:12px;padding:14px;background:#fafafa}.zt-pdf-card h3{margin-top:0}
code{overflow-wrap:anywhere}
@media (max-width:760px){
  .zt-official-head{display:block}.zt-official-head .zt-team-score-card{margin-top:12px}
  .zt-official-lineups{grid-template-columns:1fr}
  .zt-official-lineup-row{grid-template-columns:30px 1fr}.zt-official-lineup-row .zt-badge{grid-column:1/-1;justify-self:start}
  .zt-official-item-grid{grid-template-columns:1fr}
  .zt-official-item-card .zt-btn{width:100%;text-align:center}
}

/* v0.12 - centrale wedstrijdbegeleiding van A tot Z */
.zt-flow-start-card{border:2px solid var(--zt-red);background:linear-gradient(135deg,#fff7f8,#fff)}
.zt-flow-intro,.zt-flow-evening-head,.zt-flow-match-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.zt-flow-intro h1,.zt-flow-evening-head h2,.zt-flow-match-head h2{margin-top:0}
.zt-flow-match-list{display:grid;gap:16px}.zt-flow-match-card{border-width:2px}.zt-flow-match-card.is-cancelled{opacity:.72}
.zt-flow-progress{height:10px;background:#ececec;border-radius:999px;overflow:hidden;margin:14px 0}.zt-flow-progress span{display:block;height:100%;background:var(--zt-red);border-radius:999px;transition:width .2s ease}
.zt-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.zt-flow-step{display:flex;gap:10px;align-items:center;border:1px solid var(--zt-border);border-radius:12px;padding:11px;background:#fafafa;min-height:72px}
.zt-flow-step.done{background:#e9f7ec;border-color:#8bc397}.zt-flow-step.active{background:#fff7d8;border-color:#d9b741}.zt-flow-step.pending{background:#f6f6f6;color:#666}
.zt-flow-step-no{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#ddd;font-weight:800}
.zt-flow-step.done .zt-flow-step-no{background:#2a8a3a;color:#fff}.zt-flow-step.active .zt-flow-step-no{background:#9b0011;color:#fff}
.zt-flow-step strong,.zt-flow-step small{display:block}.zt-flow-step small{margin-top:4px;line-height:1.3}
.zt-flow-primary-action{margin:16px 0}.zt-flow-primary-action .zt-btn,.zt-flow-primary-action button{font-size:1.03rem;padding:12px 17px}
.zt-flow-result-note{margin-top:12px}.zt-flow-secondary-actions{margin-top:12px}
@media(max-width:850px){.zt-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.zt-flow-intro,.zt-flow-evening-head,.zt-flow-match-head{display:block}.zt-flow-intro .zt-actions,.zt-flow-evening-head .zt-actions,.zt-flow-match-head .zt-team-score-card{margin-top:12px}}
@media(max-width:560px){.zt-flow-steps{grid-template-columns:1fr}.zt-flow-primary-action .zt-btn,.zt-flow-primary-action button{width:100%;text-align:center}.zt-flow-step{min-height:0}}

/* v0.13 - Fase 6C: wedstrijdarchief, documentversies, correcties en verzending */
.zt-archive-title-row,.zt-archive-card-head,.zt-document-proof{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.zt-archive-title-row h1{margin:.35rem 0}.zt-archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.zt-archive-card{margin:0;border-width:2px}.zt-archive-card h3{margin:.65rem 0 .35rem}.zt-archive-score{display:flex;align-items:center;gap:12px;border-radius:12px;background:#9b0011;color:#fff;padding:11px 13px;margin:12px 0}.zt-archive-score strong{font-size:1.65rem;line-height:1}.zt-archive-score span{font-size:.84rem}.zt-archive-facts{display:grid;gap:5px;border:1px solid var(--zt-border);border-radius:10px;background:#fafafa;padding:10px;margin:10px 0;font-size:.88rem}.zt-archive-filter-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.zt-document-proof{border:1px solid var(--zt-border);border-radius:12px;background:#fafafa;padding:13px}.zt-document-proof>div{flex:1 1 220px}.zt-document-proof code{font-size:.78rem}.zt-mail-preview{margin-top:10px;border:1px solid var(--zt-border);border-radius:10px;padding:13px;background:#fff;white-space:normal}.zt-contact-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px}.zt-contact-option{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--zt-border);border-radius:10px;padding:10px;background:#fafafa;font-weight:400;margin:0}.zt-contact-option input{width:auto;margin-top:4px}.zt-contact-option strong,.zt-contact-option small{display:block}.zt-contact-option small{margin-top:3px;color:#666}.zt-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.zt-form-grid label{margin-top:0}
@media(max-width:600px){.zt-archive-grid{grid-template-columns:1fr}.zt-archive-title-row,.zt-document-proof{display:block}.zt-archive-title-row .zt-actions,.zt-document-proof>div+div{margin-top:12px}.zt-archive-card .zt-actions .zt-btn,.zt-archive-card .zt-actions button{width:100%;text-align:center}.zt-contact-selector{grid-template-columns:1fr}}

/* V0.13h - begeleide officiële afronding */
.zt-finalize-guide-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.zt-finalize-guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.zt-finalize-guide-step{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #d7dce2;border-radius:12px;background:#f7f8fa;opacity:.72}
.zt-finalize-guide-step>span{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;background:#dfe3e8;font-weight:700}
.zt-finalize-guide-step strong,.zt-finalize-guide-step small{display:block}
.zt-finalize-guide-step small{margin-top:4px;color:#5d6670}
.zt-finalize-guide-step.is-current{border-color:#b30017;background:#fff6f7;opacity:1}
.zt-finalize-guide-step.is-current>span{background:#b30017;color:#fff}
.zt-finalize-guide-step.is-done{border-color:#94c89d;background:#f0faf2;opacity:1}
.zt-finalize-guide-step.is-done>span{background:#287a36;color:#fff}
.zt-finalize-guide-problems{display:grid;gap:10px;margin:14px 0}
.zt-finalize-guide-primary{margin:18px 0 8px}
.zt-finalize-guide-primary .zt-btn,.zt-finalize-guide-primary button{font-size:1.05rem;padding:12px 18px}
@media (max-width:900px){.zt-finalize-guide-steps{grid-template-columns:1fr 1fr}.zt-finalize-guide-head{display:block}.zt-finalize-guide-head .zt-team-score-card{margin-top:14px}}
@media (max-width:560px){.zt-finalize-guide-steps{grid-template-columns:1fr}}

/* Fase 6D v0.14: speelavondrapporten en selectie-PDF */
.zt-report-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:12px 0 20px}
.zt-report-match-card{display:flex;gap:10px;align-items:flex-start;border:1px solid #ddd;border-radius:12px;padding:14px;background:#fff;cursor:pointer}
.zt-report-match-card:has(input:checked){border-color:#b00020;box-shadow:0 0 0 2px rgba(176,0,32,.10)}
.zt-report-match-card input{margin-top:4px;transform:scale(1.15)}
.zt-report-match-card span{display:flex;flex-direction:column;gap:5px}
.zt-report-match-card small,.zt-report-player small{display:block;color:#666;line-height:1.35}
.zt-report-quick-groups{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}
.zt-report-player-selector{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.zt-report-player{align-items:flex-start}
@media (max-width:700px){.zt-report-match-grid{grid-template-columns:1fr}.zt-report-quick-groups .zt-btn{width:100%;text-align:left}.zt-document-proof{grid-template-columns:1fr!important}}

/* v0.28 - centrale instelbare vergrendelingen */
.zt-lock-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.zt-lock-head h2{margin-top:0}
@media(max-width:680px){.zt-lock-head{display:block}.zt-lock-head form{margin-top:12px}.zt-lock-head button{width:100%}}

/* v0.36c - hufterproof startletters: veldgerichte validatie en invoerbehoud */
.zt-lineup-code-card-error{border-color:#b4232e;background:#fff5f5;box-shadow:0 0 0 2px rgba(180,35,46,.10)}
.zt-lineup-code-card-error select{border-color:#b4232e;background:#fff}
.zt-lineup-field-error{margin-top:7px;color:#8b000c;font-size:.86rem;font-weight:700;line-height:1.35}
.zt-lineup-client-summary[hidden],.zt-lineup-field-error[hidden]{display:none}
.zt-lineup-form[aria-busy="true"] select{pointer-events:none}

