/* Compact position list: reserve space only for columns with meaningful data. */
#ow-race-lite-panel.ow-compact-p133 .ow-race-lite-box,
#ow-map-quick-actions-v1 #ow-race-lite-panel.ow-compact-p133 .ow-race-lite-box {
  width: var(--ow-standings-width, 372px) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: none !important;
  border-radius: 11px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px #0f172a33 !important;
  background: #142133f5 !important;
}
#ow-race-lite-panel.ow-compact-p133 .ow-race-lite-head {
  min-height: 34px !important;
  padding: 4px 8px !important;
  font-size: 11px !important;
  gap: 6px !important;
}
#ow-race-lite-panel.ow-compact-p133 .ow-race-lite-refresh,
#ow-race-lite-panel.ow-compact-p133 .ow-race-lite-close {
  width: 28px !important; min-height: 28px !important; padding: 0 !important;
  font-size: 17px !important; border-radius: 7px !important;
}
#ow-race-lite-panel.ow-compact-p133 .ow-race-lite-table-wrap {
  max-height: min(42vh, 320px); max-height: min(42dvh, 320px);
  overflow: auto; overscroll-behavior: contain; touch-action: pan-y;
}
#ow-race-lite-panel.ow-compact-p133 table { width: 100% !important; font-size: 11px !important; }
#ow-race-lite-panel.ow-compact-p133 th,
#ow-race-lite-panel.ow-compact-p133 td {
  display: table-cell !important; padding: 4px 5px !important; line-height: 18px !important;
  width: auto !important; font-variant-numeric: tabular-nums;
}
#ow-race-lite-panel.ow-compact-p133 th {
  position: sticky; top: 0; z-index: 1; background: #eaf4fc !important;
  color: #3b5977 !important; font-size: 9px !important; letter-spacing: 0 !important;
}
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(1) { width: 28px !important; text-align: center !important; }
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(3) { width: 32px !important; text-align: center !important; }
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(4) { width: 68px !important; text-align: center !important; }
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(5) { width: 48px !important; text-align: right !important; }
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(6) { width: 44px !important; text-align: center !important; }
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(7) { width: 66px !important; text-align: left !important; }
#ow-race-lite-panel.ow-compact-p133.ow-no-change :is(th,td):nth-child(3),
#ow-race-lite-panel.ow-compact-p133.ow-no-state :is(th,td):nth-child(4),
#ow-race-lite-panel.ow-compact-p133.ow-no-penalty :is(th,td):nth-child(6) { display: none !important; }
#ow-race-lite-panel.ow-compact-p133 td[colspan] { width: auto !important; white-space: normal !important; }
#ow-race-lite-panel.ow-compact-p133 .ow-sail-main { display: flex !important; align-items: center; gap: 5px; min-width: 0; }
#ow-race-lite-panel.ow-compact-p133 .ow-sail-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ow-race-lite-panel.ow-compact-p133 .ow-race-dot { flex: 0 0 8px; width: 8px !important; height: 8px !important; margin: 0 !important; }
#ow-race-lite-panel.ow-compact-p133 .ow-position-pin { flex: 0 0 24px; width: 24px !important; height: 24px !important; margin: 0 !important; font-size: 16px !important; }
#ow-race-lite-panel.ow-compact-p133 .ow-race-state,
#ow-race-lite-panel.ow-compact-p133 .ow-start-penalty { min-width: 0 !important; max-width: 100%; padding: 1px 4px !important; line-height: 16px !important; border: 0 !important; }
#ow-race-lite-panel.ow-compact-p133 .ow-race-mobile-state { display: none !important; }
#ow-race-lite-panel.ow-compact-p133 tbody tr:nth-child(even):not(.ow-row-warning):not(.ow-position-row-pinned):not([class*="ow-row-state-"]) td { background: #ffffff04 !important; }
#ow-race-lite-panel.ow-compact-p133 button:focus-visible { outline: 2px solid #38bdf8 !important; outline-offset: 1px; }
@media (max-width: 540px) {
  #ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(4) { display: none !important; }
  #ow-race-lite-panel.ow-compact-p133 .ow-race-mobile-state { display: inline-flex !important; margin: 2px 0 0 29px !important; min-height: 16px !important; font-size: 9px !important; }
  #ow-race-lite-panel.ow-compact-p133 .ow-race-lite-table-wrap { max-height: 36vh; max-height: 36dvh; }
}
@media (pointer: coarse) {
  #ow-race-lite-panel.ow-compact-p133 .ow-position-pin { flex-basis: 36px; width: 36px !important; height: 36px !important; }
  #ow-race-lite-panel.ow-compact-p133 .ow-race-lite-refresh,
  #ow-race-lite-panel.ow-compact-p133 .ow-race-lite-close { width: 36px !important; min-height: 36px !important; }
}
/* Keep Leaflet/GPS anchors and heading rotation untouched; scale only the drawing. */
.ow-racelab-v2-icon .ow-racelab-v2-wrap .ow-rl2-boat-svg {
  scale: var(--ow-racelab-boat-scale-p133, 1);
  transform-origin: 31px 37px;
  filter: drop-shadow(0 1px 1.5px #0f172a40) !important;
}
.ow-racelab-v2-icon .ow-rl2-label {
  font-size: 10px !important; font-weight: 700 !important; line-height: 1.2 !important;
  padding: 2px 5px !important; min-height: 16px !important; max-width: 112px !important;
  box-shadow: 0 1px 3px #0f172a26 !important;
}
.ow-racelab-v2-icon .ow-rl2-label-text-v1b { overflow: hidden; text-overflow: ellipsis; }

/* P138: state and penalty stay beside the sail at EVERY viewport size.
   Legacy cells remain in the DOM for old integrations, never reserve map width. */
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(4),
#ow-race-lite-panel.ow-compact-p133 :is(th,td):nth-child(6) { display: none !important; }
#ow-race-lite-panel.ow-compact-p133 .ow-race-status-p138 {
  display: flex !important; flex-wrap: wrap; gap: 3px; margin: 2px 0 0 29px;
  white-space: normal; max-width: 100%;
}
#ow-race-lite-panel.ow-compact-p133 .ow-race-status-p138 > span {
  display: inline-flex !important; min-width: 0 !important; min-height: 16px;
  font-size: 9px !important; font-weight: 700; white-space: nowrap;
}
#ow-race-lite-panel.ow-compact-p133 .ow-race-status-p138 .ow-start-penalty {
  color: #fff1bd !important; background: #604414 !important;
}
#ow-race-lite-panel.ow-compact-p133 .ow-open-boat-p138 {
  display: inline-block !important; width: auto !important; min-width: 0 !important;
  min-height: 24px !important; padding: 0 !important; border: 0 !important;
  margin: 0 !important; border-radius: 3px !important; background: transparent !important;
  color: inherit !important; font: inherit !important; font-weight: 700 !important;
  text-align: left !important; cursor: pointer; box-shadow: none !important;
}
#ow-race-lite-panel.ow-compact-p133 .ow-open-boat-p138:hover { text-decoration: underline; }
@media (pointer: coarse) {
  #ow-race-lite-panel.ow-compact-p133 .ow-open-boat-p138 { min-height: 36px !important; }
  #ow-race-lite-panel.ow-compact-p133 .ow-race-status-p138 { margin-left: 41px; }
}

/* P138: reserve delta width even when nobody changes position. */
#ow-race-lite-panel.ow-compact-p133.ow-no-change :is(th,td):nth-child(3) { display: table-cell !important; }
#ow-race-lite-panel.ow-compact-p133 table { table-layout: fixed !important; }
