
.tpt-app{max-width:760px;margin:30px auto;font-family:Arial,sans-serif;color:#1f2937}
.tpt-app *{box-sizing:border-box}
.tpt-header{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;margin-bottom:16px}
.tpt-header h2{font-size:28px;margin:3px 0 5px}
.tpt-header p{margin:0;color:#6b7280}
.tpt-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:#6b7280}
.tpt-player-list{display:grid;gap:10px}
.tpt-player-card{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;text-decoration:none;color:#111827}
.tpt-player-card strong{display:block;font-size:18px}
.tpt-player-card small{display:block;margin-top:4px;color:#6b7280}
.tpt-chevron{font-size:30px;color:#9ca3af}
.tpt-back{display:inline-block;margin-bottom:14px;text-decoration:none;font-weight:600}
.tpt-section{margin:18px 0}
.tpt-section h3{margin:0 0 10px;font-size:18px}
.tpt-task{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-bottom:12px}
.tpt-task-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.tpt-task-title strong{font-size:17px}
.tpt-task-title small{color:#6b7280;text-align:right}
.tpt-rag{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.tpt-rag-option input{position:absolute;opacity:0;pointer-events:none}
.tpt-rag-option span{display:block;text-align:center;padding:13px 6px;border-radius:10px;font-weight:700;border:2px solid transparent;cursor:pointer}
.tpt-red span{background:#fee2e2;color:#991b1b}
.tpt-amber span{background:#fef3c7;color:#92400e}
.tpt-green span{background:#dcfce7;color:#166534}
.tpt-rag-option input:checked + span{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.08)}
.tpt-task textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px;font:inherit;resize:vertical}
.tpt-save{width:100%;border:0;border-radius:12px;padding:16px;font-size:17px;font-weight:700;background:#111827;color:#fff;cursor:pointer;position:sticky;bottom:10px}
.tpt-success,.tpt-empty{padding:14px 16px;border-radius:12px;background:#ecfdf5;border:1px solid #a7f3d0;margin:12px 0}
.tpt-empty{background:#f9fafb;border-color:#e5e7eb}
.tpt-login{max-width:440px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px}
.tpt-login input[type=text],.tpt-login input[type=password]{width:100%}
@media(max-width:600px){
  .tpt-app{margin:12px auto;padding:0 10px}
  .tpt-header{padding:16px}
  .tpt-header h2{font-size:24px}
  .tpt-task{padding:14px}
  .tpt-task-title{display:block}
  .tpt-task-title small{display:block;text-align:left;margin-top:4px}
  .tpt-rag-option span{padding:14px 3px;font-size:14px}
}

.tpt-toplinks{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.tpt-toplinks .tpt-back{margin-bottom:0}
.tpt-history-link{text-decoration:none;font-weight:700}
.tpt-prev-note{background:#f9fafb;border-left:4px solid #d1d5db;padding:9px 10px;margin:-2px 0 10px;border-radius:6px;font-size:14px;color:#4b5563}
.tpt-history{display:grid;gap:10px}
.tpt-history-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:15px}
.tpt-history-head{display:flex;justify-content:space-between;gap:12px;font-size:17px}
.tpt-history-card small{display:block;color:#6b7280;margin-top:4px}
.tpt-history-card p{margin:10px 0 0}
@media(max-width:600px){
 .tpt-toplinks{font-size:14px}
}

.tpt-rag-button{
  display:block;
  width:100%;
  border:2px solid transparent;
  border-radius:10px;
  padding:13px 6px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.tpt-rag-button.tpt-red{background:#fee2e2;color:#991b1b}
.tpt-rag-button.tpt-amber{background:#fef3c7;color:#92400e}
.tpt-rag-button.tpt-green{background:#dcfce7;color:#166534}
.tpt-rag-button.is-selected{
  border-color:#111827;
  box-shadow:0 0 0 2px rgba(17,24,39,.08);
  transform:translateY(-1px);
}
.tpt-error{
  padding:14px 16px;
  border-radius:12px;
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
  margin:12px 0;
}

.tpt-dashboard-actions{display:grid;gap:10px;margin-bottom:20px}
.tpt-dashboard-action{display:block;background:#111827;color:#fff;text-decoration:none;border-radius:14px;padding:16px 18px}
.tpt-dashboard-action strong{display:block;font-size:17px}
.tpt-dashboard-action small{display:block;margin-top:4px;color:#d1d5db}
.tpt-list-heading{margin:0 0 10px}
.tpt-player-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center}
.tpt-player-main{min-width:0}
.tpt-player-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tpt-player-meta small{color:#6b7280}
.tpt-progress-count{font-size:13px;color:#4b5563}
.tpt-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}
.tpt-status-red{background:#fee2e2;color:#991b1b}
.tpt-status-amber{background:#fef3c7;color:#92400e}
.tpt-status-green{background:#dcfce7;color:#166534}
.tpt-history-link-card{display:block;text-decoration:none;color:inherit}
@media(max-width:600px){
  .tpt-player-summary-card{grid-template-columns:minmax(0,1fr) auto}
  .tpt-player-meta{grid-column:1 / 2;align-items:flex-start;margin-top:4px}
  .tpt-player-summary-card .tpt-chevron{grid-column:2;grid-row:1 / span 2}
}

.tpt-round-banner{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.tpt-round-warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.tpt-current-round{margin-top:6px!important}

.tpt-statement{line-height:1.4}
.tpt-top-actions{display:flex;gap:12px;align-items:center}
.tpt-success-report{display:flex;flex-direction:column;gap:6px}
.tpt-inline-button{display:inline-block;align-self:flex-start;background:#111827;color:#fff!important;text-decoration:none;padding:8px 12px;border-radius:9px;font-weight:700}
.tpt-rag-text{font-weight:800}.tpt-rag-red{color:#991b1b}.tpt-rag-amber{color:#92400e}.tpt-rag-green{color:#166534}.tpt-rag-none{color:#6b7280}
.tpt-overall{border:2px solid #d1d5db;border-radius:18px;padding:18px;margin:14px 0;display:grid;gap:4px}.tpt-overall span{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.tpt-overall strong{font-size:32px}.tpt-overall b{font-size:18px}.tpt-overall small{color:#6b7280}.tpt-overall-red{background:#fef2f2;border-color:#fecaca}.tpt-overall-amber{background:#fffbeb;border-color:#fde68a}.tpt-overall-green{background:#f0fdf4;border-color:#bbf7d0}
.tpt-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.tpt-category-score{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}.tpt-category-score span,.tpt-category-score strong,.tpt-category-score small{display:block}.tpt-category-score span{font-size:13px;color:#6b7280}.tpt-category-score strong{font-size:18px;margin:3px 0}
.tpt-report-actions{margin:16px 0}.tpt-download,.tpt-email-button{display:block;width:100%;text-align:center;background:#111827;color:#fff!important;text-decoration:none;border:0;border-radius:12px;padding:14px;font-weight:800;font-size:16px;cursor:pointer}
.tpt-report-list>h3{margin:22px 0 8px}.tpt-report-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin-bottom:9px}.tpt-report-item p{margin:7px 0 0;color:#4b5563;font-size:14px}.tpt-report-rating{white-space:nowrap;font-weight:800}
.tpt-email-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;padding:16px;margin:22px 0}.tpt-email-panel h3{margin-top:0}.tpt-email-option{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:11px;margin:8px 0}.tpt-email-option input{margin-right:8px}.tpt-extra-email{display:block;font-weight:700;margin:14px 0}.tpt-extra-email input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid #d1d5db;border-radius:10px;padding:9px;font-size:16px}.tpt-email-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px;margin:8px 0;color:#9a3412}
@media(max-width:600px){.tpt-report-item{grid-template-columns:1fr}.tpt-report-rating{white-space:normal}.tpt-overall strong{font-size:28px}}

.tpt-report-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.tpt-edit-assessment{display:inline-block;text-decoration:none;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:10px;padding:9px 12px;font-weight:700}
.tpt-report-ready{margin-bottom:14px}
.tpt-report-ready strong,.tpt-report-ready span{display:block}
.tpt-report-ready span{margin-top:4px}
@media(max-width:600px){
  .tpt-report-nav{align-items:stretch}
  .tpt-edit-assessment{text-align:center}
}

/* Branding */
.tpt-brand-shell{width:100%;max-width:900px;margin:0 auto;padding:16px;box-sizing:border-box}
.tpt-brand-bar{display:flex;align-items:center;gap:15px;border-bottom:4px solid var(--tpt-primary,#111827);padding:5px 2px 14px;margin:0 auto 12px;max-width:860px}
.tpt-brand-logo{display:block;max-width:130px;max-height:72px;width:auto;height:auto;object-fit:contain}
.tpt-brand-copy{min-width:0;display:flex;flex-direction:column}
.tpt-brand-copy strong{font-size:20px;line-height:1.2;color:var(--tpt-primary,#111827)}
.tpt-brand-copy span{font-size:14px;color:var(--tpt-secondary,#6b7280);margin-top:3px}
.tpt-brand-shell .tpt-save,
.tpt-brand-shell .tpt-download,
.tpt-brand-shell .tpt-email-button,
.tpt-brand-shell .tpt-inline-button{background:var(--tpt-primary,#111827)!important}
.tpt-brand-shell .tpt-eyebrow,
.tpt-brand-shell .tpt-header h2{color:var(--tpt-primary,#111827)}
.tpt-brand-shell .tpt-header p,
.tpt-brand-shell .tpt-category-score span,
.tpt-brand-shell .tpt-overall span,
.tpt-brand-shell .tpt-overall small{color:var(--tpt-secondary,#6b7280)}
.tpt-brand-shell .tpt-edit-assessment{border-color:var(--tpt-primary,#111827);color:var(--tpt-primary,#111827)}
@media(max-width:600px){
  .tpt-brand-shell{padding:10px}
  .tpt-brand-bar{gap:10px;padding-bottom:10px}
  .tpt-brand-logo{max-width:92px;max-height:58px}
  .tpt-brand-copy strong{font-size:18px}
}

.tpt-edit-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px 14px;margin:12px 0 16px;color:#1e3a8a}
.tpt-edit-notice strong,.tpt-edit-notice span{display:block}
.tpt-edit-notice span{margin-top:3px;font-size:14px}

.tpt-report-history{display:grid;gap:12px;margin-top:16px}
.tpt-history-report-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;text-decoration:none!important;color:#111827!important}
.tpt-history-report-card:hover{border-color:var(--tpt-primary,#111827)}
.tpt-history-report-main,.tpt-history-report-result{display:flex;flex-direction:column;gap:5px}
.tpt-history-report-main strong{font-size:16px;color:var(--tpt-primary,#111827)}
.tpt-history-report-main span{font-size:13px;color:var(--tpt-secondary,#6b7280)}
.tpt-history-report-result{align-items:flex-end}
.tpt-history-rag{font-size:12px;font-weight:800}
.tpt-history-red{color:#b91c1c}.tpt-history-amber{color:#b45309}.tpt-history-green{color:#15803d}
.tpt-history-open{font-size:13px;font-weight:700;color:var(--tpt-primary,#111827)}
.tpt-history-legacy{padding:14px;border-radius:12px;background:#f9fafb;color:#6b7280;font-size:13px}
.tpt-history-legacy strong,.tpt-history-legacy span{display:block}.tpt-history-legacy span{margin-top:4px}
@media(max-width:600px){.tpt-history-report-card{align-items:flex-start;flex-direction:column}.tpt-history-report-result{align-items:flex-start}}

.tpt-view-only-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:13px;font-weight:700}

/* Logout and player photos */
.tpt-brand-copy{flex:1}
.tpt-logout{margin-left:auto;white-space:nowrap;text-decoration:none!important;border:1px solid var(--tpt-primary,#111827);color:var(--tpt-primary,#111827)!important;border-radius:9px;padding:8px 11px;font-size:13px;font-weight:700;background:#fff}
.tpt-logout:hover{background:#f9fafb}
.tpt-player-card-photo{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:0 0 54px}
.tpt-player-photo-placeholder{display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;font-size:20px;font-weight:800}
.tpt-player-profile-header{display:flex!important;align-items:center!important;gap:16px}
.tpt-player-profile-photo{width:90px;height:90px;border-radius:50%;object-fit:cover;flex:0 0 90px}
.tpt-player-profile-photo.tpt-player-photo-placeholder{font-size:30px}
@media(max-width:600px){
 .tpt-brand-bar{flex-wrap:nowrap}
 .tpt-logout{padding:7px 9px;font-size:12px}
 .tpt-player-card-photo{width:46px;height:46px;flex-basis:46px}
 .tpt-player-profile-photo{width:72px;height:72px;flex-basis:72px}
 .tpt-player-profile-header{align-items:flex-start!important}
}


/* Head Coach squad progress */
.tpt-squad-progress-key{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px;margin:12px 0 16px}
.tpt-squad-progress-key>span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700}
.tpt-squad-progress-key small{flex-basis:100%;color:#6b7280}
.tpt-squad-dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.tpt-squad-red{background:#dc2626}.tpt-squad-amber{background:#d97706}.tpt-squad-green{background:#16a34a}
.tpt-squad-filter{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.tpt-squad-filter label{font-weight:800}
.tpt-squad-filter select{min-height:40px;border:1px solid #d1d5db;border-radius:9px;padding:6px 32px 6px 10px;background:#fff}
.tpt-squad-table-wrap{width:100%;overflow-x:auto;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.tpt-squad-table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px}
.tpt-squad-table th,.tpt-squad-table td{padding:11px 10px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f0f1f2;text-align:center;vertical-align:middle}
.tpt-squad-table thead th{background:#f9fafb;font-size:13px;color:#374151;white-space:nowrap}
.tpt-squad-table thead th span,.tpt-squad-table thead th small{display:block}
.tpt-squad-table thead th small{font-size:11px;font-weight:500;color:#6b7280;margin-top:3px}
.tpt-squad-table tbody tr:last-child th,.tpt-squad-table tbody tr:last-child td{border-bottom:0}
.tpt-squad-player-col{position:sticky;left:0;z-index:2;background:#fff!important;text-align:left!important;min-width:210px}
.tpt-squad-table thead .tpt-squad-player-col{z-index:3;background:#f9fafb!important}
.tpt-squad-player-link{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:#111827!important}
.tpt-squad-player-link>span{min-width:0}
.tpt-squad-player-link strong,.tpt-squad-player-link small{display:block}
.tpt-squad-player-link strong{font-size:14px}
.tpt-squad-player-link small{font-size:12px;color:#6b7280;margin-top:2px}
.tpt-squad-photo{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 38px}
.tpt-squad-photo.tpt-player-photo-placeholder{font-size:14px}
.tpt-squad-grade-cell{min-width:90px}
.tpt-squad-grade{display:inline-flex;min-width:62px;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;padding:7px 8px;text-decoration:none!important;border:1px solid transparent}
.tpt-squad-grade strong{font-size:12px;line-height:1}
.tpt-squad-grade small{font-size:11px;margin-top:4px;opacity:.8}
.tpt-squad-grade-red{background:#fee2e2;border-color:#fecaca;color:#991b1b!important}
.tpt-squad-grade-amber{background:#fef3c7;border-color:#fde68a;color:#92400e!important}
.tpt-squad-grade-green{background:#dcfce7;border-color:#bbf7d0;color:#166534!important}
.tpt-squad-no-grade{display:inline-flex;align-items:center;justify-content:center;min-width:62px;color:#9ca3af;font-weight:800}
.tpt-squad-help{font-size:13px;color:#6b7280;margin-top:10px}
@media(max-width:600px){
  .tpt-squad-player-col{min-width:170px}
  .tpt-squad-photo{width:32px;height:32px;flex-basis:32px}
  .tpt-squad-table th,.tpt-squad-table td{padding:9px 8px}
}

/* v0.8.5 Squad Reports matrix */
.tpt-squad-grade{min-width:78px;padding:11px 12px;font-weight:800}
.tpt-squad-grade strong{font-size:12px;letter-spacing:.045em}
.tpt-squad-grade-red{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important}
.tpt-squad-grade-amber{background:#fef3c7!important;border-color:#fcd34d!important;color:#92400e!important}
.tpt-squad-grade-green{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important}


/* v0.8.9 Front-end Club Admin tools */
.tpt-admin-dashboard-actions{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.tpt-admin-team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
  margin:16px 0 24px;
}
.tpt-admin-team-card{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.tpt-admin-team-card small,
.tpt-admin-user-row small,
.tpt-archive-row small,
.tpt-archive-card small{
  display:block;
  color:#6b7280;
  margin-top:3px;
}
.tpt-admin-panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:18px;
  margin:18px 0;
}
.tpt-front-admin-form{
  display:grid;
  gap:12px;
  max-width:620px;
}
.tpt-front-admin-form label{
  display:grid;
  gap:5px;
  font-weight:600;
}
.tpt-front-admin-form input,
.tpt-front-admin-form select,
.tpt-archive-form input,
.tpt-purge-form input{
  width:100%;
  box-sizing:border-box;
  padding:10px;
  border:1px solid #d1d5db;
  border-radius:7px;
  background:#fff;
}
.tpt-front-admin-form label small{font-weight:400;color:#6b7280}
.tpt-button,
.tpt-mini-button,
.tpt-danger-button{
  display:inline-block;
  border:0;
  border-radius:7px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:700;
}
.tpt-button{background:var(--tpt-primary,#111827);color:#fff}
.tpt-mini-button{background:#f3f4f6;color:#111827;border:1px solid #d1d5db;padding:7px 10px}
.tpt-danger-button{background:#b91c1c;color:#fff}
.tpt-admin-user-list{display:grid;gap:8px}
.tpt-admin-user-row,
.tpt-assigned-player,
.tpt-archive-row,
.tpt-archive-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  margin:8px 0;
}
.tpt-admin-assignment-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}
.tpt-player-checklist{
  max-height:230px;
  overflow:auto;
  border:1px solid #e5e7eb;
  border-radius:7px;
  padding:8px;
  margin:8px 0 12px;
}
.tpt-player-checklist label{display:block;padding:6px}
.tpt-front-password{margin-top:8px}
.tpt-front-password code{font-size:15px;user-select:all}
.tpt-archive-form{display:flex;gap:8px;align-items:center}
.tpt-archive-form input{width:105px}
.tpt-archive-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tpt-purge-form{margin-top:10px;padding:10px;background:#fef2f2;border-radius:8px;max-width:320px}
.tpt-purge-form label{display:grid;gap:5px;margin-bottom:8px}
@media(max-width:680px){
  .tpt-admin-user-row,.tpt-assigned-player,.tpt-archive-row,.tpt-archive-card{
    align-items:flex-start;
    flex-direction:column;
  }
  .tpt-archive-form{width:100%;flex-wrap:wrap}
}


/* v0.9.0 Club self-management */
.tpt-admin-intro{display:flex;flex-direction:column;gap:3px;margin:18px 0 10px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}
.tpt-admin-intro small{color:#6b7280}
.tpt-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.tpt-link-button{text-decoration:none!important}
.tpt-checkbox-label{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center;gap:8px!important}
.tpt-checkbox-label input{width:auto!important}
.tpt-player-edit-photo{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid #e5e7eb;border-radius:9px;background:#f9fafb}
.tpt-player-profile-photo{width:88px;height:88px;min-width:88px;object-fit:cover;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:28px}
.tpt-photo-upload-label{flex:1}
.tpt-photo-upload-label input[type=file]{margin-top:6px;padding:7px!important}
.tpt-front-player-admin-list{display:grid;gap:9px}
.tpt-front-player-admin-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px;border:1px solid #e5e7eb;border-radius:9px}
.tpt-front-admin-player-photo{width:54px;height:54px;object-fit:cover;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.tpt-front-player-admin-main{min-width:0}
.tpt-front-player-admin-main strong,.tpt-front-player-admin-main small{display:block}
.tpt-front-player-admin-main small{color:#6b7280;overflow-wrap:anywhere}
.tpt-player-profile-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700}
.tpt-player-profile-status.is-active{background:#dcfce7;color:#166534}
.tpt-player-profile-status.is-inactive{background:#f3f4f6;color:#4b5563}
.tpt-branding-logo-edit{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #e5e7eb;border-radius:9px;background:#f9fafb}
.tpt-branding-logo-edit img{width:100px;height:100px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid #e5e7eb}
.tpt-branding-logo-edit>span{width:100px;height:100px;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280}
.tpt-colour-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tpt-colour-grid input[type=color]{height:46px;padding:3px!important}
.tpt-brand-preview{display:flex;align-items:center;gap:14px;border-left:7px solid var(--preview-primary);padding:14px;background:#f9fafb;border-radius:8px}
.tpt-brand-preview img{width:64px;height:64px;object-fit:contain}
.tpt-brand-preview strong,.tpt-brand-preview small{display:block}
.tpt-brand-preview small{color:#6b7280}
@media(max-width:680px){
  .tpt-player-edit-photo,.tpt-branding-logo-edit{align-items:flex-start;flex-direction:column}
  .tpt-front-player-admin-row{grid-template-columns:54px minmax(0,1fr)}
  .tpt-front-player-admin-row .tpt-player-profile-status,.tpt-front-player-admin-row .tpt-mini-button{grid-column:2;justify-self:start}
  .tpt-colour-grid{grid-template-columns:1fr}
}


/* v0.9.4 bulk existing-coach assignment */
.tpt-existing-coach-checklist{display:grid;gap:8px;margin:6px 0 10px}
.tpt-existing-coach-option{display:grid!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}
.tpt-existing-coach-option input{width:auto!important;margin-top:3px}
.tpt-existing-coach-option strong,.tpt-existing-coach-option small{display:block}
.tpt-existing-coach-option small{color:#6b7280}
.tpt-existing-coach-option.is-disabled{opacity:.55;cursor:not-allowed;background:#f9fafb}


/* v0.9.6 role-aware top navigation */
.tpt-brand-actions{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}
.tpt-top-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.tpt-top-nav-link{font-size:12px;font-weight:700;line-height:1;text-decoration:none!important;color:#374151!important;padding:8px 9px;border-radius:8px;white-space:nowrap}
.tpt-top-nav-link:hover{background:#f3f4f6}
.tpt-top-nav-link.is-current{background:var(--tpt-primary,#111827);color:#fff!important}
.tpt-mobile-nav{display:none;position:relative}
.tpt-mobile-nav summary{cursor:pointer;list-style:none;border:1px solid #d1d5db;border-radius:9px;padding:8px 10px;font-size:13px;font-weight:700;background:#fff;color:#111827}
.tpt-mobile-nav summary::-webkit-details-marker{display:none}
.tpt-mobile-nav-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:1000;width:220px;padding:8px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 30px rgba(17,24,39,.16)}
.tpt-mobile-nav-panel a{display:block;padding:10px 11px;border-radius:8px;text-decoration:none!important;color:#374151!important;font-size:14px;font-weight:700}
.tpt-mobile-nav-panel a:hover,.tpt-mobile-nav-panel a.is-current{background:#f3f4f6;color:var(--tpt-primary,#111827)!important}

/* v0.9.6 RAG distribution chart */
.tpt-rag-distribution{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px 20px;margin:0 0 16px}
.tpt-rag-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.tpt-rag-chart-head h3{font-size:21px;margin:3px 0 4px}
.tpt-rag-chart-head p{margin:0;color:#6b7280;font-size:14px}
.tpt-rag-chart-filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}
.tpt-rag-chart-filters label{font-size:12px;font-weight:700;color:#4b5563}
.tpt-rag-chart-filters select{display:block;margin-top:4px;min-width:150px;border:1px solid #d1d5db;border-radius:9px;padding:8px 9px;background:#fff;font:inherit;color:#111827}
.tpt-rag-bars{height:230px;display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:18px;align-items:end;padding:8px 4px 0}
.tpt-rag-bar-item{height:100%;display:grid;grid-template-rows:auto 1fr auto auto;gap:5px;text-align:center;align-items:end}
.tpt-rag-bar-value{font-size:22px;font-weight:800;line-height:1;color:#111827}
.tpt-rag-bar-track{height:150px;display:flex;align-items:flex-end;background:#f3f4f6;border-radius:10px 10px 5px 5px;overflow:hidden}
.tpt-rag-bar{width:100%;min-height:0;transition:height .2s ease}
.tpt-rag-bar-red{background:#ef4444}
.tpt-rag-bar-amber{background:#f59e0b}
.tpt-rag-bar-green{background:#22c55e}
.tpt-rag-bar-incomplete{background:#9ca3af}
.tpt-rag-bar-item strong{font-size:13px;color:#374151}
.tpt-rag-bar-item small{font-size:12px;color:#6b7280}
.tpt-rag-chart-note{margin:14px 0 0;color:#6b7280;font-size:12px;line-height:1.45}

@media(max-width:900px){
  .tpt-top-nav{display:none}
  .tpt-mobile-nav{display:block}
  .tpt-brand-actions{margin-left:auto}
}
@media(max-width:600px){
  .tpt-brand-bar{flex-wrap:wrap}
  .tpt-brand-copy{flex:1;min-width:140px}
  .tpt-brand-actions{width:auto;margin-left:auto}
  .tpt-rag-chart-head{display:block}
  .tpt-rag-chart-filters{justify-content:flex-start;margin-top:12px}
  .tpt-rag-chart-filters label{flex:1 1 140px}
  .tpt-rag-chart-filters select{width:100%;min-width:0}
  .tpt-rag-bars{height:205px;gap:8px;grid-template-columns:repeat(4,1fr)}
  .tpt-rag-bar-track{height:125px}
  .tpt-rag-bar-value{font-size:18px}
  .tpt-rag-bar-item strong{font-size:11px}
}


/* v0.9.7 Club setup, assessment statements and rounds */
.tpt-setup-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin:0 0 16px;border:1px solid #dbeafe;background:#eff6ff;border-radius:14px}
.tpt-setup-banner strong,.tpt-setup-banner small{display:block}.tpt-setup-banner small{margin-top:3px;color:#4b5563}
.tpt-setup-progress{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-bottom:16px}
.tpt-setup-progress-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:9px}
.tpt-setup-progress-track{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.tpt-setup-progress-track span{display:block;height:100%;background:var(--tpt-primary,#111827);border-radius:999px}
.tpt-setup-list{display:grid;gap:10px;margin-bottom:16px}.tpt-setup-step{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 15px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;text-decoration:none!important;color:#111827!important}
.tpt-setup-step:hover{border-color:#cbd5e1;box-shadow:0 4px 14px rgba(17,24,39,.05)}.tpt-setup-step.is-complete{background:#f8fafc}.tpt-setup-step-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;font-weight:800}.tpt-setup-step.is-complete .tpt-setup-step-number{background:#dcfce7;color:#166534}.tpt-setup-step-copy strong,.tpt-setup-step-copy small{display:block}.tpt-setup-step-copy small{color:#6b7280;margin-top:2px}.tpt-setup-step-state{font-size:12px;font-weight:800;color:#4b5563}.tpt-setup-step.is-complete .tpt-setup-step-state{color:#166534}.tpt-setup-optional p{color:#6b7280}
.tpt-admin-help{color:#6b7280;line-height:1.45}.tpt-check-label{display:flex!important;align-items:center;gap:8px}.tpt-check-label input{width:auto!important;margin:0!important}.tpt-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tpt-statement-list,.tpt-round-admin-list{display:grid;gap:8px}.tpt-statement-category{margin:16px 0 3px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.tpt-statement-category:first-child{margin-top:0}.tpt-statement-row,.tpt-round-admin-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:11px;background:#fff}.tpt-statement-row strong,.tpt-statement-row small,.tpt-round-admin-row strong,.tpt-round-admin-row small{display:block}.tpt-statement-row small,.tpt-round-admin-row small{margin-top:3px;color:#6b7280}.tpt-statement-row.is-inactive{opacity:.62;background:#f9fafb}.tpt-round-admin-row.is-active{border-color:#bbf7d0;background:#f0fdf4}.tpt-round-admin-actions{display:flex;align-items:center;gap:8px}
@media(max-width:600px){.tpt-setup-banner{display:block}.tpt-setup-banner .tpt-inline-button{display:inline-block;margin-top:10px}.tpt-setup-step{grid-template-columns:38px 1fr}.tpt-setup-step-state{grid-column:2}.tpt-date-grid{grid-template-columns:1fr}.tpt-statement-row,.tpt-round-admin-row{align-items:flex-start;flex-direction:column}.tpt-round-admin-actions{width:100%;justify-content:space-between}}


/* v0.9.8 — use the WordPress theme header as the role-aware app navigation */
body.tpt-app-page .wp-block-navigation__container {
  gap: clamp(10px, 1.3vw, 22px);
}
body.tpt-app-page .tpt-site-nav-item > .wp-block-navigation-item__content {
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
body.tpt-app-page .tpt-site-nav-item.is-current > .wp-block-navigation-item__content {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 2px;
}
body.tpt-app-page .tpt-brand-bar {
  justify-content: flex-start;
}
body.tpt-app-page .tpt-brand-actions,
body.tpt-app-page .tpt-top-nav,
body.tpt-app-page .tpt-mobile-nav {
  display: none !important;
}


/* v0.9.9 — condensed grouped header navigation */
body.tpt-app-page .tpt-site-nav-group {
  position: relative;
}
body.tpt-app-page .tpt-site-nav-group > .wp-block-navigation-item__content {
  cursor: pointer;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}
body.tpt-app-page .tpt-site-nav-group.is-current > .wp-block-navigation-item__content {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 2px;
}
body.tpt-app-page .tpt-site-nav-group > .wp-block-navigation__submenu-container {
  min-width: 210px;
}
body.tpt-app-page .tpt-site-nav-group .tpt-site-nav-item > .wp-block-navigation-item__content {
  width: 100%;
  padding: 10px 14px;
}
body.tpt-app-page .tpt-site-nav-group .tpt-site-nav-item.is-current > .wp-block-navigation-item__content {
  font-weight: 700;
}


/* v0.9.10 — strong per-club branded portal header */
.tpt-brand-shell{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  padding:18px;
  box-sizing:border-box;
}
.tpt-club-hero{
  position:relative;
  overflow:hidden;
  margin:0 auto 22px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,24,39,.10);
  box-shadow:0 8px 28px rgba(17,24,39,.08);
}
.tpt-club-hero-accent{
  height:9px;
  background:linear-gradient(90deg,var(--tpt-primary,#111827),var(--tpt-secondary,#6b7280));
}
.tpt-club-hero-inner{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:28px 34px;
  text-align:left;
}
.tpt-club-logo-wrap{
  flex:0 0 auto;
  min-width:150px;
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tpt-club-logo{
  display:block;
  max-width:220px;
  max-height:120px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.tpt-club-logo-fallback{
  width:104px;
  height:104px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:48px;
  font-weight:800;
  background:var(--tpt-primary,#111827);
  color:#fff;
}
.tpt-club-hero-copy{
  min-width:0;
}
.tpt-club-portal-label{
  margin-bottom:5px;
  color:var(--tpt-secondary,#6b7280);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.tpt-club-hero-copy h1{
  margin:0!important;
  padding:0!important;
  color:var(--tpt-primary,#111827)!important;
  font-size:clamp(30px,4vw,48px)!important;
  line-height:1.05!important;
  font-weight:800!important;
}
.tpt-club-hero-copy p{
  margin:8px 0 0!important;
  color:var(--tpt-secondary,#6b7280)!important;
  font-size:18px;
  line-height:1.4;
  font-weight:500;
}
.tpt-brand-bar{
  display:none!important;
}

/* The body class used by the plugin is tpt-app-mode; keep header navigation styling active there too. */
body.tpt-app-mode .wp-block-navigation__container{
  gap:clamp(10px,1.3vw,22px);
}
body.tpt-app-mode .tpt-site-nav-item > .wp-block-navigation-item__content,
body.tpt-app-mode .tpt-site-nav-group > .wp-block-navigation-item__content{
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;
  text-decoration:none;
}
body.tpt-app-mode .tpt-site-nav-item.is-current > .wp-block-navigation-item__content,
body.tpt-app-mode .tpt-site-nav-group.is-current > .wp-block-navigation-item__content{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-thickness:2px;
}
body.tpt-app-mode .tpt-site-nav-group > .wp-block-navigation__submenu-container{
  min-width:210px;
}

@media(max-width:700px){
  .tpt-brand-shell{padding:10px}
  .tpt-club-hero{border-radius:14px;margin-bottom:16px}
  .tpt-club-hero-inner{
    min-height:0;
    padding:22px 18px;
    gap:16px;
    flex-direction:column;
    text-align:center;
  }
  .tpt-club-logo-wrap{
    min-width:0;
    min-height:0;
  }
  .tpt-club-logo{
    max-width:170px;
    max-height:90px;
  }
  .tpt-club-logo-fallback{
    width:82px;
    height:82px;
    border-radius:20px;
    font-size:38px;
  }
  .tpt-club-hero-copy h1{
    font-size:30px!important;
  }
  .tpt-club-hero-copy p{
    font-size:16px;
  }
}


/* v0.9.11 — saved Assessment Sets */
.tpt-set-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.tpt-set-create-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tpt-set-create-form input{min-width:240px}
.tpt-assessment-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}
.tpt-assessment-set-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.tpt-assessment-set-card.is-selected{border:2px solid var(--tpt-primary,#111827)}
.tpt-assessment-set-card.is-archived{opacity:.72;background:#f8fafc}
.tpt-assessment-set-card strong,.tpt-assessment-set-card small{display:block}
.tpt-assessment-set-card small{margin-top:4px;color:#6b7280}
.tpt-set-card-actions,.tpt-set-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tpt-set-toolbar form{margin:0}
@media(max-width:700px){.tpt-set-create-form{width:100%}.tpt-set-create-form input{min-width:0;flex:1}.tpt-assessment-set-card{align-items:flex-start;flex-direction:column}}


/* v0.9.12 — Club Admin coach account creation and management */
.tpt-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
}
.tpt-coach-team-fieldset{
  margin:18px 0;
  padding:16px;
  border:1px solid #dfe3e8;
  border-radius:12px;
}
.tpt-coach-team-fieldset legend{
  padding:0 8px;
  font-weight:700;
  color:var(--tpt-primary,#111827);
}
.tpt-coach-team-fieldset > p{
  margin-top:0;
}
.tpt-coach-team-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.tpt-coach-team-checklist label{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:9px;
  padding:11px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.tpt-coach-team-checklist input{
  width:auto!important;
  margin-top:3px;
}
.tpt-coach-team-checklist span{
  display:flex;
  flex-direction:column;
}
.tpt-coach-team-checklist small{
  margin-top:2px;
  color:#6b7280;
}
.tpt-coach-edit-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.tpt-coach-edit-heading h3{
  margin-bottom:3px;
}
.tpt-coach-manage-list{
  display:grid;
  gap:10px;
}
.tpt-coach-manage-row{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid #e5e7eb;
}
.tpt-coach-manage-row:last-child{
  border-bottom:0;
}
.tpt-coach-manage-main,
.tpt-coach-manage-teams{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.tpt-coach-manage-main small,
.tpt-coach-manage-teams small{
  color:#6b7280;
}
.tpt-coach-team-label{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--tpt-secondary,#6b7280);
}
.tpt-coach-success-actions{
  margin-top:10px;
}
@media(max-width:700px){
  .tpt-form-grid,
  .tpt-coach-team-checklist{
    grid-template-columns:1fr;
  }
  .tpt-coach-manage-row{
    grid-template-columns:1fr;
  }
  .tpt-coach-edit-heading{
    flex-direction:column;
  }
}


/* v0.9.13 — Multi-Club Viewer club selector */
.tpt-viewer-club-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin-top:18px;
}
.tpt-viewer-club-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:200px;
  padding:22px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  text-align:center;
  box-shadow:0 5px 18px rgba(17,24,39,.05);
}
.tpt-viewer-club-card img{
  max-width:160px;
  max-height:85px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.tpt-viewer-club-card strong{
  font-size:18px;
  color:var(--tpt-primary,#111827);
}


/* v0.9.15 — Universal Team Progress login portal */
body.tpt-login-mode .tpt-club-hero,
body.tpt-login-mode .tpt-brand-bar{
  display:none!important;
}
.tpt-login-portal{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px 18px;
  background:
    radial-gradient(circle at top left,rgba(17,24,39,.07),transparent 34%),
    linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
}
.tpt-login-card{
  width:min(100%,520px);
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:30px;
  box-shadow:0 22px 55px rgba(15,23,42,.11);
}
.tpt-login-brand{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:24px;
}
.tpt-login-logo{
  max-width:150px;
  max-height:80px;
  object-fit:contain;
}
.tpt-login-mark{
  width:66px;
  height:66px;
  flex:0 0 66px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#111827;
  color:#fff;
  font-weight:800;
  font-size:22px;
  letter-spacing:.04em;
}
.tpt-login-copy h1{
  margin:4px 0 6px;
  font-size:29px;
  line-height:1.15;
}
.tpt-login-copy p{
  margin:0;
  color:#64748b;
}
.tpt-login-form-wrap{
  border-top:1px solid #e5e7eb;
  padding-top:22px;
}
.tpt-login-form-wrap form{
  margin:0;
}
.tpt-login-form-wrap p{
  margin:0 0 15px;
}
.tpt-login-form-wrap label{
  display:block;
  margin-bottom:6px;
  font-weight:700;
  color:#1f2937;
}
.tpt-login-form-wrap input[type="text"],
.tpt-login-form-wrap input[type="password"]{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:9px 12px;
  font-size:16px;
  background:#fff;
}
.tpt-login-form-wrap .login-remember label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
}
.tpt-login-form-wrap .login-remember input{
  width:auto;
}
#tpt-login-submit,
.tpt-login-submit{
  display:inline-flex;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  min-height:48px;
  border:0;
  border-radius:10px;
  padding:12px 18px;
  cursor:pointer;
  background:#111827;
  color:#fff;
  font-size:16px;
  font-weight:800;
  text-decoration:none;
}
.tpt-login-forgot,
.tpt-login-secondary{
  display:block;
  margin-top:14px;
  text-align:center;
  text-decoration:none;
}
.tpt-login-note{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:22px;
  padding:13px 15px;
  border-radius:11px;
  background:#f8fafc;
  color:#64748b;
  font-size:13px;
}
.tpt-login-note strong{
  color:#334155;
}
@media(max-width:600px){
  .tpt-login-card{padding:22px}
  .tpt-login-brand{align-items:flex-start;flex-direction:column}
  .tpt-login-copy h1{font-size:25px}
}


/* v0.9.16 — New Club signup and onboarding */
body.tpt-signup-mode .tpt-club-hero,
body.tpt-signup-mode .tpt-brand-bar{
  display:none!important;
}
.tpt-signup-portal{
  min-height:100vh;
  display:flex;
  justify-content:center;
  padding:34px 18px;
  background:
    radial-gradient(circle at top right,rgba(17,24,39,.07),transparent 30%),
    linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
}
.tpt-signup-card{
  width:min(100%,820px);
  align-self:flex-start;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:30px;
  box-shadow:0 22px 55px rgba(15,23,42,.11);
}
.tpt-signup-heading{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:25px;
}
.tpt-signup-heading h1{
  margin:4px 0 6px;
  font-size:30px;
  line-height:1.15;
}
.tpt-signup-heading p{
  margin:0;
  color:#64748b;
}
.tpt-signup-errors{
  margin:0 0 22px;
  padding:14px 16px;
  border:1px solid #fecaca;
  border-radius:10px;
  background:#fef2f2;
  color:#991b1b;
}
.tpt-signup-errors ul{
  margin:7px 0 0 20px;
}
.tpt-signup-section{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding-top:22px;
  border-top:1px solid #e5e7eb;
  margin-bottom:18px;
}
.tpt-signup-section-admin{
  margin-top:26px;
}
.tpt-signup-step{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#111827;
  color:#fff;
  font-weight:800;
}
.tpt-signup-section h2{
  margin:0 0 3px;
  font-size:19px;
}
.tpt-signup-section p{
  margin:0;
  color:#64748b;
  font-size:14px;
}
.tpt-signup-form > label,
.tpt-signup-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:700;
  color:#1f2937;
}
.tpt-signup-form input[type="text"],
.tpt-signup-form input[type="email"],
.tpt-signup-form input[type="password"]{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:9px 12px;
  font-size:16px;
  background:#fff;
}
.tpt-signup-form small{
  font-weight:400;
  color:#64748b;
}
.tpt-signup-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.tpt-signup-grid label:nth-child(1){
  grid-column:1 / -1;
}
.tpt-signup-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.tpt-signup-next{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:24px 0 16px;
  padding:14px 16px;
  border-radius:10px;
  background:#f8fafc;
  color:#64748b;
  font-size:14px;
}
.tpt-signup-next strong{
  color:#334155;
}
.tpt-signup-submit{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:10px;
  font-size:16px;
  font-weight:800;
}
.tpt-signup-login-link,
.tpt-login-register{
  margin-top:18px;
  text-align:center;
  color:#64748b;
}
.tpt-login-register{
  padding-top:16px;
  border-top:1px solid #e5e7eb;
}
.tpt-signup-login-link a,
.tpt-login-register a{
  font-weight:700;
}
.tpt-onboarding-welcome{
  display:flex;
  flex-direction:column;
  gap:4px;
}
@media(max-width:650px){
  .tpt-signup-card{padding:22px}
  .tpt-signup-heading{align-items:flex-start;flex-direction:column}
  .tpt-signup-heading h1{font-size:25px}
  .tpt-signup-grid{grid-template-columns:1fr}
  .tpt-signup-grid label:nth-child(1){grid-column:auto}
}


/* v0.9.20 — clean public Login/Create Club header */
body.tpt-login-mode header,
body.tpt-login-mode .site-header,
body.tpt-login-mode #masthead,
body.tpt-login-mode .wp-block-navigation,
body.tpt-login-mode .wp-block-page-list,
body.tpt-login-mode .wp-block-pages-list,
body.tpt-login-mode .wp-block-template-part nav,
body.tpt-login-mode .entry-header,
body.tpt-login-mode .wp-block-post-title,
body.tpt-login-mode h1.entry-title,
body.tpt-signup-mode header,
body.tpt-signup-mode .site-header,
body.tpt-signup-mode #masthead,
body.tpt-signup-mode .wp-block-navigation,
body.tpt-signup-mode .wp-block-page-list,
body.tpt-signup-mode .wp-block-pages-list,
body.tpt-signup-mode .wp-block-template-part nav,
body.tpt-signup-mode .entry-header,
body.tpt-signup-mode .wp-block-post-title,
body.tpt-signup-mode h1.entry-title {
  display:none!important;
}

.tpt-public-portal-nav {
  box-sizing:border-box;
  width:100%;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  padding:16px 28px;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
}

.tpt-public-nav-link {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:7px 12px;
  border-radius:8px;
  color:#111827;
  font-weight:700;
  text-decoration:none;
}

.tpt-public-nav-link:hover,
.tpt-public-nav-link.is-current {
  background:#f1f5f9;
}

@media(max-width:600px) {
  .tpt-public-portal-nav {
    padding:12px 16px;
  }
}


/* v0.9.21 — Coach Aid public header branding */
.tpt-public-portal-nav{
  justify-content:space-between;
}

.tpt-public-brand{
  display:flex;
  align-items:center;
  min-height:38px;
  font-size:22px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#111827;
  white-space:nowrap;
}

.tpt-public-nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

@media(max-width:600px){
  .tpt-public-brand{
    font-size:19px;
  }

  .tpt-public-nav-actions{
    gap:4px;
  }

  .tpt-public-nav-link{
    padding:7px 9px;
  }
}


/* v0.9.25 — remove theme-generated public page links from logged-in Club portal */
body.tpt-app-mode header .wp-block-page-list,
body.tpt-app-mode header .wp-block-pages-list,
body.tpt-app-mode .site-header .wp-block-page-list,
body.tpt-app-mode .site-header .wp-block-pages-list,
body.tpt-app-mode #masthead .wp-block-page-list,
body.tpt-app-mode #masthead .wp-block-pages-list,
body.tpt-app-mode .wp-block-template-part header .wp-block-page-list,
body.tpt-app-mode .wp-block-template-part header .wp-block-pages-list{
  display:none !important;
}


/* v0.9.27 — reusable categories + drag/drop statement ordering */
.tpt-category-manager{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.tpt-category-chip{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #d1d5db;
  border-radius:999px;
  background:#fff;
}
.tpt-category-chip.is-inactive{
  opacity:.6;
  background:#f9fafb;
}
.tpt-category-chip form{margin:0}
.tpt-category-action{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:#4b5563;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
  font-size:12px;
}
.tpt-drag-category-list{
  display:grid;
  gap:14px;
}
.tpt-drag-category{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f9fafb;
  overflow:hidden;
}
.tpt-drag-category.is-inactive{opacity:.75}
.tpt-drag-category-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:#f3f4f6;
  border-bottom:1px solid #e5e7eb;
}
.tpt-drag-category-header h4{
  margin:0;
}
.tpt-drag-dropzone{
  min-height:58px;
  padding:8px;
  transition:background .15s ease;
}
.tpt-drag-dropzone.is-drag-over{
  background:#eef2ff;
}
.tpt-draggable-statement{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
  background:#fff;
}
.tpt-draggable-statement:last-child{margin-bottom:0}
.tpt-draggable-statement.is-dragging{
  opacity:.45;
}
.tpt-drag-handle{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:34px;
  border-radius:8px;
  background:#f3f4f6;
  color:#6b7280;
  font-size:18px;
  cursor:grab;
  user-select:none;
}
.tpt-draggable-statement:active .tpt-drag-handle{cursor:grabbing}
.tpt-statement-copy{min-width:0}
.tpt-statement-copy strong{display:block}
.tpt-statement-copy small{
  display:block;
  color:#6b7280;
  margin-top:3px;
}
.tpt-drop-placeholder{
  padding:12px;
  text-align:center;
  color:#9ca3af;
  border:1px dashed #d1d5db;
  border-radius:10px;
  background:#fff;
}
@media(max-width:600px){
  .tpt-draggable-statement{
    grid-template-columns:auto minmax(0,1fr);
  }
  .tpt-draggable-statement .tpt-mini-button{
    grid-column:2;
    justify-self:start;
  }
}


/* v0.9.28 — make assessment categories visually clear to coaches */
.tpt-form .tpt-assessment-category{
  padding-top:0;
  overflow:hidden;
}
.tpt-assessment-category-heading{
  margin:0 0 16px;
  padding:14px 16px;
  border-bottom:2px solid currentColor;
  background:#f3f4f6;
}
.tpt-assessment-category-heading .tpt-assessment-category-label{
  display:block;
  margin-bottom:3px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.65;
}
.tpt-assessment-category-heading h3{
  margin:0;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
}
@media(max-width:600px){
  .tpt-assessment-category-heading{
    padding:12px 14px;
  }
  .tpt-assessment-category-heading h3{
    font-size:20px;
  }
}


/* v0.9.29 — 1-to-9 scoring with visible RAG bands */
.tpt-score-key{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:0 0 8px;
}
.tpt-score-key span{
  display:block;
  padding:7px 6px;
  border-radius:9px;
  text-align:center;
  font-size:12px;
  font-weight:600;
}
.tpt-score-key span strong{
  display:block;
  font-size:13px;
}
.tpt-score-key-red{background:#fee2e2;color:#991b1b}
.tpt-score-key-amber{background:#fef3c7;color:#92400e}
.tpt-score-key-green{background:#dcfce7;color:#166534}
.tpt-score-grid{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:5px;
  margin-bottom:10px;
}
.tpt-score-button{
  min-width:0;
  border:2px solid transparent;
  border-radius:9px;
  padding:11px 2px;
  font:inherit;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.tpt-score-button.tpt-score-red{background:#fee2e2;color:#991b1b}
.tpt-score-button.tpt-score-amber{background:#fef3c7;color:#92400e}
.tpt-score-button.tpt-score-green{background:#dcfce7;color:#166534}
.tpt-score-button.is-selected{
  border-color:#111827;
  box-shadow:0 0 0 2px rgba(17,24,39,.12);
  transform:translateY(-1px);
}
@media(max-width:600px){
  .tpt-score-grid{gap:3px}
  .tpt-score-button{padding:11px 0;font-size:15px}
  .tpt-score-key{gap:5px}
  .tpt-score-key span{font-size:11px;padding:6px 3px}
}

/* v0.9.31 Coach Group Overview */
.tpt-group-overview-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:18px 0}
.tpt-group-overview-filter label{display:grid;gap:5px;font-weight:700;min-width:220px}
.tpt-group-overview-filter select{min-width:220px;padding:10px;border:1px solid #d1d5db;border-radius:8px;background:#fff}
.tpt-group-overview-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px;margin:16px 0}
.tpt-group-overview-summary div{display:grid;gap:3px}
.tpt-group-overview-summary small{color:#6b7280;font-weight:700}
.tpt-group-overview-summary strong{font-size:24px}
.tpt-group-overview-table td{vertical-align:middle}
.tpt-group-overview-table td>strong{font-size:16px}
.tpt-group-overview-legacy{display:block;color:#6b7280;margin-top:3px;font-size:11px}
@media(max-width:640px){.tpt-group-overview-summary strong{font-size:20px}.tpt-group-overview-filter,.tpt-group-overview-filter label,.tpt-group-overview-filter select{width:100%}}


/* v0.9.32 Coach round bulk email */
.tpt-bulk-email-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 14px}
.tpt-bulk-email-form small{color:#6b7280}
@media(max-width:600px){.tpt-bulk-email-form{align-items:flex-start;flex-direction:column}}


/* v0.9.62 — Head Coach desktop dashboard */
@media(min-width:901px){
  .tpt-app.tpt-head-coach-dashboard{max-width:1180px}
  .tpt-head-coach-dashboard .tpt-player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tpt-head-coach-dashboard .tpt-player-summary-card{min-width:0;padding:15px 16px;grid-template-columns:minmax(0,1fr) auto auto}
}
.tpt-player-position{margin-top:5px!important;color:#4b5563!important;line-height:1.35}
.tpt-player-position strong{display:inline!important;font-size:inherit!important}
.tpt-player-position span{color:#6b7280}
@media(max-width:900px){
  .tpt-head-coach-dashboard .tpt-player-list{grid-template-columns:1fr}
}


/* v0.9.64 — minimal fix to the compact v0.9.62 Head Coach cards */
@media(min-width:901px){
  .tpt-head-coach-dashboard .tpt-player-summary-card{
    padding-left:18px;
    column-gap:12px;
  }
  .tpt-head-coach-dashboard .tpt-player-summary-card .tpt-avatar,
  .tpt-head-coach-dashboard .tpt-player-summary-card .tpt-player-avatar{
    flex:0 0 auto;
    margin-right:8px;
  }
  .tpt-head-coach-dashboard .tpt-player-summary-card > span:first-of-type{
    min-width:0;
    padding-left:4px;
  }
  .tpt-head-coach-dashboard .tpt-player-position{
    white-space:normal;
    line-height:1.3;
  }
}


/* v0.9.65 — actual fix: the card has FOUR children (photo, player, status, chevron).
   Give the photo its own grid column so it can never overlap the player's name. */
@media(min-width:901px){
  .tpt-head-coach-dashboard .tpt-player-summary-card{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto 14px;
    gap:10px;
    align-items:center;
    padding:15px 14px;
  }
  .tpt-head-coach-dashboard .tpt-player-summary-card > .tpt-player-card-photo{
    grid-column:1;
    grid-row:1;
    width:54px;
    height:54px;
    margin:0;
  }
  .tpt-head-coach-dashboard .tpt-player-summary-card > .tpt-player-main{
    grid-column:2;
    grid-row:1;
    min-width:0;
    padding:0;
  }
  .tpt-head-coach-dashboard .tpt-player-summary-card > .tpt-player-meta{
    grid-column:3;
    grid-row:1;
    min-width:82px;
  }
  .tpt-head-coach-dashboard .tpt-player-summary-card > .tpt-chevron{
    grid-column:4;
    grid-row:1;
  }
  .tpt-head-coach-dashboard .tpt-player-position{
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
}


/* v0.9.66 — optional overall Coach feedback */
.tpt-coach-feedback{margin-top:18px}
.tpt-coach-feedback textarea{width:100%;box-sizing:border-box;min-height:130px;resize:vertical}
.tpt-feedback-help{margin:0 0 10px;color:#667085;font-size:14px}
.tpt-coach-feedback-report{margin:18px 0;padding:18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.tpt-coach-feedback-report h3{margin:0 0 9px}
.tpt-coach-feedback-report p{margin:0;white-space:normal;line-height:1.55}


/* v0.9.67 — built-in feedback box is always visible at end of assessment */
.tpt-form .tpt-built-in-feedback{
  display:block !important;
  width:100%;
  box-sizing:border-box;
  margin:22px 0 18px;
  padding:18px;
  border:1px solid #d0d5dd;
  border-radius:14px;
  background:#fff;
}
.tpt-form .tpt-built-in-feedback .tpt-feedback-label{
  display:block;
  margin:12px 0 6px;
  font-weight:600;
}
.tpt-form .tpt-built-in-feedback textarea{
  display:block !important;
  width:100% !important;
  min-height:140px;
  box-sizing:border-box;
}

/* v0.9.77: Club portal header displays club name and app title only, centred.
   Coach Aid remains in the site navigation; no duplicate logo or fallback initial. */
.tpt-brand-shell .tpt-club-hero-inner{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:0;min-height:150px;padding:28px 24px;
}
.tpt-brand-shell .tpt-club-hero-copy{width:100%;max-width:100%;text-align:center;}
.tpt-brand-shell .tpt-club-hero-copy h1,
.tpt-brand-shell .tpt-club-hero-copy p{text-align:center;}

/* v0.9.78: uploaded club crest above centred club title; no fallback initials */
.tpt-brand-shell .tpt-club-hero-inner{justify-content:center;text-align:center}
.tpt-brand-shell .tpt-club-hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center}
.tpt-brand-shell .tpt-centred-club-logo{display:block;max-width:140px;max-height:105px;width:auto;height:auto;object-fit:contain;margin:0 auto 15px}

/* v0.9.86: group the uploaded club logo to the left of the club title. */
.tpt-brand-shell .tpt-club-hero-copy{display:flex;justify-content:center;align-items:center;width:100%}
.tpt-brand-shell .tpt-club-identity{display:flex;align-items:center;justify-content:center;gap:22px;max-width:100%;min-width:0}
.tpt-brand-shell .tpt-centred-club-logo{display:block;flex:0 1 auto;max-width:120px;max-height:100px;width:auto;height:auto;object-fit:contain;margin:0}
.tpt-brand-shell .tpt-club-identity-text{min-width:0;text-align:left}
.tpt-brand-shell .tpt-club-identity-text h1,.tpt-brand-shell .tpt-club-identity-text p{text-align:left;overflow-wrap:anywhere}
@media(max-width:480px){.tpt-brand-shell .tpt-club-identity{gap:12px}.tpt-brand-shell .tpt-centred-club-logo{max-width:75px;max-height:75px}.tpt-brand-shell .tpt-club-identity-text h1{font-size:clamp(25px,7vw,36px)!important}.tpt-brand-shell .tpt-club-identity-text p{font-size:15px}}
