/* 1.6: readable mobile results, complete controls and uppercase display headings. */
.ssb-app :is(h2,h3,h4),.ssb-app .ssb-wordmark strong,.ssb-app .ssb-title-button{text-transform:uppercase}
.ssb-app :is(h2,h3,h4){overflow-wrap:anywhere;text-wrap:balance}
.ssb-app .ssb-mobile-results,.ssb-app .ssb-field:has(.ssb-mobile-sort){display:none}
.ssb-app .ssb-team-choices{margin:0;padding:16px;min-width:0;border:1px solid var(--ssb-line);border-radius:12px}
.ssb-app .ssb-team-choices legend{font-weight:700;padding:0 6px}
.ssb-app .ssb-team-choices .ssb-check{display:flex;min-height:44px;margin:0}
.ssb-app .ssb-saved-person,.ssb-app .ssb-person-result,.ssb-app .ssb-import-row{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:20px 0;border-bottom:1px solid var(--ssb-line)}
.ssb-app .ssb-saved-person>div,.ssb-app .ssb-person-result>div,.ssb-app .ssb-import-row>div{min-width:0}
.ssb-app .ssb-saved-person h4,.ssb-app .ssb-person-result h4,.ssb-app .ssb-saved-person p,.ssb-app .ssb-person-result p{margin-bottom:6px}
.ssb-app .ssb-person-result dl,.ssb-app .ssb-mobile-result dl{margin:10px 0;display:grid;gap:8px}
.ssb-app .ssb-person-result dl>div,.ssb-app .ssb-mobile-result dl>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.ssb-app :is(.ssb-person-result,.ssb-mobile-result) dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ssb-app .ssb-person-result dt{min-width:60px}
.ssb-app .ssb-teammate{border-bottom:1px solid var(--ssb-line);padding:8px 0}
.ssb-app .ssb-teammate summary,.ssb-app .ssb-mobile-result summary,.ssb-app .ssb-error-detail summary,.ssb-app .ssb-import-errors summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}
.ssb-app .ssb-teammate summary span{font-size:.8rem;font-weight:400;color:var(--ssb-muted);margin-left:12px}
.ssb-app .ssb-teammate-entry{padding:12px 0}
.ssb-app .ssb-teammate-entry p{margin:4px 0}
.ssb-app .ssb-private-label{color:var(--ssb-muted);font-size:.9rem}
.ssb-app .ssb-invalid-row{background:#fff3ee;padding:16px;border:1px solid #dfb7aa;border-radius:12px;margin:12px 0}
.ssb-app .ssb-row-error{color:#733b2b;font-size:.9rem;overflow-wrap:anywhere}
.ssb-app .ssb-error-detail p{font-size:.9rem;overflow-wrap:anywhere}
.ssb-app .ssb-import-errors{padding:16px;margin:16px 0;border:1px solid #dfb7aa;border-radius:12px;background:#fff3ee;color:#733b2b}
.ssb-app .ssb-import-pages .ssb-pagination{margin:16px 0}
@media(max-width:767px){
 .ssb-app{max-width:100%;border-radius:16px;padding:0;margin:8px 0;box-shadow:none;overflow:visible}
 .ssb-app .ssb-main{padding:20px 12px;min-width:0}
 .ssb-app :is(input,select,textarea){font-size:16px;max-width:100%;min-width:0}
 .ssb-app .ssb-grid{gap:12px}
 .ssb-app .ssb-field{min-width:0;width:100%;margin:0 0 12px}
 .ssb-app .ssb-button{font-size:14px;line-height:1.35;min-height:44px;padding:12px 16px;white-space:normal}
 .ssb-app .ssb-toolbar{gap:10px;flex-wrap:wrap}
 .ssb-app .ssb-toolbar>.ssb-button{flex:1 1 150px}
 .ssb-app .ssb-tabs{display:flex;flex-wrap:wrap;padding:4px;gap:6px;border-radius:12px;background:transparent}
 .ssb-app .ssb-tabs .ssb-button{flex:1 1 120px;font-size:14px;padding:12px;min-width:0}
 .ssb-app .ssb-task-tabs{overflow:visible;flex-wrap:wrap}
 .ssb-app .ssb-task-tabs .ssb-button{white-space:normal;flex:1 1 40%}
 .ssb-app .ssb-admin-links{gap:8px}
 .ssb-app .ssb-admin-links .ssb-button{flex:1 1 110px}
 .ssb-app .ssb-heading p,.ssb-app .ssb-auth-story p{font-size:16px}
 .ssb-app .ssb-heading h2{font-size:clamp(28px,7vw,40px);line-height:1.1}
 .ssb-app .ssb-event-row{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px 12px;border-radius:12px}
 .ssb-app .ssb-event-row>.ssb-button{justify-self:stretch;width:100%;grid-column:1/-1}
 .ssb-app .ssb-dashboard-row,.ssb-app .ssb-manager-event,.ssb-app .ssb-team-card{padding:16px;border-radius:12px}
 .ssb-app .ssb-event-row h3,.ssb-app .ssb-dashboard-row h3{font-size:20px;line-height:1.35}
 .ssb-app .ssb-title-button{min-height:44px;overflow-wrap:anywhere}
 .ssb-app .ssb-context-bar{grid-template-columns:minmax(0,1fr);padding:14px;gap:10px}
 .ssb-app .ssb-context-bar .ssb-field{margin:0}
 .ssb-app .ssb-person{padding:16px 12px;min-width:0;border-radius:12px}
 .ssb-app .ssb-table-area:has(.ssb-mobile-results) .ssb-table-scroll{display:none}
 .ssb-app .ssb-mobile-results{display:grid;gap:12px}
 .ssb-app .ssb-field:has(.ssb-mobile-sort){display:block}
 .ssb-app .ssb-table-filters{gap:10px}
 .ssb-app .ssb-table-filters .ssb-field{flex:1 1 100%;margin:0}
 .ssb-app .ssb-mobile-result{border:1px solid var(--ssb-line);border-radius:12px;background:#fff;padding:16px;min-width:0}
 .ssb-app .ssb-mobile-result header{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start}
 .ssb-app .ssb-mobile-result header h3{font:700 17px/1.35 'SSB Jakarta',sans-serif;margin:0 0 4px;text-wrap:wrap}
 .ssb-app .ssb-mobile-result p{margin:6px 0;font-size:14px}
 .ssb-app .ssb-place{font-weight:750;font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums}
 .ssb-app .ssb-place small,.ssb-app .ssb-result-value small{display:block;font-size:12px;font-weight:400;color:var(--ssb-muted);margin-top:4px}
 .ssb-app .ssb-result-value{grid-column:2;font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
 .ssb-app .ssb-mobile-result dl{font-size:14px}
 .ssb-app .ssb-mobile-result summary{font-size:14px;border-top:1px solid var(--ssb-line);margin-top:12px}
 .ssb-app .ssb-stage-scores dt{min-width:0;overflow-wrap:anywhere}
 .ssb-app .ssb-result-meta{font-size:14px;line-height:1.6;margin:12px 0}
 .ssb-app .ssb-pagination{flex-wrap:wrap;justify-content:space-between;gap:8px}
 .ssb-app .ssb-pagination .ssb-button{padding:12px}
 .ssb-app .ssb-event-dialog{width:calc(100% - 16px);max-width:600px;max-height:calc(100dvh - 16px);margin:auto;padding:20px 16px;overflow:auto;overscroll-behavior:contain;border-radius:12px}
 .ssb-app .ssb-event-dialog h2{font-size:26px}
 .ssb-app .ssb-dialog-top{position:sticky;top:-20px;z-index:2;background:#fff;padding:6px 0;margin:-6px 0 10px}
 .ssb-app .ssb-route-preview img{max-height:60dvh;object-fit:contain}
 .ssb-app .ssb-route-preview object{height:55dvh;max-height:480px}
 .ssb-app .ssb-saved-person,.ssb-app .ssb-person-result,.ssb-app .ssb-import-row{flex-direction:column;gap:12px}
 .ssb-app .ssb-row-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}
 .ssb-app .ssb-row-actions .ssb-button{flex:1 1 120px}
 .ssb-app .ssb-owner-actions{gap:10px}
 .ssb-app .ssb-owner-actions>.ssb-button{flex:1 1 100%}
 .ssb-app .ssb-team-invite input{overflow-wrap:normal}
 .ssb-app .ssb-team-members li{gap:10px}
 .ssb-app .ssb-person-result dl{width:100%}
 .ssb-app .ssb-file-preview{min-width:0}
 .ssb-app .ssb-class-row .ssb-field{flex-basis:100%;margin:0}
 .ssb-app .ssb-class-row .ssb-button{flex:1 1 60px}
}
@media print{.ssb-app .ssb-mobile-results{display:none}.ssb-app .ssb-table-area:has(.ssb-mobile-results) .ssb-table-scroll{display:block}.ssb-app .ssb-table thead{display:table-header-group}.ssb-app .ssb-table{display:table}.ssb-app .ssb-table tbody{display:table-row-group}.ssb-app .ssb-table tr{display:table-row}.ssb-app .ssb-table td{display:table-cell}.ssb-app .ssb-table td:before{display:none}}

/* 1.7 shared sorting, inline gap and modal scroll containment. */
.ssb-app .ssb-table-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px}
.ssb-app .ssb-table-filters .ssb-field{width:100%;margin:0;min-width:0}
.ssb-app .ssb-table-filters>.ssb-button{align-self:end}
.ssb-app .ssb-results-nav,.ssb-app .ssb-event-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ssb-app .ssb-archive-season{margin:24px 0;padding:24px 0;border-top:1px solid var(--ssb-line)}
.ssb-app .ssb-archive-stage{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--ssb-line)}
.ssb-app .ssb-archive-stage>div{min-width:0}
.ssb-app .ssb-season-description{max-width:70ch}
.ssb-app .ssb-contact-row{padding:16px 0;border-bottom:1px solid var(--ssb-line)}
.ssb-app .ssb-consent{margin:20px 0}
.ssb-app .ssb-consent input{flex:0 0 auto}
.ssb-app .ssb-event-dialog{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 24px);touch-action:pan-y;-webkit-overflow-scrolling:touch}
@media(max-width:767px){
 .ssb-app .ssb-table-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .ssb-app .ssb-table-filters .ssb-field:has([data-table-search]){grid-column:1/-1}
 .ssb-app .ssb-table-filters .ssb-field span{font-size:13px}
 .ssb-app .ssb-table-filters select{width:100%;padding:10px 8px;font-size:16px}
 .ssb-app .ssb-table-filters>.ssb-button{grid-column:1/-1}
 .ssb-app .ssb-result-metrics{grid-column:2;display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;margin-top:4px}
 .ssb-app .ssb-result-metrics .ssb-result-value{font-size:22px}
 .ssb-app .ssb-gap-value{display:flex;flex-direction:column;gap:4px;font-size:14px;font-variant-numeric:tabular-nums}
 .ssb-app .ssb-gap-value>span{font-size:12px;color:var(--ssb-muted)}
 .ssb-app .ssb-gap-value strong{font-weight:600;white-space:nowrap}
 .ssb-app .ssb-archive-stage{flex-direction:column;gap:12px}
 .ssb-app .ssb-event-actions{width:100%}
 .ssb-app .ssb-event-actions .ssb-button{flex:1 1 140px}
 .ssb-app .ssb-event-row>.ssb-event-actions{grid-column:1/-1}
 .ssb-app .ssb-archive-season{padding:16px 0}
 .ssb-app .ssb-event-dialog .ssb-toolbar{flex-wrap:wrap}
}

/* 1.8 Apple-style touch spacing and Safari select clipping fix. */
.ssb-app{container-type:inline-size}
.ssb-app select{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:52px!important;line-height:1.35!important;padding:12px 40px 12px 14px!important;text-indent:0!important;font-size:16px!important;color:var(--ssb-ink)!important;background-color:#fff!important;appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23244134' stroke-width='1.8'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:12px 8px!important;background-position:right 14px center!important}
.ssb-app .ssb-field:has(select){min-width:0!important;overflow:visible!important}
.ssb-app :is(.ssb-toolbar,.ssb-row-actions,.ssb-event-actions,.ssb-owner-actions,.ssb-tabs,.ssb-admin-links){gap:14px}
.ssb-app .ssb-button{min-height:48px;padding:13px 18px}
.ssb-app .ssb-button:active{background-color:#dce6d8;transform:scale(.98)}
.ssb-app .ssb-button:not(.ssb-secondary):active{background-color:#345943;color:#fff}
.ssb-app .ssb-team-members li{gap:14px;padding:10px 0}
.ssb-app .ssb-event-row,.ssb-app .ssb-archive-stage,.ssb-app .ssb-main{min-width:0;max-width:100%}
.ssb-app .ssb-event-actions .ssb-button{max-width:100%;overflow-wrap:anywhere}
.ssb-app .ssb-person-result .ssb-title-button{min-height:44px}
@media(max-width:600px){.ssb-app .ssb-table-filters{grid-template-columns:minmax(0,1fr)}.ssb-app .ssb-event-row{grid-template-columns:48px minmax(0,1fr);width:100%}.ssb-app .ssb-tabs .ssb-button{flex:1 1 140px}.ssb-app .ssb-event-actions .ssb-button{flex:1 1 100%}.ssb-app .ssb-toolbar>.ssb-button{flex:1 1 100%}}
@container(max-width:600px){.ssb-main{padding:20px 12px!important}.ssb-table-filters{grid-template-columns:minmax(0,1fr)!important}.ssb-toolbar .ssb-field{flex:1 1 100%;max-width:none!important}.ssb-context-bar{grid-template-columns:minmax(0,1fr)!important}.ssb-grid{grid-template-columns:minmax(0,1fr)!important}.ssb-event-row{grid-template-columns:48px minmax(0,1fr)!important;width:100%;gap:12px;padding:16px 12px}.ssb-event-row>.ssb-event-actions{grid-column:1/-1}.ssb-event-actions{width:100%;flex-wrap:wrap}.ssb-event-actions .ssb-button{flex:1 1 100%;max-width:100%}.ssb-tabs{flex-wrap:wrap}.ssb-tabs .ssb-button{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){.ssb-app .ssb-button:active{transform:none}}
