.pnStandard {
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #8F8F8F;
  border-radius: 5px;
}
.noTextWrap {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stdItem2 {
  padding: 2px 5px 2px 5px !important;
}
.itemSelected {
  background-color:#0000E0 !important;
  color: #FFFFFF !important;
}
.seTFInstruction {
  margin-bottom: 4px;
  font-weight: bold;
  font-style: italic;
  font-size:11px;
}

#seTFTeamClubs {
  margin: 5px 0px 5px 10px;
  padding:4px;
  background-color:#FAFAFA;
  max-height:100px;
  overflow-y:auto;
  box-sizing:border-box;
  border:1px solid #6F6F6F;
  border-radius:5px;
}

.stdItem {
  display: flex;
  padding: 5px;
  border: 1px solid #0D8726;
  border-radius: 5px;
  background-color: #E8FDEC;
  margin-bottom:3px;
  justify-content:space-between;
  align-items: center;
  cursor: pointer;
  vertical-align: middle;
}
.stdItem:hover {
  background-color: #C0E2BB;
}
.stdItemOpen>img {
   height: 16px;
}
.stdItemInactive {
  background-color: #EFEFEF;
}
.stdFormRow {
  clear: both;
  padding: 5px;
  display: flex;
  align-items: center;
}
.stdFormRow > label {
  width: 100px;
  font-weight: bold;
}
#rpReport {
  display: flex;
  gap: 15px;
}
#rpLevels {
  width:15%;
}
#rpGenders {
  width:15%;
}
#rpContent {
  width: auto;
  overflow-x: auto;
}
#rpContentControls {
  width: 100%;
}
#rpAllMessages {
  margin-top: 5px;
  color: blue;
}

#pnTNTSessionHeader {
   font-weight: bold;
   font-size: 18px;
   padding: 5px 0px 5px 0px;
   border: 1px solid #1F1F1F;
   margin: 1px 0px 0px 0px;
   background-color: #11437C;
   color: #FFFFFF;
   box-sizing: border-box;
   width: 100%;
   text-align: center;
}
#pnTNTDayHeader {
   font-weight: bold;
   font-size: 14px;
   padding: 3px;
   border: 1px solid #000000;
   margin: 0px 0px 0px 0px;
   background-color: #0F0F0F;
   color: #FFFFFF;
   box-sizing: border-box;
   height: 25px;
   width: 100%;
   text-align: center;
}
#pnBlockContent {

}
#pnOpButtons {
  border: 1px solid #9F9F9F;
  border-radius: 5px;
  padding: 3px 8px 3px 8px;
}
#pnOpButtons2 {
  padding: 3px;
}
.biDelete {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 16px;
  margin-right: 3px;
  margin-bottom: 3px;
}
.blockHeader {
  padding: 8px 0px 8px 0px;
  text-align: center;
  border-right: 1px solid #0F0F0F;
  font-weight: bold;
}
.blockRow {
  display: flex;
  flex-wrap: nowrap;
  flex-flow: row;
  border-bottom: 1px solid #000000;
  width: 100%;
  box-sizing: border-box;
}
.blockSection {
  border-top: 1px solid #000000;
}
.ClubAthleteInitials {
  color: #2929FF;
  font-weight: bold;
}
#seScoresContentMatrix {
  min-height: 380px;
  background-color:#FDFDFD;
}
.blockNo {
  position: relative;
  background-color: #FF9900;
  color: #000000;
  width: 7%;
  text-align: center;
  padding: 8px 0px 8px 0px;
  font-weight: bold;
  border-right: 1px solid #0F0F0F;
}
.blockContent {
  font-size: 11px;
  font-weight: normal;
  line-height: 125%;
  box-sizing: border-box;
  width: 93%;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
}
.seStatusActive {
  color: #069312;
  font-weight: 600;
}
.seStatusCompleted {
  color: #6B6BFF;
  font-weight: 600;
}
.seStatusVerified {
  color: #0000CC;
  font-weight: 600;
}
.tntEventHeader1 {
  width: 99.9%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader2 {
  width: 50%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader3 {
  width: 33.333%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader4 {
  width: 25%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader5 {
  width: 20%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader6 {
  width: 16.666%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader7 {
  width: 14.286%;
  text-align: center;
  box-sizing: border-box;
}
.tntEventHeader8 {
  width: 12.5%;
  text-align: center;
  box-sizing: border-box;
}
.tntEvent1W {
  width: 100%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent2W {
  width: 50%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent3W {
  width: 33.333%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent4W {
  width:25%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent5W {
  width:20%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent6W {
  width:16.666%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent7W {
  width:14.286%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent8W {
  width:12.5%;
  text-align: center;
  min-height: 76px;
  border-right: 1px solid #0F0F0F;
  position: relative;
  box-sizing: border-box;
  height: 100%;
}
.tntEvent9 {
  background-color: #DEDEDE;
  color: #000000;
}
.tntEvent10 {
  background-color: #B2B2B2;
  color: #000000;
}
.tntEvent11 {
  background-color: #FFFFFF;
  color: #000000;
}
.tntEvent12 {
  background-color: #E8E8E8;
  color: #000000;
}
.tntFlightActive {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background-color: #069312;
}

.tntSegment {
  padding: 0px;
  width: 100%;
  display: flex;
  position: relative;
  box-sizing: border-box;
}
.tntSegment:hover {
  background-color: #0000E0 !important;
  color: #FFFFFF !important;
}
.tntSegmentRecent {
  background-color: #D4FAFF !important;
  color: #000000 !important;
}
.tntSegmentW {
  background-color: #23E72C;
  color: #000000;
}
.tntSegmentM {
  background-color: #FFDA47;
  color: #000000;
}
.tntSegmentFinals {
  background-color: #CC0000;
  width: 6px;
  height: 100%;
  position: absolute;
  left: 0;
}
.tntSegmentT {
  background-color: #E9FCB6;
  color: #000000;
}
.tntSegmentHighlight {
  background-color: #045FAE;
  color: #000000;
}
.tntSegmentTime {
  padding: 4px 2px 4px 2px;
  width: 35%;
  max-width: 108px;
  min-width: 82px;
  border-right: 1px solid #000000;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
.tntSegmentLabel {
  padding: 4px 2px 4px 2px;
  width: 65%;
  text-align: center;
  box-sizing: border-box;
  position: relative;
}
#tbSelectedAthletesASD {
  width: 100%;
  border-collapse: collapse;
  margin-top:5px;
}
#tbSelectedAthletesASD th {
  background-color: #6F6F6F;
  color: #FFFFFF;
  font-weight: bold;
  padding: 5px;
}
#tbSelectedAthletesASD td {
  padding: 5px;
}
#tbSelectedAthletesASD tr:nth-child(even) {
  background-color: #f2f2f2;
}
.dgEntryRow {
   padding: 4px 5px 5px 5px;
}
.dgEntryRow>label {
  width: 120px;
  font-weight: bold;
  display: inline-block;
}
.ew80 {
  width: 80% !important;
}

.seTeamFinalSelection {
  padding: 4px;
  border: 1px solid #5F5F5F;
  border-radius: 5px;
  margin-right: 6px;
  margin-top: 5px;
  background-color: #E7FDDE;
  cursor: pointer;
}

#seSegmentType {
  margin-left: 30%;
  margin-top: 20px;
  padding: 3px;
  border: 0px;
  width: 200px;
  overflow-y: auto;
}
.seLevel {
  position: relative;
  padding: 5px;
  width: 70%;
  margin-left: 2%;
  margin-bottom: 2px;
  clear: both;
  background-color: #11A72F;
  color: #FFFFFF;
  border: 1px solid #0D8726;
  border-radius: 5px;
  cursor: pointer;
}
.seLevelSelected {
  margin-left: 25% !important;
  background-color: #0D8726;
}
.seLevel:hover {
  background-color: #C0E2BB;
}
#pnSegmentLevelsList {
  height: 230px;
  overflow-y:auto;
}
#pnSegmentLevelsInfo {
  padding: 3px;
  border: 1px solid #07A617;
  background-color: #F0FEF2;
  border-radius: 5px;
  margin-bottom:14px;
}
.btAddSegment {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-left: 40% !important;
  margin-bottom: 0px !important;
}
.btEditSegment {
  margin: 0px !important;
  position: absolute;
  top: 0;
  right: 0;
}
.tntAthleteSchedule {
    width: 100%;
}
.tntAthleteSchedule th {
  padding: 2px;
}
.tntAthleteSchedule td {
  padding: 2px;
}
.tntAthleteSchedule tr:nth-child(even) {
  background-color: #EFEFEF;
}
.taAthleteScheduleRow:hover {
  background-color: #045FAE !important;
  color: #FFFFFF !important;
}
.taScheduleDay {
  text-align: left;
  width: 11%;
}
.taScheduleBlock {
  text-align: center;
  width: 7%;
}
.taScheduleFlight {
  text-align: left;
  width: 28%;
}
.taScheduleFacility {
  text-align: left;
  width: 12%;
}
.taScheduleType {
  text-align: left;
  width: 11%;
}
.taScheduleEvent {
  text-align: left;
  width: 23%;
}
.taScheduleStartTime {
  text-align: center;
  width: 9%;
}
.tntAthletes {
  width: 100%;
}
.tntAthletes th {
  padding: 2px;
}
.tntAthletes td {
  padding: 2px;
}
.tntAthletes tr:nth-child(even) {
  background-color: #EFEFEF;
}
.taAthleteRow:hover {
  background-color: #045FAE !important;
  color: #FFFFFF !important;
}
.taAthleteNo {
  text-align: center;
  width: 5%;
}
.taAthlete {
  text-align: left;
  width: 30%;
}
.taClub {
  text-align: left;
  width: 40%;
}
.taLevel {
  text-align: left;
  width: 20%;
}
.taSelect {
  text-align: center;
  width: 5%;
}
.itemSelect {
  height: 14px;
}
#seAthletesContent {
  width: 100%;
}
#seAthleteInfo {
  width: 100%;
}
#seContent {
  clear: both;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
}
#seScores {
  clear: both;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
}
#seScoresContent {
  clear: both;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
}
#seScoresContentControl {
  padding-bottom: 6px;
  margin-bottom: 6px;
  border-bottom: 2px solid #6F6F6F;;
}
.ScoreMatrixHeader {
  width: 100%;
  display: flex;
  flex-flow: row;
  flex-wrap: nowrap;
  align-items: stretch;
  box-sizing: border-box;
}
.ScoreMatrix {
  width: 100%;
  display: flex;
  flex-flow: row;
  flex-wrap: nowrap;
  align-items: stretch;
  padding: 5px 0px 5px 0px;
  box-sizing: border-box;
}
.tntScoreAlert {
  margin-right: 8px;
  border: 1px solid #CFCFCF;
  padding: 2px 5px 2px 5px;
  border-radius: 5px;
}
.tntScoreIssue {
  border-color: red;
}

.smAthleteScore {
  width: 100%;
  display: flex;
  flex-flow: row;
  flex-wrap: nowrap;
  align-items: center;
  padding: 0px;
  box-sizing: border-box;
}
.smAthleteScore:hover {
  background-color: #045FAE !important;
  color: #FFFFFF !important;
}
.smCellVideo {
  font-size: 15px;
}
#seVideoClose {
  cursor:pointer;
}

.smScoreWithVideo {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.smEven {
  background-color: #EFEFEF;
}
.smCell {
  padding: 0px;
  box-sizing: border-box;
  margin-top: 5px;
  margin-bottom: 5px;
  min-width: 50px;
}
.smScoreEntry {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

.smRotationSeq {
  text-align: center;
  width: 3%;
}
.smAthleteNo {
  text-align: center;
  width: 5%;
}
.smAthleteName {
  text-align: left;
  width: 18%;
}
.smAthleteClub {
  text-align: left;
  width: 15%;
}
.smTeamName {
  text-align: left;
  width: 15%;
}
.smTeamFinalsRound {
  text-align: center;
  width: 10%;
}
.edTeamFinalsRound {
  width: 20px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.seTeamFinalSelection:hover {
  background-color:#0000CC !important;
  color: #FFFFFF !important;
}

.smAthleteLevel {
  text-align: left;
  width: 16%;
}
#seFinalsList {
  height: 260px;
  margin-top: 6px;
  margin-bottom: 6px;
  overflow-y: auto;
}

.seFinals {
  border-bottom: 1p solid #AFAFAF !important;
  margin-bottom: 3px;
  vertical-align: middle;
}
.seFinals:hover {
  background-color:#0000E0 !important;
  color: #FFFFFF !important;
}
#seFinalsHeader {
  padding: 4px;
  margin-top: 5px;
  margin-bottom: 5px;
}
.seNoScoreRow {
  font-size: 11px;
}

.sfCell {
  padding: 3px;
  box-sizing: border-box;
}
.sfInOut {
  text-align: center;
  width: 8%;
}
.sfInOutImg {
  height: 16px;
}
.sfOut {
  opacity: 0.40 !important;
}

.sfFlightSeq {
  text-align: center;
  width: 3%;
}
.sfAthleteName {
  text-align: left;
  width: 23%;
  font-weight: bold;
}
.sfClub {
  text-align: left;
  width: 23%;
}
.sfLevel {
  text-align: left;
  width: 17%;
}
.sfAge {
  text-align: right;
  width: 13%;
}
.sfScore {
  text-align: right;
  width: 10%;
}
.sfRank {
  text-align: right;
  width: 8%;
  font-weight: bold;
  border: 1px solid #7F7F7F;
  padding: 2px;
  border-radius: 5px;
  margin-left: 8px;
  min-height:17px;
}
.smScore1 {
  box-sizing: border-box;
  text-align: right;
  width: 34.5%;
  background-color: #F0F8FF;
  border: 1px solid #045FAE;
  border-radius: 5px;
  margin-left: 3px;
  margin-right: 3px;
  padding: 2px 4px 2px 2px;
  cursor: pointer;
  color: #000000 !important;
}
.smScore2 {
  box-sizing: border-box;
  text-align: right;
  width: 15%;
  background-color: #F0F8FF;
  border: 1px solid #045FAE;
  border-radius: 5px;
  margin-left: 3px;
  margin-right: 3px;
  padding: 2px 4px 2px 2px;
  cursor: pointer;
  color: #000000 !important;
}
.smScore3 {
  box-sizing: border-box;
  text-align: right;
  width: 11.5%;
  background-color: #F0F8FF;
  border: 1px solid #045FAE;
  border-radius: 5px;
  margin-left: 3px;
  margin-right: 3px;
  padding: 2px 4px 2px 2px;
  cursor: pointer;
  color: #000000 !important;
}
.smScore4 {
  box-sizing: border-box;
  text-align: right;
  width: 8.5%;
  background-color: #F0F8FF;
  border: 1px solid #045FAE;
  border-radius: 5px;
  margin-left: 3px;
  margin-right: 3px;
  padding: 2px 4px 2px 2px;
  cursor: pointer;
  color: #000000 !important;
}
.smScore5 {
  box-sizing: border-box;
  text-align: right;
  width: 7.0%;
  background-color: #F0F8FF;
  border: 1px solid #045FAE;
  border-radius: 5px;
  margin-left: 3px;
  margin-right: 3px;
  padding: 2px 4px 2px 2px;
  cursor: pointer;
  color: #000000 !important;
}
.smScore6 {
  box-sizing: border-box;
  text-align: right;
  width: 5.833%;
  background-color: #F0F8FF;
  border: 1px solid #045FAE;
  border-radius: 5px;
  margin-left: 3px;
  margin-right: 3px;
  padding: 2px 4px 2px 2px;
  cursor: pointer;
  color: #000000 !important;
}
/* .sm99 - the far-right TOTAL. Not a score anyone enters: it is the sum of
   the real scores to its left, and it cannot be clicked or edited.
   It used to carry the same green as .smFinal / .scoreComplete, which said
   the opposite of the truth - green means an entered score that is
   finished, so the one cell nobody can touch looked like the most editable
   thing in the row. Grey ground, dark grey border, bold: derived and
   read-only. cursor:default because .smScore1..6 set cursor:pointer, and a
   pointer over a cell that ignores clicks is a promise the row cannot keep.
   Matched in apps/_shared/tnt/tnt.css so both apps read the same. */
.sm99 {
  background-color: #E4E6E9 !important;
  border: 1px solid #8A9099 !important;
  font-weight: bold;
  cursor: default;
}
.smFinal {
  background-color: #EEFDE8 !important;
  border: 1px solid #45B710 !important;
}
.smNoScore {
  background-color: #EFEFEF !important;
  border: 1px solid #A3A3A3 !important;
}
.smScore1H {
  text-align: right;
  width: 34.5%;
  padding: 2px 4px 2px 2px;
  border: 1px solid #FFFFFF;
  margin-left: 3px;
  margin-right: 3px;
}
.smScore2H {
  text-align: right;
  width: 15%;
  padding: 2px 4px 2px 2px;
  border: 1px solid #FFFFFF;
  margin-left: 3px;
  margin-right: 3px;
}
.smScore3H {
  text-align: right;
  width: 11.5%;
  padding: 2px 4px 2px 2px;
  border: 1px solid #FFFFFF;
  margin-left: 3px;
  margin-right: 3px;
}
.smScore4H {
  text-align: right;
  width: 8.5%;
  padding: 2px 4px 2px 2px;
  border: 1px solid #FFFFFF;
  margin-left: 3px;
  margin-right: 3px;
}
.smScore5H {
  text-align: right;
  width: 7.0%;
  padding: 2px 4px 2px 2px;
  border: 1px solid #FFFFFF;
  margin-left: 3px;
  margin-right: 3px;
}
.smScore6H {
  text-align: right;
  width: 5.833%;
  padding: 2px 4px 2px 2px;
  border: 1px solid #FFFFFF;
  margin-left: 3px;
  margin-right: 3px;
}
#dgTNTAthleteScheduleMsg {
  color: #CC0000 !important;
}
.scoreScratch {
  background-color: #FFFFFF !important;
  border-color: #E4FCD9 !important;
}
.scoreInvalid {
  background-color: #FFD1D1 !important;
  border-color: #CC0000 !important;
}
.scoreComplete {
  background-color: #EEFDE8 !important;
  border-color: #45B710 !important;
}
.scoreOnDeck {
  background-color: #B7F89B !important;
  border-color: #2E7A0B !important;
}
.scoreModified {
  border: 1px dashed #0000E0 !important;
  border-radius: 5px;
  color: #0000E0 !important;
  background-color: #E5E5FF;
  padding: 3px 4px 3px 4px !important;
}

#seScoreContent {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  background-color: #F7F7F7;
  font-size: 12px;
}
.seScoreContentLarge {
  font-size: 13px !important;
}
/* Padding retired here (Sep 2026). This was dialog-era styling — jQuery UI
   supplied the frame and #dgTNTFlight only needed a small inset. Now that it
   is a panel its padding comes from .flightPanel (--fp-pad-x/--fp-pad-y), and
   the footer derives its full-bleed negative margins from those same tokens.
   A 4px !important here broke that link: the panel inset was 4px while the
   footer still pulled out by 14px, so the action bar overhung the panel edge
   by ~10px on each side. */

#scoreFlightSeq {
  font-size: 19px;
  width: 22px;
  padding-left: 6px;
}
#scoreAthleteNames {
  font-size: 19px;
}

#seScoreBlocks {
  flex: 1 1 auto;
  display: flex;
  flex-wrap: nowrap;
  flex-flow: row;
  width: 100%;
  box-sizing: border-box;
}
.seScoreBlock {
  position: relative;
  padding: 5px;
  border: 1px solid #9F9F9F;
  border-radius: 5px;
  margin-right: 15px;
  width: 200px;
  min-height: 285px;
  box-sizing: border-box;
  box-shadow: 1px 2px 3px #9F9F9F;
  overflow-y: auto;
  background-color: #D7D7D7;
}
.sePendingScore {
  background-color: #C8C8C8 !important;
}
.sePendingScore .seExecutionLabel {
  color: #8F8F8F;
}
.sePendingScore .tntFinalScore {
  background-color: #C8C8C8 !important;
}
.seCheckBox {
  margin-right:35% !important;
}
.seCheckBox:indeterminate {
  margin-right:35% !important;
  outline: 1px solid #D0D0D0;
}
.seActiveScore {
  border-color: #23E72C !important;
  background-color: #FFFFFF;
  box-shadow: 1px 2px 3px #23E72C !important;
}
.seStatusPopup {
  z-index: 1001;
  position: absolute;
  top: 150px;
  left: 50px;
  padding: 9px;
  border: 1px solid #4F4F4F;
  border-radius: 5px;
  background-color:#F2F2F2;
  font-size: 11px;
  width: 360px;
}

#seScoreControl {
  flex-shrink: 0;
  min-height: 25px;
  width: 98%;
  padding-top: 6px;
}
.seScoreEntry {
  width: 100%;
  border-collapse: collapse;
  box-sizing: content-box;
  border-spacing: 0px;
}
.seScoreEntry tr {
  vertical-align: middle;
}
.seScoreEntry::before {
  box-sizing: border-box;
}
.seActiveScore {
  border-color: #23E72C;
}
.seExecutionLabel {
  display: flex;
  justify-content: flex-start;
}
.seActiveEJudge {
  font-weight: bold;
  color: #17B541;
}

.exOutOf {
  margin-left: 3px;
  color: blue;
  padding-top:3px;
}
#seSEC {
  margin-left: 78px;
  color: blue;
  padding-top:3px;
}
.seScoreStatusRow {
  display: flex;
  justify-content: space-between;
}
.seScoreStatus {
  font-size: 10px;
  font-weight: normal;
  text-align: right;
}

.seScoreFinalRow {
  display: flex;
  justify-content: space-between;
}
.seLabel {
  padding: 2px 3px 3px 3px;
  text-align: left;
}
.seEntry {
  padding: 0px;
  text-align: right;
}
.seSkillNo:hover {
  background-color: #F89838;
  border: #CF6B07;
  border-radius: 5px;
  cursor: pointer;
}

.seFinalScoreLabel {
  font-size: 15px;
}
.sePendingScore .seFinalScoreLabel {
  color: #8F8F8F;
}

.tntFinalScore {
  min-width: 50px;
  font-weight: bold !important;
  font-size: 14px;
  text-align: right;
  background-color: #F0F0F0 !important;
  padding-top: 9px !important;
  padding-bottom: 4px !important;
  padding-right: 4px !important;
  padding-left: 8px !important;
  border: 0 !important;
}
.tntPostedScore {
  background-color: #EEFDE8 !important;
  border: 1px solid #17B541 !important;
  border-radius: 5px !important;
}
.tntInvalidScore {
  border: 1px solid #CC0000 !important;
  background-color: #FFEBEB !important;
  border-radius: 5px !important;
}
.seScoreEntryFinal td {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-weight: bold;
}

.seScoreEntryPost td {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}
.lvevRC {
  cursor:pointer;
}
td.lvevRC:hover {
  background-color: rgb(14,118,188) !important;
  color: #FFFFFF !important;
}
#tbUnassignedAthletes {
  width: 100%;
}
#tbUnassignedAthletes tr:nth-child(even) {
   background-color: #f2f2f2;
}

#seScoreHeader {
  flex: 1 0 auto;
  margin: 0px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
   border-radius:5px;
   padding:4px;
   font-weight:700;
   font-size:14px;
   background: rgb(14,118,188);
   background: linear-gradient(79deg, rgba(14,118,188,1) 0%, rgba(104,171,217,1) 100%);
   color:white;
   box-shadow:0px 0px 5px 2px rgba(65,65,65,0.71);
   font-family: arial;
}
.seScoreInfo {
   margin-top:3px;
   font-weight:700;
   font-size:12px;
}
.seScoreRow {
   display:flex;
}
#pnSegmentTFAthletesListing {
   height: 48%;
   overflow-y: auto;
   background-color:#FAFAFA;
}

#seStartScoring {
   margin: 12% 2% 2% 2%;
   width: 96%;
   height: 90%;
   box-sizing: border-box;
   z-index: 9999;
   position: absolute;
   top: 0px;
   left: 0px;
   border-radius: 5px;
}
#btStartScoringOuter {
   position: absolute;
   top: 8%;
   left: 22%;
   opacity: 1 !important;
   z-index: 10001;
}
#txWaiting {
  font-size: 15px;
  font-weight: bold;
}

.smVertLine {
   width: 2px;
   background-color: #6F6F6F;
   margin-left: 4px;
   margin-right: 4px;
}
.tntEScoreAvg {
   border: 0px !important;
   background-color: #9F9F9F !important;
   color: #FFFFFF !important;
}
.seIsNoScore {
   border-width: 1px 1px 1px 1px !important;
   border-radius: 5px !important;
   background-color: #F7F7F7 !important;
}
.seScore {
   width: 51px;
   border: 1px solid #7F7F7F;
   background-color: transparent;
   border-width: 0px 0px 1px 0px;
   text-align: right;
   box-sizing: border-box;
}
.seScore:disabled {
   background-color: #F2F2F2;
   border-width: 0px 0px 0px 0px;
}

.seScore:focus,.seScore:active {
  background-color: #E5FFEC;
  border: 1px solid #4ECC52;
  outline: none;
  border-radius: 5px;
}
.seSkillScore {
   width: 50%;
   margin-left: 24.8%;
   border: 1px solid #7F7F7F;
   background-color: transparent;
   border-width: 0px 0px 1px 0px;
   text-align: center;
   height: 20px;
}
#skillScore98 {
   margin-left:10% !important;
   width: 80% !important;
}

.seSkillsMatrixRow {
   min-height: 20px;
}

.seSkillTOF {
   width: 92%;
   margin-left: 5%;
   border: 1px solid #7F7F7F;
   background-color: transparent;
   border-width: 0px 0px 1px 0px;
   text-align: center;
   font-size: 0.9em !important;
}
.seSkillTOF:focus,.seSkillTOF:active {
  background-color: #E5FFEC;
  border: 1px solid #4ECC52;
  outline: none;
  border-radius: 5px;
}
.seSkillHD {
   width: 50%;
   margin-left: 24.8%;
   border: 1px solid #7F7F7F;
   background-color: transparent;
   border-width: 0px 0px 1px 0px;
   text-align: center;
}
.seSkillHD:focus,.seSkillHD:active {
  background-color: #E5FFEC;
  border: 1px solid #4ECC52;
  outline: none;
  border-radius: 5px;
}
.seSkillDD {
   width: 70%;
   margin-left: 24.8%;
   border: 1px solid #7F7F7F;
   background-color: transparent;
   border-width: 0px 0px 1px 0px;
   text-align: center;
}
.seSkillDD:focus,.seSkillDD:active {
  background-color: #E5FFEC;
  border: 1px solid #4ECC52;
  outline: none;
  border-radius: 5px;
}
.seSkillSynch {
   width: 87%;
   margin-left: 5%;
   border: 1px solid #7F7F7F;
   background-color: transparent;
   border-width: 0px 0px 1px 0px;
   text-align: center;
}
.seSkillSynch:focus,.seSkillTOF:active {
  background-color: #E5FFEC;
  border: 1px solid #4ECC52;
  outline: none;
  border-radius: 5px;
}
.seSkillTotal {
   width: 90% !important;
   background-color: transparent;
   text-align: center;
   font-weight: bold;
   font-size:12px;
   margin-top: 3px;
   border: 1px solid #9F9F9F;
   margin-left: auto !important;
   margin-right: auto !important;
   border-radius: 5px;
}
.seSkillMatrix {
   width: 50%;
   margin-left: 21%;
   border: 0;
   background-color: transparent;
   text-align: center;
   box-sizing: border-box;
}

.seSkillScore:focus,.seSkillScore:active {
  background-color: #E5FFEC;
  border: 1px solid #4ECC52;
  outline: none;
  border-radius: 5px;
}

.seNoScore {
  margin-left: 33%;
  margin-top: 4px;
  height: 16px !important;
  width: 16px !important;
}
.seNoScore > img {
  height: 16px !important;
  width: 16px !important;
}
.seCancelNoScore {
  margin-left: 33%;
  margin-top: 4px;
}
.seCancelNoScore > img {
  height: 16px !important;
  width: 16px !important;
}
.seSkillNoScore {
  border: 1px solid #FFA825 !important;
  background-color: #FFEDD1 !important;
  width: 80% !important;
  margin-left: 5% !important;
  border-radius: 5px;
}
.seSkillInvalid {
  border: 1px solid #CC0000 !important;
  background-color: #FFEBEB !important;
  border-radius: 5px;
}
.seSkillError {
  border: 1px solid #CC0000 !important;
  background-color: #FFBDBD !important;
  border-radius: 5px;
}
.seScoreEntryHeader {
   display: flex;
   flex-wrap: nowrap;
   justify-content: space-between;
   align-items: center;
   box-sizing: border-box;
   border-bottom: 1px solid #505050;
   padding-bottom: 2px;
   margin-bottom: 2px;
   background-color: #FFFFFF;
}
.seScoreEntryMsgs {
   height: 17px;
}
.seScoreControl {
   display:flex;
   justify-content:space-between;
}
.vPlay {
   margin-left: 3px;
}
.resultsVideo {
   font-size: 18px;
}

.seHL {
   font-size: 19px;
   width: 7%;
   text-align: left;
}
.seHC {
   width: 81%;
   text-align: center;
   min-height: 18px;
}
.seHR {
   width: 7%;
   margin-right:3px;
}
.seMakeScoreActive {
   border: 0px solid #FFFFFF;
   border-radius: 5px;
   background-color: #FFFFFF;
   margin-right:3px;
}

#pnScoringRulesContent {
  display: flex;
  flex-wrap: nowrap;
  box-sizing: border-box;
}
#pnRulesHeader {
  display: flex;
  justify-content:space-between;
  margin-bottom: 12px;
}
#pnScoringRulesMsgs {
  font-weight: bold;
  color: #0000FF;
}
#pnScoringRulesMatrix {
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #8F8F8F;
  border-radius: 5px;
  min-height: 450px;
}
#pnScoringRuleSelector {
  min-width: 525px;
  box-sizing: border-box;
  padding: 4px;
  border: 1px solid #8F8F8F;
  margin-left: 1%;
  border-radius: 5px;
  min-height: 500px;
}
#pnRulesMatrix {
  margin-top: 10px;
}
#pnScoringControlExecutionTimes {
  width: 74%;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #8F8F8F;
  border-radius: 5px;
  min-height: 450px;
  position: relative;
}
#pnScoringControlTieBreak {
  width: auto;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #8F8F8F;
  border-radius: 5px;
  min-height: 450px;
  position: relative;
}
.cmTeamFinalsRow {
  padding: 4px 0px 4px 0px;
  background-color: rgb(219, 219, 255);
  border-radius: 5px;
}
.cmDefaultRow {
  padding: 4px 0px 4px 0px;
  background-color: rgb(252, 196, 139, 0.8);
  border-radius: 5px;
}
.cmDrop {
  background-color: #FFFFFF;
}

.cmRow {
  display: flex;
  box-sizing: border-box;
  margin-bottom: 5px;
}
/* rbRulesGenderView/rbRulesFlightView (Team/toScoringControl.html) render
   with visible gaps between buttons that rdScoringControl (built via dense
   JS string concatenation, GetScoringControlViewer in MeetTNT.js) doesn't
   have - .ssRadio/.ssRadioLabel margins are already zeroed !important
   (stylesT.css), so it isn't margin. It's the classic inline-block +
   whitespace-text-node gap: these two are hand-formatted across multiple
   HTML lines (one <input>/<label> pair per line), and jQuery UI's
   .checkboxradio() wraps each into an inline-block "button" that's
   sensitive to that whitespace. display:flex on the container collapses it
   at the root, without touching child font-size/em-based sizing the way a
   font-size:0-and-reset hack would risk on a jQuery-UI-enhanced element. */
#rbRulesGenderView, #rbRulesFlightView {
  display: flex;
}
.cmLevel {
  width: 20%;
  padding: 5px;
  font-weight: bold;
  background-color: #EFEFEF;
  border: 1px solid  #2F2F2F;
  border-radius: 5px;
}
.cmEntry {
  display:flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px;
  border: 1px solid  #BFBFBF;
  border-radius: 5px;
  text-align: center;
  margin-left: 4px;
  cursor:pointer;
  /* .cmEntry is itself a flex item of .cmRow (also display:flex) - without
     this, the icons appearing on hover still make the flex algorithm
     reserve room for their full natural width and grow .cmEntry, even
     though .cmRuleCell/.cmRuleLabel further inside already have their own
     min-width:0 + ellipsis. min-width:0 has to be set at EVERY nested flex
     level for truncation to actually cap the outermost box's width, not
     just visually truncate the text while still growing the container. */
  min-width: 0;
}
.cmEntry1 {
  width: 80%;
}
.cmEntry2 {
  width: 40%;
}
.cmEntry3 {
  width: 26.5%;
}
.cmEntry4 {
  width: 20%;
}
.cmEntry5 {
  width: 16%;
}
.cmEntry6 {
  width: 13.33%;
}
.cmEntry7 {
  width: 11.428%;
}
.cmEntry8 {
  width: 10%;
}
.cmHeader {
  font-weight: bold;
  background-color: #0D46A0;
  color: #FFFFFF;
}
.cmHeader:hover {
  background-color: #0D46A0 !important;
}

.cmEntrySelected {
  margin-left: 25% !important;
  background-color: #0D8726;
}
.cmSet {
  background-color: #E8FDEC !important;
}
.cmEntry:hover {
  background-color: #C0E2BB;
}
.cmHover {
  background-color: #C0E2BB !important;
}
.srHover {
  background-color: #C0E2BB !important;
}
.cmExeTime {
  min-height: 19px;
}
.smRemoved {
  color: red;
  font-weight: bold;  
}
#pnScoringControlTieBreakContent {
  margin-top: 8px;
  display: flex;
  box-sizing: border-box;
}
#pnScoringControlTieBreakMatrixOuter {
  width: 70%;
  margin-right: 1.5%;
}
#pnTieBreakAddLevel {
  padding: 6px;
  border: 1px solid #8F8F8F;
  border-radius: 5px;
  margin-top:10px;
}

#pnScoringControlTieBreakSelector {
  width: 38.5%;
  box-sizing: border-box;
  padding: 4px;
  border: 1px solid #8F8F8F;
  border-radius: 5px;
  min-height: 300px;
}

#pnScoringRuleSelected {
  box-sizing: border-box;
}
#pnScoringRulesList{
  margin-top:8px;
  padding: 3px;
  max-height: 480px;
  overflow:auto;
}
.crRule {
  display: flex;
  padding: 5px;
  border-radius: 5px;
  margin-bottom:3px;
  justify-content:space-between;
  cursor: pointer;
}
.crRuleInactive {
  background-color: #EFEFEF;
}
.stdRow {
   padding: 4px 0px 4px 4px;
}
.stdPadded {
   padding: 2px 0px 2px 4px;
}
.stdRow>label {
  width: 125px;
  font-weight: bold;
  display: inline-block;
}
.tieBreakRow>label {
  width: 165px;
}
.cmTieBreak {
  background-color: #FFFFFF;
}
.tbSelected {
  background-color: #CCFDAF;
}

.crRuleRow {
   padding: 4px 0px 4px 4px;
}
.crRulePadded {
   padding: 2px 0px 2px 4px;
}
.crRulePadded>label {
  width: 125px;
  font-weight: bold;
  display: inline-block;
}
.crRuleOpen {
  font-weight: bold;
  font-size: larger;
  padding-left: 9px;
  padding-right: 9px;
}
.crRuleOpen>img {
  height: 16px;
}
.crRuleRow>label {
  width: 160px;
  font-weight: bold;
  display: inline-block;
}
#pnScoringRuleButtons {
  display: flex;
  justify-content: space-between;
  align-content: space-between;
  box-sizing: border-box;
  width: 100%;
}
#pnScoringRuleHeader {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  padding-top: 10px;
  border-top: 2px solid #9F9F9F;
}
.canDrop {
  background-color:#07B042 !important;
}
.scSelected {
  background-color: #FF890A;
}
.cmDelete, .cmEdit, .cmViewAthletes {
  height: 14px;
  margin-left: 4px;
  cursor: pointer;
  flex-shrink: 0;
}
/* Delete is last in the icon group (edit, view athletes, delete) and sits
   right up against the athlete-count div that follows .cmRuleCell in the
   row - a bit of breathing room before it, on top of the smaller inter-icon
   gap above. */
.cmDelete {
  margin-right: 8px;
}
/* Flex context so cmRuleLabel can actually truncate rather than push the
   icons wide enough to wrap onto a second line on hover - min-width:0 is
   required here because a flex child's default min-width is auto, not 0,
   which otherwise fights the ellipsis/nowrap on the label below (same
   flexbox-truncation gotcha as .osPrefMemoPreview, Scripts/ssOrganization.js,
   if that one's ever used as a reference again). */
.cmRuleCell {
  display: flex;
  align-items: center;
  min-width: 0;
}
.cmRuleLabel {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.seLevelComplete {
   width: 11px;
   position: absolute;
   right:0;
   top: 0;
   background-color: #FFFF00;
   height: 100%;
   border-radius: 0px 5px 5px 0px;
}
.seAthleteHeader {
   display: flex;
   justify-content: space-between;
   padding: 4px;
   margin-bottom: 3px;
   background-color: #CFCFCF;
   color: #000000;
   font-weight: bolder;
   border-radius: 0px;
   cursor: pointer;
   box-sizing: border-box;
}
.seAthlete {
   display: flex;
   justify-content: space-between;
   padding: 4px;
   margin-bottom: 3px;
   background-color: #2929FF;
   color: #FFFFFF;
   border-radius: 5px;
   cursor: pointer;
   box-sizing: border-box;
}
.seAthleteIN {
   margin-left: 19%;
}
.seAthleteTBD {
   border: 1px solid #3F3F3F !important;
   background-color: #D0D0D0 !important;
   color: #000000 !important;
}
#seAthleteHeader {
   padding: 4px;
   margin-bottom: 5px;
   width: 100%;
   display: flex;
   justify-content: space-between;
   font-weight: bold;
}
#seAthletesList {

}
.seCell {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   margin-right: 1%;
}
.seAN {
   width: 34%;
}
.seAC {
   width: 29%;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   margin-right: 3%;
}
.seAL {
   width: 13%;
   margin-right: 1%;
}
.seAA {
   width: 13%;
   margin-right: 2%;
   text-align: right;
}
.seAG {
   width: 5%;
}
.seAI {
  width: 25%;
}
.seAE {
  width: 25%;
}
.seIM {
  width: 5%;
}
.seFlight {
   width: 100%;
   box-sizing: border-box;
   background-color: #F6F6F6;
   border: 1px solid #6F6F6F;
   border-radius: 5px;
   padding: 3px;
   margin-bottom: 5px;
   min-height: 40px;
}
.seFlightHeader {
   width: 100%;
   box-sizing: border-box;
   background-color: #9F9F9F;
   font-weight: bold;
   color: #FFFFFF;
   padding: 3px;
   margin-bottom: 5px;
   display: flex;
   justify-content: space-between;
}
#seSkillsEntryOuter {
   padding: 8px;
   height: auto;
   width: 430px;
   border-radius: 5px;
   box-sizing: border-box;
   z-index: 1001;
   position: absolute;
   top: 105px;
   left: 210px;
   border: 1px solid #23E72C !important;
   background-color: #FFFFFF !important;
   box-shadow: 1px 2px 3px #23E72C !important;
}
#seSkillsEntry {
   height: 100%;
   width: 100%;
   box-sizing: border-box;
   display: flex;
   justify-content: space-between;
}
#seSkillsHeader {
   font-weight: bold;
   padding: 2px 0px 2px 0px;
   margin-bottom: 0px;
   font-size: 12px;
}
#seSkillsFooter {
   display: flex;
   width: 100%;
   justify-content: space-between;
   margin-top: 12px;
}
#seSkillsOps {
   padding: 3px;
   width: 100%;
   margin-bottom: 3px;
   display: flex;
}
.seSkill {
   display: flex;
   flex-direction: column;
   flex-wrap: wrap;
   width: 50px;
   justify-content: space-between;
   margin-right: 2px;
   box-sizing: border-box;
}
.seSkill:hover {
    background-color: #E3F0FA !important;
}
.seSkillHeader {
   text-align: center;
   background-color: #F1F1F1;
   font-weight: bold;
}
.seHorzDisp{
   width: 70%;
   margin: auto;
}
.seKOLow {
   text-decoration: line-through;
   color: #6F6F6F;
}
.seKOHigh {
   text-decoration: line-through;
   color: #2F2F2F;
}
.seSkillGood {
   color: #FFFFFF;
   border: 1px solid #17B541;
   border-radius: 5px;
   background-color: #17B541;
}
.seSkillEntry {
   border: 0px solid #9F9F9F;
   background-color:#EFEFEF;
   border-right: 3px solid #17B541;
}
.seSkillEntry:disabled {
   border-right: 3px solid #8F8F8F !important;

}

.seSkillRow {
   height: 23px;
   vertical-align: middle;
   line-height: 23px;
}
#skLD {
   width: 50px;
}

.ui-state-highlight { height: 1.5em; line-height: 1.2em; background-color: red !important; }
.sortableSS { background: #07729D !important; color: #FFFFFF !important; }

.mrMeetRankingsLevel {
   padding: 5px;
   border-top: 1px solid #7F7F7F;
   background-color:#FCFCFC;
}

#pnControlBar {
   display: flex;
   padding; 4px;
   justify-content: space-between;
   margin-bottom: 5px;
}
#seStartTimes {
   display: inline-block;
}
.seStartTime {
   padding: 3px 8px 3px 8px;
   margin-right: 4px;
   margin-bottom: 4px;
   border: 1px solid #3F3F3F;
   border-radius: 3px;
   background-color:#F9F9F9;
   display: inline-block;
   cursor: pointer;
}
.seStartTime:hover {
   background-color: #E0E0E0;
}
.seSelected {
   background-color: #CCFDAF !important;
}
#pnSegmentInputMsgs {
  margin-top: 5px;
  padding: 3px;
}
.rpTTResults {
   border-spacing: 0px;
   border-collapse: collapse;
   table-layout: fixed;
}
.rpTTResults td {
   padding: 5px 2px 5px 2px;
   border: 1px solid #7F7F7F;
   vertical-align: middle;
   font-size: 11px;
}
.rpTTResults th {
   padding: 3px;
   border: 1px solid #7F7F7F;
   background-color:#CFCFCF;
   vertical-align: bottom;
   font-size: 12.1px; 
}
.rpTTResults tr:nth-child(even) {
   background-color: #f2f2f2;
}

.rpPS {
   width: 30px;
}
.rpClub {
   width: 90px;
}
.rpName {
   width: 130px;
}
.rpScore {
   width: 26px;
   text-align: right;
}
.rpRank {
   width: 27px;
   text-align: right;
}
.rpScoreW {
   width: 33px;
   text-align: right;
}
.rpScoreW2 {
   width: 37px;
   text-align: right;
}
.rpScoreFinal {
  width: 44px;
  text-align: right;
}
.rpScoreTotal {
  width: 49px;
  text-align: right;
  font-weight: bold;
}
.rpScoreTotalOverall {
  width: 65px;
  text-align: right;
  font-weight: bold;
  font-size: 13.6px !important;
}
.rpScoreVideo {
  width: 25px;
  text-align:center;
}
#pnResultsVideo {
  position:fixed;
  left:200px;
  top:200px;
  z-index:10001;
  width:10px;
  height:10px;
  background-color:#F2F2F2;
  border:1px solid black;
  border-radius:5px;
}
#pnVideoAthleteHeader {
  padding:5px;
  font-size: 15px;
  font-weight:bold;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
}
#videoWatched {
  z-index: 20001;
  font-size: 24px;
  font-weight: bold;
  color: white;
  position:absolute;
  left: 250px;
  top: 350px;
  padding: 10px;
  background-color:#BFBFBF;
}
#pnVideoNotes {
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left:6px;
  width: 100%:
}
#pnVideoProgress {
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: 6px;
  width: 100%;
}
#pnVideoProgressEntries {
  overflow-y: auto;
}

#seRuleEvents {
   display: flex;
   justify-content: space-between;
}
.seEventForRule {
   padding: 3px 6px 3px 6px;
   border: 1px solid #07B018;
   border-radius: 5px;
   margin-right: 4px;
   cursor: pointer;
}
.seEventForRule:hover {
   background-color: #E7FEE9;
}
.seREOff {
   background-color: #DFDFDF !important;
}
#newRuleIndicator {
   font-weight: bold;
   color: blue;
}
#pnScoringRulesFilters {
   display: flex;
   justify-content: space-between;
   padding: 3px;
   margin-top:3px;
   margin-bottom:5px;
}
#pnScoringRuleAthletes {
   position: absolute;
   width: 400px;
   min-height: 500px;
   padding: 4px;
   margin-top:3px;
   margin-bottom:5px;
   border: 1px solid #3F3F3F;
   border-radius: 5px;
   background-color: #FFFFFF;
   z-index: 999;
}
#pnScoringRuleAthletesList {
   overflow-y: auto;
   max-height: 400px;
}

#scViewer {
   margin-top: 4px;
   margin-bottom: 4px;
}
#rdDaysOfMeet .ui-button {
   padding: .7em 1em .7em 1em !important
}
#tbLevelCounts {
   border-spacing: 0px;
   border-collapse: collapse;
   table-layout: fixed;
   font-size: 12px;
   margin: 10px 12px 4px 12px;
   border: 1px solid #9F9F9F;
}
.lcCount {
   cursor: pointer;
}
.lcLevelName {
   width: 170px !important;
   text-align: left !important;
}
.lcEV1RemCount  {
  background-color:#F0F0F0;
}
.lcEV2RemCount  {
  background-color:#F0F0F0;
}
.lcEV3RemCount  {
  background-color:#F0F0F0;
}
.lcEV4RemCount  {
  background-color:#F0F0F0;
}
.lcEV5RemCount {
  background-color:#F0F0F0;
}
#tbLevelCounts th {
   padding: 3px;
   font-weight: bold;
   background-color:#CFCFCF;
   width: 24px;
   text-align: center;
}
#tbLevelCounts td {
   padding: 3px;
   width: 24px;
   text-align: center;
   border: 1px solid #9F9F9F;
}
#tbLevelCounts td:hover {
   background-color: #6F6F6F;
   color: #FFFFFF;
   font-weight: bold;
}
#pnMLSCAthletesList {
   max-height: 200px;
   overflow-y: auto;
}
#seResultsControl {
  display: flex;
  justify-content: space-between;
  margin: 4px 20px 4px 0px;
}
#seResultsTitle {
  margin: 4px 20px 4px 0px;
}
.rpTTResultsDetailed {
   border-spacing: 3px;
   border-collapse: separate;
   table-layout: fixed;
   font-size: 14px;
}
.rpTTResultsDetailed td {
   padding: 4px;
   vertical-align: middle;
}
.rpTTResultsDetailed th {
   padding: 4px;
   border: 1px solid #7F7F7F;
   background-color:#CFCFCF;
   vertical-align: bottom;
}
.rpRDRank {
   text-align: center;
   width: 40px;
}
td.rpRDRank {
   text-align: center;
   width: 42px;
}
.rpEScore {
   text-align: right;
   width: 40px;
}
td.rpEScore {
   width: 42px;
}

.rpRDTOF {
   text-align: right;
   width: 50px;
}
td.rpRDTOF {
   width: 52px;
}

.rpRDHDScore {
   text-align: right;
   width: 40px;
}
td.rpRDHDScore {
   width: 42px;
}

.rpRDSynchScore {
   text-align: right;
   width: 40px;
}
td.rpRDSynchScore {
   width: 42px;
}

.rpRDScore {
   text-align: right;
   width: 40px;
}
td.rpRDScore {
   width: 42px;
}
.rpRDEScoreAvg {
   text-align: right;
   width: 50px;
   font-weight: bold;
   background-color:#F4F4F4;
}
td.rpRDEScoreAvg {
   width: 52px;
}
.rpRDFlightTotal {
   text-align: right;
   width: 68px;
   font-weight: bold;
   font-size: 13.6px;
}

.rpRDTotalBorder {
   border: 1px solid #CFCFCF;
   border-radius: 5px;
}
.rpRDScoreFinal {
   text-align: right;
   width: 68px;
   font-weight: bold;
   font-size: 13.6px;
   border: 1px solid #CFCFCF;
   border-radius: 5px;
}
.rpSkillScore {
   padding: 3px;
   min-width: 20px;
   font-size: smaller;
   margin-right: 4px;
   display: inline-block;
   text-align: center;
}
.rpPrelimOnlyAthletes {
   background-color:#F0F0F0;
   height: 35px;
   font-weight: bold;
   vertical-align: middle;
   margin-top: 10px;
}
.rpRDAthleteName {
   font-weight: bold;
}
.rpName {
   font-weight: bold;
}
.trTTResultsSkills {
   border-spacing: 0px;
}
.trTTResultsSkills td {
  padding-top:0px;
  padding-bottom: 0px;
}

#svValidationIssues {
  height: 250px;
  overflow-y: auto;
}
.svValidationIssue {
  clear:both;
  margin-bottom: 3px;
  border: 1px solid #CC5C1A;
  padding: 3px;
}

#pnMeetLevelSummary {
   width: 400px;
   height: 500px;
   padding: 0px;
   box-sizing: border-box;
   border: 1px solid #2F2F2F !important;
   background-color: #FFFFFF !important;
   border-radius: 5px;
   box-shadow: 7px 6px 9px #BFBFBF !important;
   z-index: 999;
   position: fixed;
   top: 220px;
   right: 10px;
}
#pnMeetLevelSummaryContent {
  max-height: 450px;
  overflow:auto;
  background-color: #FFFFFF;
}
.noTNTScheduleReady {
  font-size: 15px;
  font-weight: bold;
  margin-top: 150px;
  margin-left:auto;
  margin-right:auto;
  width: 270px;
}
.diScratchAthlete {
  height: 15px;
}
.markedForDeletion {
  text-decoration: line-through;
  background-color: #FFE0E0;
}
#pnScheduleMsgs {
  padding-top:4px;
  padding-bottom:4px;  
}
#pnFSSelection {
  padding: 5px;
  border: 1px solid #0F0F0F;
  border-radius:5px;
  width: 30%;
  min-height: 300px;
}
#pnFSFlights {
  max-height: 600px;
  overflow-y: auto;
}
#pnFSSheets {
  padding: 5px;
  border: 1px solid #0F0F0F;
  border-radius:5px;
  width: 67%;
  min-height: 300px;
}
.flightSelect {
  display: flex;
  justify-content: flex-start !important;
  background-color: #F3F3F3 !important;
  border: 1px solid #4F4F4F !important;
  cursor: pointer;
}
.flightSelect:hover {
  color: blue !important;
  background-color: #9F9F9F !important;
}
.tntFlightFinals {
  background-color: #CC0000;
  width: 6px;
  height: 14px;
}
.fsSelect {
  width: 13px;
  margin-left: 30px;
  border: 1px solid  #BFBFBF;
}
.fsSelect img {
  height: 11px;
}

.faAthlete {
  display: flex;
  padding: 7px;
  border-bottom: 1px solid #8F8F8F;
  margin-left: 15px;
  font-size: 13px;
}
.faFS {
  text-align: left;
  width: 5%;
}
.faAN {
  text-align: left;
  width: 27%;
}
.faAC {
  text-align: left;
  width: 38%;
}
.faAL {
  text-align: left;
  width: 20%;
}
.faAG {
  text-align: left;
  width: 10%;
}
.fsSheetHeader {
  font-size: 20px;
  font-weight: bold;
  padding: 35px 15px 5px 15px;
}
.fsSheetFooter {
  font-size: 11px;
  padding: 15px;
}
.fsAthletesContainer {
  padding: 6px;
  border: 1px solid #7F7F7F;
  border-radius: 5px;
}
.fsPB {
  width: 70%;
  margin: auto;
}
#tbTNTTeamFinalsResults {
  width: 500px;
  border-spacing: 0px;
  font-size: 12px;
  border: 1px solid #7F7F7F;
}
#tbTNTTeamFinalsResults th {
  font-size: larger;
  font-weight: bold;
  border-collapse: collapse;
  padding: 5px;
  border-right: 1px solid #7F7F7F;
  border-bottom: 1px solid #7F7F7F;
  background-color: #CFCFCF;
}
#tbTNTTeamFinalsResults td {
  padding: 5px;
  border: 0px solid #4F4F4F;
}
#tbTNTTeamFinalsResults tr:nth-child(odd) {
  background-color: #F2F2F2;
}
#rpTFTeamSummary {
  padding: 10px;
}
#rpTFTeamDetails {
  margin-left: 20px;
  padding:10px;
}
#tbTNTTeamFinalsScores {
  width: 700px;
  border-spacing: 0px;
  font-size: 11px;
  border: 1px solid #7F7F7F;
}
#tbTNTTeamFinalsScores th {
  font-size: larger;
  font-weight: bold;
  border-collapse: collapse;
  padding: 5px;
  border-right: 1px solid #7F7F7F;
  border-bottom: 1px solid #7F7F7F;
  background-color: #CFCFCF;
}
#tbTNTTeamFinalsScores td {
  padding: 5px;
  border: 0px solid #4F4F4F;
}
#tbTNTTeamFinalsScores tr:nth-child(odd) {
  background-color: #F2F2F2;
}
.afAthlete {
  width: 25%;
  text-align:left;
}
.afTeam {
  width: 20%;
  text-align:left;
}
.afLevel {
  width: 10%;
  text-align:center;
}
.afExecution {
  width: 9%;
  text-align:right;
}
.afDD {
  width: 7%;
  text-align:right;
}
.afPenalty {
  width: 7%;
  text-align:right;
}
.afScore {
  width: 12%;
  text-align:right;
}
.afIN {
  width: 5%;
  text-align:center;
}
.afIN img {
  height: 11px;
}
.afFEO {
  width: 5%;
  text-align:center;
}
.afTFR {
  width: 5%;
  text-align:center;
}
.afTFPT {
  width: 5%;
  text-align:center;
}

.afTeamSeparator {
  height: 4px;
  font-size:4px;
}
.afTeamSeparator > td {
  background-color: #7F7F7F;
  padding: 0px !important;
}

.meetTeamHilite {
  background-color: #A8F872 !important;
  color: #000000 !important;
}

.tfRank {
  width: 10%;
  text-align:center;
  font-size: larger;
  font-weight: bold;
}
.tfTeam {
  width: 50%;
  text-align:left;
}
.tfScore {
  width: 15%;
  text-align:right;
}
.tfPoints {
  width: 15%;
  text-align:right;
}
.tfDiff {
  width: 10%;
  text-align:right;
}

@media print {
  #pnFSSheets {
     width: 100% !important;
     border: 0 !important;
  }

  .rpTTResultsDetailed {
     page-break-inside:avoid;
  }
}

/* ===================================================================
   tntScoreControl — styles lifted verbatim out of inline style=""
   attributes in the HTML that class emits (ssMeetAccess.js).

   Values are UNCHANGED from the inline versions they replace. The point
   of the move is that the flight scoring panel can now be re-skinned
   from a stylesheet (Bootstrap 5 in apps/LiveMeet) instead of needing
   the shared JS forked — inline styles can't be overridden without
   !important, class rules can.

   VERTICAL VALUES ARE LOAD-BEARING. The scoring panel has to fit up to
   14 score entry boxes stacked vertically on a Chromebook viewport, and
   the padding/line-height here was tuned for that. Do not "tidy" the
   numbers below; change them only against a real Chromebook-height test.
   =================================================================== */

/* Placeholder cell in an unused score block (PrepareScoreBlocks). */
.seEmptyScoreCell {
   padding: 3px;
   text-align: center;
}

/* "No viewing performed yet" in the video progress panel. */
.seVideoNoViewing {
   font-style: italic;
}

/* #seSkillsMsgs content. Three flat variants rather than modifier
   classes, matching the three distinct inline styles they replace. */
.seSkillsMsg {
   font-size: 11px;
   color: blue;
}
.seSkillsNote {
   font-size: smaller;
   color: blue;
}
.seSkillsError {
   font-size: smaller;
   color: red;
}

/* The leading label column of the skills entry/matrix panels. Wider than
   a skill column, so it must beat .seSkill's width:50px — the two-class
   selector does that on specificity, independent of rule order. */
.seSkill.seSkillLabels {
   width: 80px;
}

/* Was inline on the JS-built row only; the same markup in
   Team/toTNTTemplates.html carried no padding-top. Declared here so both
   call sites render identically. Nothing else sets padding on
   .seSkillRow, so this is 0 either way — it is stated, not introduced. */
.seNoScoreRow {
   padding-top: 0;
}

/* ScoreLabel(): the flex row inside .seExecutionLabel, and the label
   text within it. */
.seExecutionLabelRow {
   display: flex;
   justify-content: space-between;
   width: 100%;
   align-content: center;
}
.seExecutionLabelText {
   padding-top: 3px;
}

/* The by-Value / by-Skill entry-mode toggles (.btToggleScoreModes, emitted
   by ScoreLabel() in ssMeetAccess.js). They sit INSIDE a score label —
   "Difficulty:  [byV]" — not on a toolbar, so a full-size solid .ssButton
   overwhelmed the label it belongs to and made the label row taller than
   the score rows beside it. Recast as a small outline pill in the same
   orange/navy palette. Two-class selector + !important is needed because
   .ssButton in TabStylesS.css declares every one of these !important;
   the extra class also makes this win no matter which sheet loads last.
   The caption is always three characters ("byV"/"byS"). */
.ssButton.btToggleScoreModes {
   font-size: 10px !important;
   font-weight: 600 !important;
   height: 16px !important;
   line-height: 14px !important;
   padding: 0px 5px 0px 5px !important;
   margin: 0px 0px 0px 4px !important;
   border: 1px solid #FF9900 !important;
   border-radius: 4px !important;
   color: #11437C !important;
   background: #FFFFFF !important;
   filter: none !important;
   white-space: nowrap !important;
}
.ssButton.btToggleScoreModes:hover {
   color: #FFFFFF !important;
   background: #F89838 !important;
   filter: none !important;
}
.ssButton.btToggleScoreModes:active {
   background: #FDDBB9 !important;
   box-shadow: none;
}

/* Score entry cells (ScoreEntry/MobilityCheckBox). Scoped to td on
   purpose: .seEntry is also on the mobility checkbox <input> inside one
   of these cells, which must NOT pick up the column width. */
td.seEntry {
   width: 58px;
}

/* ===================================================================
   FLIGHT PANEL  (#dgTNTFlight — no longer a dialog, Sep 2026)

   The flight scoring surface used to be a jQuery UI dialog pinned at
   900x560. It is now a panel that takes over #pnSchedule's space in all
   three hosts: Team/toSessionsTNT.html, Team/ttJudgeSchedule.html and
   apps/LiveMeet. Scripts/MeetTNT.js builds the head/foot chrome and does
   the swap (OpenFlightPanel / CloseFlightPanel).

   Why it matters: 4-5 score blocks sit in a nowrap row needing ~1185px,
   so the 900px dialog was squeezing the content it existed to show —
   which is also why the judges app called openFullscreen() on short
   screens. As a panel it simply gets the page width.

   These are the STRUCTURAL rules, shared by all hosts. LiveMeet layers a
   Bootstrap 5 look on top in apps/LiveMeet/assets/css/lm-tnt.css. */
/* TWEAKABLE IN DEVTOOLS. Every knob below is a custom property declared ON
   .flightPanel rather than on a global, so selecting #dgTNTFlight with the
   element picker shows the whole set in the Styles pane, editable inline
   with live feedback. Settle on a look there, then copy the values you kept
   back into this block.

   Grouped: --fp-* frame, --fp-head-* header, --fp-foot-* footer. LiveMeet
   overrides the same names in apps/LiveMeet/assets/css/lm-tnt.css with
   Bootstrap-flavoured values, so both skins share one vocabulary. */
.flightPanel {
  /* frame */
  /* Caps the panel and therefore EVERYTHING in it — the athlete matrix and
     the one-athlete score panel alike, which are siblings and so needed a
     shared ancestor to be capped together. 1350px sits just above the
     1366px laptop/Chromebook viewport (~1349 after the scrollbar), so those
     are untouched and only wider screens are reined in. --fp-max-align
     centres the panel in the leftover space; set it to 0 to left-anchor. */
  --fp-max-width:    1350px;
  --fp-max-align:    auto;
  --fp-border-width: 1px;
  --fp-border-style: solid;
  --fp-border-color: #9F9F9F;
  --fp-radius:       5px;
  --fp-bg:           #FFFFFF;
  --fp-shadow:       1px 2px 3px #C9C9C9;
  /* Split so the footer can derive its full-bleed margins from the same
     values — see .flightPanelFoot. Keep them as a pair. */
  --fp-pad-y:        12px;
  --fp-pad-x:        14px;

  /* header */
  --fp-head-bg:           transparent;
  --fp-head-border-width: 1px;
  --fp-head-border-color: #C9C9C9;
  --fp-head-pad:          0 0 8px;
  --fp-head-mb:           10px;

  /* footer — the action bar, tinted so it reads as a distinct band rather
     than more panel body. */
  --fp-foot-bg:           #F1F1F1;
  --fp-foot-border-width: 1px;
  --fp-foot-border-color: #C9C9C9;
  --fp-foot-pad:          10px 12px;
  --fp-foot-mt:           14px;
  --fp-foot-radius:       0 0 5px 5px;

  width: 100%;
  max-width: var(--fp-max-width);
  margin-inline: var(--fp-max-align);
  box-sizing: border-box;
  border: var(--fp-border-width) var(--fp-border-style) var(--fp-border-color);
  border-radius: var(--fp-radius);
  background: var(--fp-bg);
  box-shadow: var(--fp-shadow);
  padding: var(--fp-pad-y) var(--fp-pad-x);
}
.flightPanelHead {
  background: var(--fp-head-bg);
  padding: var(--fp-head-pad);
  margin-bottom: var(--fp-head-mb);
  border-bottom: var(--fp-head-border-width) solid var(--fp-head-border-color);
}
.flightPanelTitle {
  font-size: 15px;
  font-weight: bold;
}
/* Negative side margins pull the footer out to the panel's inner edges so
   its tint spans the full width instead of sitting inset by --fp-pad. */
.flightPanelFoot {
  background: var(--fp-foot-bg);
  padding: var(--fp-foot-pad);
  margin: var(--fp-foot-mt) calc(-1 * var(--fp-pad-x)) calc(-1 * var(--fp-pad-y));
  border-top: var(--fp-foot-border-width) solid var(--fp-foot-border-color);
  border-radius: var(--fp-foot-radius);
}
/* The three-column button row MeetTNT.js builds inside this
   (#udbLeft / #udbFlightMiddle / #udbRight). */
.flightPanelFoot .ui-dialog-buttonset {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

/* Score-matrix placeholder (FlightLoadingMessage in Scripts/MeetTNT.js).
   Replaces the old inline <h3 style="margin-top:80px;...">loading...</h3>.
   The TeamWeb hosts set no min-height on #seScoresContentMatrix, so unlike
   the LiveMeet rule this carries its own height to centre within. */
.seMatrixLoading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  color: #6F6F6F;
  font-size: 14px;
}

/* Athlete header layout (#seScoreHeader) — see the markup note in
   Team/toSessionsTNT.html. The flight sequence gets its own column so the
   club/level row lines up under the athlete name without the old
   margin-left:37px, which depended on the font's digit width and broke as
   soon as the sequence reached two digits. */
.seHdrGrid {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
}
.seHdrSeq  { flex: 0 0 auto; }
.seHdrMain { flex: 1 1 auto; min-width: 0; }   /* min-width:0 lets long names ellipsize rather than push the row wide */
/* Athlete name is the heading of this panel — a step up from the metadata
   beneath it, which was lost when both rows carried inline font-size:14px. */
.seHdrName {
  margin-right: 15px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.25;
}
.seHdrMeta {
  display: inline-block;
  margin-right: 15px;
  font-size: 13px;
}
