.tm-main{max-width:1200px;margin:30px auto;padding:0 24px}.tm-heading{display:flex;gap:20px;align-items:center;margin-bottom:24px}.tm-heading>div{flex:1}.tm-heading h1{font-size:clamp(1.6rem,4vw,2.7rem);margin:0}.tm-heading img{width:110px;max-height:100px;object-fit:contain}.tm-main .field{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-weight:650}.tm-main input:not([type=checkbox]),.tm-main textarea,.tm-main select{font:inherit;width:100%;padding:12px;border:1px solid #bad4d4;border-radius:10px;background:white;color:#193d45}.tm-main input[type=color]{height:46px}.tm-main [hidden]{display:none!important}.tm-main .primary,.tm-main .competition-tabs button[aria-selected=true]{background:var(--tm-colour,#126260);color:white}.tm-match{background:white;border-radius:14px;padding:20px;margin:14px 0;border:1px solid #dce9e8}.tm-match p{margin:8px 0;color:#607c80}.tm-score{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;font-size:1.1rem}.tm-score>span:last-child{text-align:right}.tm-score>strong{background:#f0f5f5;padding:12px 18px;border-radius:12px;color:#173a68}.tm-table-scroll{overflow:auto}.tm-table-scroll table{border-collapse:collapse;background:white;width:100%;min-width:580px}.tm-table-scroll th,.tm-table-scroll td{padding:12px;text-align:left;border-bottom:1px solid #e0eaea}.tm-table-scroll th{background:#eaf3f2}.tm-embedded>header{display:none}.tm-embedded .tm-main{margin-top:15px}.tm-main .competition-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tm-main .competition-tabs button{font:inherit;font-weight:700;padding:12px 18px;border:1px solid #badbd7;border-radius:12px;background:white;color:#174e53;cursor:pointer}.tm-main button:disabled{opacity:.5;cursor:default}.tm-main .note{color:#607c80;line-height:1.6}.tm-main hr{border:0;border-top:1px solid #dce9e8;margin:26px 0}@media(max-width:600px){.tm-main{padding:0 14px}.tm-heading{flex-wrap:wrap}.tm-heading img{width:70px}.tm-score{gap:8px;font-size:1rem}.tm-score>strong{padding:10px}.tm-match{padding:14px}}

.tm-help{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:22px;height:22px;border-radius:50%;border:1px solid #9dbfbb;background:#eef7f5;color:#174e53;font:700 14px Arial;cursor:pointer;padding:0}.tm-help-text{display:block;padding:10px 12px;border-radius:8px;background:#edf6f4;color:#365c60;font-size:14px;line-height:1.5;font-weight:400}.tm-team-fields{margin:16px 0}.tm-team-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:14px}.tm-plan{background:#edf6f4;padding:14px 16px;border-radius:12px;line-height:1.6;margin:14px 0;color:#174e53}.tm-third-place{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;font-weight:650;margin:20px 0}.tm-third-place input{width:20px!important;height:20px;margin:0;flex:none}.tm-third-place .tm-help-text{flex-basis:100%}.setup-dialog .tm-team-row .field{margin:8px 0}.tm-help-text[hidden],.tm-team-row [hidden]{display:none!important}

.tm-field-caption{display:flex;align-items:center;gap:8px}.tm-field-caption .tm-help{align-self:auto}
.tm-team-names{border:1px solid #d8e6e4;border-radius:10px;padding:14px;margin:18px 0}.tm-team-names summary{font-weight:700;cursor:pointer}.tm-team-names [data-simple-teams]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tm-bracket-section{margin:24px 0 36px}.tm-bracket-grid{display:flex;gap:22px;overflow:auto;padding:5px 3px 18px;align-items:stretch}.tm-bracket-round{flex:1;min-width:250px;display:flex;flex-direction:column;gap:18px}.tm-bracket-round h3{margin:0 0 8px;color:#315963}.tm-bracket-match{background:#fff;border:1px solid #d3e4e2;border-radius:12px;padding:16px;box-shadow:0 4px 12px #123b4708;flex:none}.tm-bracket-number{font-size:.875rem;color:#577780;margin:0 0 12px}.tm-bracket-team{display:flex;justify-content:space-between;gap:16px;padding:9px 0;align-items:center;line-height:1.4}.tm-bracket-team span{overflow-wrap:anywhere;min-width:0}.tm-bracket-team strong{flex-shrink:0;font-variant-numeric:tabular-nums}.tm-bracket-winner{color:var(--tm-colour,#126260);font-weight:750}.tm-bracket-time{font-size:.875rem;color:#577780;margin:14px 0}.tm-bracket-round:not(:first-child){justify-content:space-around}.tm-bracket-round:not(:first-child) h3{align-self:stretch}.tm-playoff{max-width:500px;margin:30px 0}.tm-podium{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.tm-medal-card{display:flex;align-items:center;gap:20px;padding:24px;border:1px solid #c9d6db;border-radius:14px;background:#f1f5f8}.tm-medal-card.winner{background:#fff8df;border-color:#dfc56f}.tm-medal{font-size:3rem;flex:none}.tm-medal-card p{margin:0 0 6px;font-size:1rem}.tm-medal-card h2{margin:0;font-size:1.5rem;overflow-wrap:anywhere}@media(max-width:650px){.tm-podium{grid-template-columns:1fr}.tm-team-names [data-simple-teams]{grid-template-columns:1fr}.tm-bracket-round{min-width:260px}}

/* Compact column brackets, with each playoff alongside its final. */
.tm-bracket-section{border:1px solid #d3e4e2;border-radius:8px;background:#fff;overflow:hidden;margin:24px 0}
.tm-bracket-section>h2{background:var(--tm-colour,#126260);color:var(--tm-bracket-ink,#fff);margin:0;padding:11px 16px;font-size:1rem}
.tm-bracket-grid{gap:16px;padding:18px 16px;align-items:flex-start}
.tm-bracket-round{min-width:230px;gap:12px;justify-content:flex-start!important}
.tm-bracket-round h3{font-size:1rem;font-weight:600;margin:0 0 2px}
.tm-bracket-match{border-radius:5px;padding:0;overflow:hidden;box-shadow:0 2px 5px #123b4712}
.tm-bracket-number{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--tm-colour,#126260);color:var(--tm-bracket-ink,#fff);margin:0;padding:7px 10px;min-height:36px;font-size:.875rem}
.tm-bracket-edit{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font-size:1.4rem;cursor:pointer}
.tm-bracket-edit:hover{background:#ffffff25}.tm-bracket-edit:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.tm-bracket-team{padding:9px 11px;gap:12px;font-size:.9375rem}
.tm-bracket-team+.tm-bracket-team{border-top:1px solid #edf1f1}
.tm-bracket-pending{color:#60737b}.tm-bracket-time{margin:0;padding:8px 11px;border-top:1px solid #edf1f1;font-size:.875rem}
.tm-bracket-extra{font-size:.875rem;margin:0;padding:8px 11px}
.tm-playoff-heading{font-size:1rem;margin:10px 0 0;font-weight:600}
@media(max-width:650px){.tm-bracket-grid{padding:14px 12px}.tm-bracket-round{min-width:235px}}
/* Tournament setup follows the five-step portal workflow. */
.tw-steps{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}.tw-steps button{font:inherit;padding:10px 14px;border-radius:9px}.tw-panel{background:#fff;padding:22px;border:1px solid #dce7e7;border-radius:12px;margin:18px 0}.tw-panel h2{margin:0 0 16px;font-size:1.4rem}.tw-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 22px}.tw-types button{text-align:left;display:flex;flex-direction:column;gap:10px;padding:18px;white-space:normal}.tw-types small{font-weight:400;line-height:1.6}.tw-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tw-groups .tw-panel{margin:0}.tw-assignment{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0}.tw-assignment select{width:80px}.tw-check{display:flex;gap:10px;align-items:center;margin:20px 0 5px}.tw-check input{width:auto!important}.tw-preview-match{padding:14px 0;border-bottom:1px solid #dce7e7;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.tw-preview-match small{color:#597175}.tw-panel input,.tw-panel select{min-width:0}.tw-panel .setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.tw-types,.tw-groups,.tw-panel .setup-grid{grid-template-columns:1fr}.tw-panel{padding:16px}}
