/* Fixed-width percentage inputs. Long explanations belong above, not inside cells. */
.ow-sim-competitor-drawer-grid{min-width:1120px!important}
.ow-sim-competitor-drawer-grid .ow-sim-competitor-drawer-row{grid-template-columns:minmax(130px,1.2fr) repeat(3,95px) minmax(190px,2fr) 100px 115px 120px!important;gap:12px!important}
.ow-sim-competitor-drawer-row>*{min-width:0;box-sizing:border-box}
.ow-sim-competitor-drawer-row>strong{white-space:nowrap;font-size:13px!important}
.ow-sim-competitor-drawer-columns{line-height:1.4!important;white-space:nowrap}
.ow-sim-competitor-drawer-field input[type=number]{width:68px!important;max-width:100%!important;height:34px!important;min-height:34px!important;font-size:13px!important;padding:5px 7px!important}
.ow-sim-competitor-drawer-field select{height:34px!important;min-height:34px!important;font-size:13px!important;padding:5px 7px!important}
.ow-sim-start-line-slider{grid-template-columns:24px minmax(0,1fr) 24px!important;gap:6px!important}
.ow-sim-start-line-slider .ow-sim-line-end{min-width:0!important;width:auto!important;font-size:11px!important;white-space:nowrap}
.ow-sim-start-line-slider .ow-sim-line-end::after{content:none!important}
@media(pointer:coarse){.ow-sim-competitor-drawer-field input[type=number],.ow-sim-competitor-drawer-field select{height:44px!important;min-height:44px!important}}

/* Eight controls stay on one row; narrow screens scroll the table horizontally. */
body.mobile-ui-active #app-sidebar.mobile-sheet-open{transform:none!important}
.ow-sim-competitor-drawer{left:auto!important;right:0!important;width:min(1240px,100vw)!important;max-width:100vw;overflow:auto}
.ow-sim-conditions-drawer{width:min(640px,100vw)!important}
.ow-sim-conditions-drawer .ow-sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ow-sim-competitor-drawer-head{position:sticky;top:0;background:#fff;z-index:3;padding-bottom:10px}
body.mobile-ui-active #ow-simulation-sidebar-card .ow-sim-competitor-drawer{position:fixed!important;inset:var(--mobile-header-height,64px) 0 var(--mobile-nav-height,80px) auto!important;width:100vw!important;max-height:calc(100dvh - 144px)!important;overflow:auto!important;box-shadow:-8px 0 30px #0b1d3a33}
@media(max-width:480px){.ow-sim-conditions-drawer .ow-sim-grid{grid-template-columns:minmax(0,1fr)}}
/* P176 — only the Competitors and Conditions drawers: left anchored and compact. */
@media (min-width:821px) {
  #ow-simulation-sidebar-card .ow-sim-competitor-drawer {
    left:var(--opti-sidebar-width,310px)!important;
    right:auto!important;
    width:min(1240px,calc(100vw - var(--opti-sidebar-width,310px)))!important;
    max-width:calc(100vw - var(--opti-sidebar-width,310px))!important;
    box-shadow:18px 0 50px rgba(11,29,58,.28)!important;
  }

  #ow-simulation-sidebar-card .ow-sim-conditions-drawer {
    width:min(1120px,calc(100vw - var(--opti-sidebar-width,310px)))!important;
    padding:14px!important;
  }

  .ow-sim-conditions-drawer .ow-sim-competitor-drawer-head {
    margin-bottom:4px;
    padding-bottom:4px;
  }

  .ow-sim-conditions-drawer > .ow-sim-note {
    margin:0 0 8px;
    font-size:11px;
  }

  .ow-sim-conditions-drawer .ow-sim-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px 10px!important;
    padding-bottom:8px!important;
    align-items:start;
  }

  .ow-sim-conditions-drawer .ow-wind-direction-field {
    grid-column:span 2!important;
    grid-row:span 5;
    gap:6px;
    padding:8px 10px;
  }

  .ow-sim-conditions-drawer .ow-wind-rose {
    width:170px!important;
  }

  .ow-sim-conditions-drawer .ow-wind-flow-description {
    gap:1px;
  }

  .ow-sim-conditions-drawer .ow-wind-flow-description > small {
    max-width:220px;
  }

  .ow-sim-conditions-drawer .ow-sim-field {
    gap:3px;
    font-size:11px;
  }

  .ow-sim-conditions-drawer .ow-sim-input-wrap input {
    height:30px;
    padding:0 7px;
  }

  .ow-sim-conditions-drawer .ow-sim-input-wrap small {
    min-width:20px;
  }
}
/* P177 — direct Conditions drawer, content-sized panel and precise wind vector. */
@media (min-width:821px) {
  #ow-simulation-sidebar-card .ow-sim-conditions-drawer {
    bottom:auto!important;
    width:min(920px,calc(100vw - var(--opti-sidebar-width,310px)))!important;
    height:auto!important;
    max-height:calc(100vh - 86px)!important;
  }

  .ow-sim-conditions-drawer .ow-wind-rose {
    width:200px!important;
  }

  .ow-sim-conditions-drawer .ow-wind-vector {
    left:15%!important;
    width:70%!important;
    height:5px!important;
    border:0!important;
    background:linear-gradient(90deg,#0b4fa6 0%,#087fdb 100%)!important;
    border-radius:999px!important;
    transform:rotate(calc(var(--wind-to) - 90deg))!important;
    transform-origin:50% 50%!important;
    filter:drop-shadow(0 2px 2px rgba(11,29,58,.24))!important;
  }

  .ow-sim-conditions-drawer .ow-wind-vector::before {
    left:-7px!important;
    top:50%!important;
    width:12px!important;
    height:12px!important;
    border:3px solid #0b4fa6!important;
    border-radius:50%!important;
    background:#fff!important;
    transform:translateY(-50%)!important;
  }

  .ow-sim-conditions-drawer .ow-wind-vector::after {
    right:-2px!important;
    top:50%!important;
    width:13px!important;
    height:13px!important;
    border:0!important;
    border-top:5px solid #087fdb!important;
    border-right:5px solid #087fdb!important;
    background:transparent!important;
    transform:translateY(-50%) rotate(45deg)!important;
  }
}
