/* COMPASS+ V12.37 · Línea temporal continua, resolución 1 h y colores marítimos. */
.workspace .floating-time-dock {
  --timeline-label: 156px;
  --timeline-edge: 13.5px;
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-template-columns: none;
  grid-template-rows: none;
  width: 100%;
  max-height: min(340px, 58vh);
  overflow-y: auto;
  padding: 7px 13px 8px;
  border-top: 1px solid #dbe7ed;
  border-radius: 8px 8px 0 0;
  background: #fff;
}
.workspace .floating-time-dock .timeline-top {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex: none;
  width: 100%;
  height: 36px;
  min-height: 36px;
  gap: 8px;
  margin: 0;
}
.workspace .floating-time-dock .time-dock-title {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 10px;
  white-space: nowrap;
}
.workspace .floating-time-dock .time-dock-title > strong {
  font-size: 12px;
  font-weight: 700;
  flex: none;
  color: #28485a;
}
.workspace .floating-time-dock .time-readout {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 4px 8px;
  border: 1px solid #dfe8ec;
  border-radius: 5px;
  background: #f1f6f8;
  color: #1f3846;
  font: 650 11px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workspace .floating-time-dock .time-offset-badge {
  display: inline-flex;
  flex: none;
  padding: 4px 7px;
  border-radius: 5px;
  background: #e1f2f6;
  color: #006d86;
  font: 750 11px/1.4 ui-monospace, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
}
.workspace .floating-time-dock .time-step-buttons {
  display: inline-flex;
  align-items: center;
  flex: none;
  height: 26px;
  overflow: hidden;
  border: 1px solid #cbdae2;
  border-radius: 6px;
}
.workspace .floating-time-dock .time-step-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  min-height: 26px;
  min-width: 48px;
  margin: 0;
  padding: 0 9px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #365466;
  background: #fff;
  font: 700 11px/1 ui-monospace, Menlo, Consolas, monospace;
  white-space: nowrap;
  cursor: pointer;
}
.workspace .floating-time-dock .time-step-control + .time-step-control {border-left: 1px solid #cbdae2;}
.workspace .floating-time-dock .time-step-control:hover,
.workspace .floating-time-dock .time-step-control:focus-visible {background:#e7f3f7;color:#006d86;}
.workspace .floating-time-dock .timeline-viewport {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #c4d9e2 transparent;
}
.workspace .floating-time-dock .timeline-matrix {min-width: 670px; width: 100%;}
.workspace .floating-time-dock .timeline-grid,
.workspace .floating-time-dock .meteo-lane {
  display: grid;
  grid-template-columns: var(--timeline-label) minmax(0,1fr);
  column-gap: 0;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
}
.workspace .floating-time-dock .timeline-scrub-row {height: 58px; min-height: 58px;}
.workspace .floating-time-dock .timeline-row-label {min-width:0;}
.workspace .floating-time-dock .timeline-scrubber {
  position: relative;
  min-width: 0;
  height: 58px;
  --active-left: 0%;
}
/* Range nativo visible: pulgar arrastrable a cada hora, 0..72. */
.workspace .floating-time-dock #timeSlider {
  position: absolute;
  z-index: 3;
  top: 5px;
  left: 6px;
  display: block;
  width: calc(100% - 12px);
  height: 22px;
  min-height: 22px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  accent-color: #007e99;
  opacity: 1;
}
.workspace .floating-time-dock #timeSlider::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 5px;
  background: linear-gradient(to right, #007e99 0%, #007e99 var(--active-left), #cbdde5 var(--active-left), #cbdde5 100%);
}
.workspace .floating-time-dock #timeSlider::-moz-range-track {height:4px;border-radius:5px;background:#cbdde5;}
.workspace .floating-time-dock #timeSlider::-moz-range-progress {height:4px;border-radius:5px;background:#007e99;}
.workspace .floating-time-dock #timeSlider::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 15px;
  height: 20px;
  margin-top: -8px;
  border: 2px solid white;
  border-radius: 8px;
  background: #007e99;
  box-shadow: 0 0 0 1.4px #006981, 0 1px 4px #12465b3a;
}
.workspace .floating-time-dock #timeSlider::-moz-range-thumb {
  width: 12px;
  height: 17px;
  border: 2px solid white;
  border-radius: 8px;
  background: #007e99;
  box-shadow: 0 0 0 1.4px #006981, 0 1px 4px #12465b3a;
}
.workspace .floating-time-dock #timeSlider:focus-visible {outline: 2px solid #007e99;outline-offset:2px;border-radius:4px;}
.workspace .floating-time-dock .timeline-scrub-ticks {
  position: absolute;
  inset: 31px var(--timeline-edge) auto;
  height: 16px;
  pointer-events: none;
}
.workspace .floating-time-dock .timeline-offset-tick {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  font: 600 10px/1.4 ui-monospace, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  color: #688294;
}
.workspace .floating-time-dock .timeline-offset-tick.is-first {transform: none;}
.workspace .floating-time-dock .timeline-offset-tick.is-last {transform: translateX(-100%);}
.workspace .floating-time-dock .timeline-reference-layer {
  position: absolute;
  z-index: 4;
  left: var(--timeline-edge);
  right: var(--timeline-edge);
  top: 43px;
  height: 15px;
  pointer-events: none;
}
.workspace .floating-time-dock .timeline-reference-layer[hidden] {display:none!important;}
.workspace .floating-time-dock .timeline-reference-marker {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 13px;
  height: 13px;
  padding: 0 4px;
  border: 1px solid #8bc7c5;
  border-radius: 4px;
  color: #006f66;
  background: #eff8f8;
  font-size: 8px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
}
.workspace .floating-time-dock .timeline-reference-marker.role-exit {background:#fff2e9;border-color:#efbb90;color:#a75017;}
.workspace .floating-time-dock .timeline-reference-marker.is-overlap {top: 6px;}
.workspace .floating-time-dock .timeline-day-header,
.workspace .floating-time-dock .timeline-hour-header {
  position: relative;
  display: block;
  margin-left: var(--timeline-label);
  width: calc(100% - var(--timeline-label));
  padding: 0;
  box-sizing: border-box;
}
 .workspace .floating-time-dock .timeline-ruler-inner {
  position:absolute;
  top:0;
  bottom:0;
  left:var(--timeline-edge);
  right:var(--timeline-edge);
}
.workspace .floating-time-dock .timeline-day-header {
  height: 24px;
  border-top: 1px solid #e1eaf0;
  background: #f5f9fb;
}
.workspace .floating-time-dock .timeline-day-group {
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 23px;
  color: #4b6375;
  font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.workspace .floating-time-dock .timeline-day-group.is-day-start {border-left:1px solid #bfd4e0;}
.workspace .floating-time-dock .timeline-hour-header {
  height: 28px;
  border-bottom: 1px solid #dbe7ed;
  background: #fff;
}
.workspace .floating-time-dock .timeline-hour-cell {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 27px;
  padding: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: #496578;
  background: transparent;
  font: 650 10px/1 ui-monospace, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  cursor: pointer;
}
.workspace .floating-time-dock .timeline-hour-cell.is-first {transform:translateX(-2px);}
.workspace .floating-time-dock .timeline-hour-cell.is-last {transform:translateX(calc(-100% + 2px));}
.workspace .floating-time-dock .timeline-hour-cell:hover,
.workspace .floating-time-dock .timeline-hour-cell:focus-visible {color:#006c87;background:#eaf5f8;}
.workspace .floating-time-dock .timeline-hour-cell.is-active {color:#006c87;font-weight:800;border-bottom-color:#007e99;background:#e2f3f7;}
.workspace .floating-time-dock .meteo-lanes {
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.workspace .floating-time-dock .meteo-lane {
  min-height: 64px;
  height: 64px;
  border-bottom: 1px solid #dfe9ee;
}
.workspace .floating-time-dock .meteo-lane-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width:0;
  gap: 3px;
  padding: 0 10px 0 4px;
}
.workspace .floating-time-dock .meteo-lane-heading strong {
  display: block;
  color: #315569;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
}
.workspace .floating-time-dock .meteo-active-value {
  display: block;
  color: #006f89;
  font: 750 12px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.workspace .floating-time-dock .meteo-lane.wave .meteo-active-value {color:#386a9c;}
.workspace .floating-time-dock .meteo-lane.current .meteo-active-value {color:#1d796c;}
.workspace .floating-time-dock .meteo-lane-values,
.workspace .floating-time-dock .meteo-lane-values:nth-child(even) {
  position: relative;
  display: block;
  min-width:0;
  width:100%;
  height: 62px;
  margin:0;
  padding:0 var(--timeline-edge);
  overflow:hidden;
  border-left: 1px solid #edf3f5;
  box-sizing:border-box;
  background: #fff;
  cursor:crosshair;
}
.workspace .floating-time-dock .meteo-lane-values:hover {background:#f8fbfd;}
.workspace .floating-time-dock .meteo-curve {
  position:absolute;
  left:var(--timeline-edge);
  top:0;
  width:calc(100% - 27px);
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.workspace .floating-time-dock .meteo-curve-stroke {
  fill:none;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.workspace .floating-time-dock .meteo-area {stroke:none;}
.workspace .floating-time-dock .meteo-day-rule {
  stroke:#d9e6ed;
  stroke-width:.75;
  vector-effect:non-scaling-stroke;
}
.workspace .floating-time-dock .meteo-sample-dot {opacity:.85;stroke:white;stroke-width:1;vector-effect:non-scaling-stroke;}
.workspace .floating-time-dock .meteo-selected-dot {stroke:white;stroke-width:1.7;vector-effect:non-scaling-stroke;}
.workspace .floating-time-dock .meteo-direction-arrow {
  fill:none;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.workspace .floating-time-dock .meteo-crosshair-layer {
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  left:var(--timeline-edge);
  right:var(--timeline-edge);
  pointer-events:none;
}
.workspace .floating-time-dock .meteo-crosshair {
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  width:1px;
  transform:translateX(-.5px);
  background:rgba(0,108,135,.55);
  pointer-events:none;
}
.workspace .floating-time-dock .meteo-outside-coverage {
  position:absolute;
  z-index:1;
  top:0;right:0;bottom:0;
  background:repeating-linear-gradient(135deg,transparent 0 6px,#d9e5ec7c 6px 7px);
  pointer-events:none;
}
.workspace .floating-time-dock .meteo-outside-coverage[hidden] {display:none!important;}
.workspace .floating-time-dock .meteo-secondary {
  position:relative;
  display:block;
  min-width:0;
  width:100%;
  padding:0;
  margin:0;
  border:0;
}
/* Summary no flotante: cerrado tras Viento, abierto tras Corriente. */
.workspace .floating-time-dock .meteo-secondary[open] {display:flex;flex-direction:column;}
.workspace .floating-time-dock .meteo-secondary > summary {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  width:100%;
  height:29px;
  min-height:29px;
  margin:0;
  padding:0 6px 0 4px;
  border-bottom:1px solid #e2ebf0;
  background:#f8fbfc;
  color:#006f87;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  list-style:none;
  cursor:pointer;
}
.workspace .floating-time-dock .meteo-secondary > summary::-webkit-details-marker {display:none;}
.workspace .floating-time-dock .meteo-secondary > summary::marker {content:'';}
.workspace .floating-time-dock .meteo-secondary > summary:hover {background:#eaf5f8;}
.workspace .floating-time-dock .meteo-secondary[open] > summary {order:2;}
.workspace .floating-time-dock .meteo-secondary .meteo-tracks {display:block;min-width:0;width:100%;}
.workspace .floating-time-dock .meteo-secondary[open] .meteo-tracks {order:1;}
.workspace .floating-time-dock .meteo-secondary:not([open]) .meteo-tracks {display:none;}
.workspace .floating-time-dock .meteo-secondary > summary span {color:inherit;transform:none;margin:0;}
.workspace .floating-time-dock .meteo-secondary > summary #meteoSecondaryHint {font-size:11px;}
.workspace .floating-time-dock .meteo-status {display:none;}
.workspace .floating-time-dock .meteo-status:has(.meteo-retry:not([hidden])) {
  display:flex;
  justify-content:flex-end;
  padding:3px 4px;
}
.workspace .floating-time-dock #meteoDataType {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.workspace .floating-time-dock .meteo-retry {font-size:10px;}
.workspace .floating-time-dock .meteo-empty-state {padding:6px 4px;font-size:10px;color:#617c8b;}
.workspace .floating-time-dock [hidden] {display:none!important;}
@media(max-width:800px){
  .workspace .floating-time-dock {--timeline-label:116px;padding-inline:7px;}
  .workspace .floating-time-dock .timeline-matrix {min-width:660px;}
  .workspace .floating-time-dock .time-dock-title {gap:6px;}
  .workspace .floating-time-dock .time-readout {font-size:10px;padding-inline:5px;}
}
@media(max-width:540px){
  .workspace .floating-time-dock {max-height:min(340px,53vh);}
  .workspace .floating-time-dock .time-dock-title>strong {display:none;}
  .workspace .floating-time-dock .time-offset-badge {padding-inline:5px;}
  .workspace .floating-time-dock .time-step-control {min-width:40px;padding-inline:5px;}
}
@media(prefers-reduced-motion:reduce){
  .workspace .floating-time-dock * {scroll-behavior:auto;transition:none;}
}
