/* COMPASS+ · Información: grid técnico, fuentes, participantes y umbrales. */

/* Diálogo estable entre pestañas; sólo el cuerpo interior se desplaza. */
#helpDialog.help-modal.settings-modal {
  display:flex; flex-direction:column;
  width:min(940px,calc(100vw - 32px)); max-width:940px;
  height:min(720px,calc(100dvh - 32px)); max-height:720px;
  min-height:0; padding:0; overflow:hidden;
  border:1px solid #E2E8F0; border-radius:10px; background:#fff;
  box-shadow:0 4px 20px -2px rgba(15,23,42,.08),0 0 0 1px rgba(15,23,42,.06);
}
/* Un dialog cerrado no debe renderizarse bajo el viewport.
   Debe prevalecer sobre #helpDialog.help-modal.settings-modal { display:flex }. */
#helpDialog.help-modal.settings-modal:not([open]) {display:none;}
#helpDialog .settings-dialog-header {padding:19px 24px 16px;align-items:center;}
#helpDialog .settings-heading h2 {font-size:18px;margin:3px 0 0;}
#helpDialog .settings-tabs {flex:none;padding:0 24px;gap:24px;}
#helpDialog .settings-tab {padding:11px 0 10px;font-size:12px;}
#helpDialog .settings-content {flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px 28px;}
#helpDialog .info-section-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;}
#helpDialog .info-section-heading h3 {margin:0;font-size:13px;font-weight:700;color:#162F3C;}
#helpDialog .source-freshness-status {margin:0 0 8px;font-size:11px;color:#64748B;}
#helpDialog .source-freshness-status:empty {display:none;}

/* Fuente: dos columnas compactas, bloque SIMO completo y minimapa sin interacción. */
#helpDialog .source-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid #E2E8F0;}
#helpDialog .source-card {min-width:0;display:flex;flex-direction:column;gap:9px;padding:16px 18px 18px 0;background:transparent;border:0;border-bottom:1px solid #E2E8F0;border-radius:0;box-shadow:none;}
#helpDialog .source-card-traffic {padding-left:20px;padding-right:0;border-left:1px solid #E2E8F0;}
#helpDialog .source-card-meteo {grid-column:1/-1;padding:18px 0 0;border-bottom:0;}
#helpDialog .source-card-head {display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin:0;min-width:0;}
#helpDialog .source-card-head h4 {font-size:13px;font-weight:700;color:#183744;margin:3px 0 0;}
#helpDialog .source-kind {display:inline-block;border:0;background:none;padding:0;border-radius:0;letter-spacing:.075em;color:#0F627A;font:700 10px/1.2 system-ui,sans-serif;}
#helpDialog a.source-action {display:inline-flex;align-items:center;white-space:nowrap;min-width:0;max-width:100%;color:#0F627A;text-decoration:none;font:600 10.5px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;background:#F1F5F9;border:1px solid #E2E8F0;border-radius:5px;padding:6px 8px;}
#helpDialog a.source-action:hover {background:#E4EDF2;text-decoration:underline;}
#helpDialog .source-kv {display:grid;grid-template-columns:114px minmax(0,1fr);margin:0;line-height:1.35;font-size:11px;}
#helpDialog .source-kv dt,#helpDialog .source-kv dd {min-width:0;margin:0;padding:7px 0;border-bottom:1px solid #F1F5F9;}
#helpDialog .source-kv dt {color:#64748B;}
#helpDialog .source-kv dd {color:#172F3C;overflow-wrap:anywhere;}
#helpDialog .source-kv dt:last-of-type,#helpDialog .source-kv dd:last-of-type {border-bottom:0;}
#helpDialog :is(#infoLastAis,#infoLastAisPosition,#infoLastTraffic,#infoLastMeteo,.source-point-value) {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:10.8px;}
#helpDialog #infoLastMeteo div + div {margin-top:4px;}
#helpDialog .meteo-source-layout {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(250px,.88fr);gap:24px;align-items:stretch;margin-top:7px;}
#helpDialog .meteo-source-data {min-width:0;display:flex;flex-direction:column;gap:8px;}
#helpDialog .source-portus-link {align-self:flex-start;font-size:11px;color:#0F627A;font-weight:650;text-decoration:underline;text-underline-offset:2px;margin-top:4px;}
#helpDialog .simo-mini-map {position:relative;min-width:0;min-height:256px;margin:0;display:flex;flex-direction:column;border:1px solid #E2E8F0;background:#E9F0F4;border-radius:6px;overflow:hidden;}
#helpDialog .simo-mini-map-canvas {flex:1 1 auto;min-height:216px;width:100%;background:#E9F0F4;pointer-events:none;}
#helpDialog .simo-mini-map figcaption {display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;padding:8px 10px;background:#FFF;font:600 10px/1.3 ui-monospace,Consolas,monospace;color:#335366;}
#helpDialog .simo-mini-pin {filter:drop-shadow(0 2px 3px #0F172A55);}
#helpDialog .simo-mini-map-fallback-pin {position:absolute;z-index:1;left:50%;top:50%;width:40px;height:40px;object-fit:contain;transform:translate(-50%,-85%);filter:drop-shadow(0 2px 3px #0F172A55);}
#helpDialog .simo-mini-map-canvas.has-map .simo-mini-map-fallback-pin {display:none;}
#helpDialog .simo-mini-map .leaflet-control-attribution {font-size:8px;opacity:.8;}

/* Participantes: logos con escala homogénea sobre un único grid hairline. */
#helpDialog .participant-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid #E2E8F0;}
#helpDialog .participant-card {min-width:0;min-height:158px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;border:0;border-bottom:1px solid #E2E8F0;border-radius:0;box-shadow:none;background:#fff;text-align:center;}
#helpDialog .participant-card:nth-child(odd) {border-right:1px solid #E2E8F0;}
#helpDialog .participant-logo {display:flex;align-items:center;justify-content:center;min-height:60px;width:100%;height:60px;margin:0;}
#helpDialog .participant-logo img {display:block;max-height:48px;max-width:min(100%,225px);height:auto;width:auto;object-fit:contain;mix-blend-mode:multiply;}
#helpDialog .participant-logo img[hidden] {display:none;}
#helpDialog .participant-caption {display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;}
#helpDialog .participant-caption strong {font-size:12px;line-height:1.35;color:#213547;font-weight:700;}
#helpDialog .participant-caption span {font-size:10px;color:#64748B;}
#helpDialog .participant-card.logo-unavailable .participant-logo::before {content:'Logotipo no disponible';font-size:11px;color:#94A3B8;}

/* Enlaces de ficha navegables incluso cuando la ficha está dentro de un marcador. */
/* Mantener el enlace táctil en tooltips Leaflet y tarjetas con eventos propios. */
.leaflet-tooltip.ship-role-tooltip.leaflet-interactive {pointer-events:auto!important;}
.ship-role-tooltip a.ship-marinetraffic-link,
.workspace .vessel a.ship-marinetraffic-link {
  display:inline-flex!important; position:relative; z-index:5;
  pointer-events:auto!important; cursor:pointer!important;
  color:#075cc4!important; text-decoration:underline!important;
  text-underline-offset:3px; font-size:12px; font-weight:700;
  padding:5px 2px; user-select:text;
}
.ship-role-tooltip a.ship-marinetraffic-link:hover,
.workspace .vessel a.ship-marinetraffic-link:hover {color:#00478f!important;}
.ship-role-tooltip a.ship-marinetraffic-link:focus-visible,
.workspace .vessel a.ship-marinetraffic-link:focus-visible {outline:2px solid #075cc4; outline-offset:3px;}

/* Lectura gráfica de umbrales; edición administrativa separada. */
.help-modal .threshold-visual-legend {display:flex;flex-wrap:wrap;gap:9px 20px;margin:0 0 15px;font-size:11px;color:#466170;}
.help-modal .threshold-visual-legend span {display:inline-flex;align-items:center;gap:6px;}
.help-modal .threshold-visual-legend i {width:9px;height:9px;border-radius:50%;display:inline-block;}
.help-modal .level-green {background:#10B981;}
.help-modal .level-amber {background:#D97706;}
.help-modal .level-red {background:#E11D48;}
.help-modal .threshold-visual-groups {display:grid;gap:17px;}
.help-modal .threshold-visual-group {display:grid;gap:9px;}
.help-modal .threshold-visual-group h4 {margin:0 0 1px;color:#526f7d;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:750;}
.help-modal .threshold-metric-card {border:0;border-bottom:1px solid #E2E8F0;border-radius:0;background:#fff;box-shadow:none;overflow:visible;transition:border-color .15s,box-shadow .15s;}
.help-modal .threshold-metric-card:hover {border-color:#CAD5E1;}
.help-modal .threshold-metric-card[open] {border-color:#94A3B8;box-shadow:none;}
.help-modal .threshold-metric-card summary {list-style:none;cursor:pointer;padding:12px 15px 11px;}
.help-modal .threshold-metric-card summary::-webkit-details-marker {display:none;}
.help-modal .threshold-metric-header {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.help-modal .threshold-metric-header strong {font-weight:720;color:#1e3948;font-size:12px;}
.help-modal .threshold-metric-unit {font-size:10px;color:#607782;background:#f0f5f6;padding:3px 7px;border-radius:6px;}
.help-modal .threshold-scale {position:relative;display:flex;width:100%;height:13px;overflow:visible;border-radius:5px;background:#e6edf0;isolation:isolate;}
.help-modal .threshold-scale-segment {height:100%;display:block;min-width:0;flex:none;}
.help-modal .threshold-scale-segment:first-child {border-radius:5px 0 0 5px;}
.help-modal .threshold-scale-segment:nth-child(3) {border-radius:0 5px 5px 0;}
.help-modal .threshold-scale-marker {position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:#fff;box-shadow:0 0 0 1px #6b8490;transform:translateX(-1px);z-index:2;}
.help-modal .threshold-scale-values {display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;}
.help-modal .threshold-value {min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:4px;border:0;background:none;border-radius:0;padding:7px 0;}
.help-modal .threshold-value small {font-size:10px;font-weight:500;color:#657985;line-height:1.3;}
.help-modal .threshold-value b {font-size:12px;font-weight:720;white-space:nowrap;color:#263c46;}
.help-modal .threshold-value-green {border-left:2px solid #10B981;}
.help-modal .threshold-value-red {border-left:2px solid #E11D48;}
.help-modal .threshold-metric-details {padding:0 15px 11px;background:#f6fafb;border-top:1px solid #e1edf0;}
.help-modal .threshold-metric-explainer {margin:9px 0 0;color:#4e6b78;font-size:11px;line-height:1.55;}
.help-modal .threshold-visual-invalid {margin:0;font-size:11px;color:#9c4338;}
.help-modal .threshold-numeric-disclosure {border:1px solid #dce7ec;background:#f7fafb;border-radius:10px;margin:18px 0 0;}
.help-modal .threshold-numeric-disclosure summary {list-style:none;cursor:pointer;padding:12px 15px;font-size:12px;font-weight:650;color:#176b82;}
.help-modal .threshold-numeric-disclosure summary::-webkit-details-marker {display:none;}
.help-modal .threshold-numeric-disclosure summary::after {content:'⌄';float:right;transition:transform .15s;}
.help-modal .threshold-numeric-disclosure[open] summary::after {transform:rotate(180deg);}
.help-modal .threshold-numeric-disclosure .settings-table-scroll {border:0;border-top:1px solid #dce7ec;border-radius:0 0 10px 10px;background:#fff;}
@media(max-width:510px){.help-modal .threshold-visual-hint{width:100%;}.help-modal .threshold-scale-values{grid-template-columns:1fr;gap:5px;}}
@media(prefers-reduced-motion:reduce){.help-modal .threshold-metric-card,.help-modal .threshold-numeric-disclosure summary::after{transition:none;}}

#helpDialog .threshold-visual-legend {display:flex;gap:17px;flex-wrap:wrap;margin:8px 0 12px;}
#helpDialog .threshold-visual-legend i {width:6px;height:6px;}
#helpDialog .threshold-visual-groups {display:grid;gap:16px;}
#helpDialog .threshold-visual-group {display:grid;gap:0;}
#helpDialog .threshold-visual-group h4 {font-size:10px;letter-spacing:.075em;color:#64748B;padding:8px 0;border-bottom:1px solid #E2E8F0;margin:0;}
#helpDialog .threshold-metric-card {padding:12px 0 10px;margin:0;border:0;border-bottom:1px solid #E2E8F0;border-radius:0;box-shadow:none;}
#helpDialog .threshold-metric-header {margin:0 0 6px;}
#helpDialog .threshold-metric-unit {font-size:10px;color:#64748B;border:0;background:transparent;padding:0;}
#helpDialog .threshold-criterion-plot {display:grid;grid-template-columns:95px minmax(0,1fr);gap:0 13px;align-items:start;margin:9px 0 12px;}
#helpDialog .threshold-plot-name {font-size:10px;color:#335366;font-weight:700;padding-top:5px;}
#helpDialog .threshold-plot-graph {min-width:0;padding-top:4px;}
#helpDialog .threshold-scale {height:12px;border-radius:2px;}
#helpDialog .threshold-scale-marker {top:-5px;bottom:-3px;background:#344A5B;box-shadow:0 0 0 1px #fff;width:2px;}
#helpDialog .threshold-scale-axis {position:relative;height:26px;margin-top:5px;border-top:1px solid #E2E8F0;}
#helpDialog .threshold-axis-tick {position:absolute;top:6px;font:10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#475569;transform:translateX(-50%);white-space:nowrap;}
#helpDialog .threshold-axis-tick::before {content:'';position:absolute;top:-10px;left:50%;height:5px;width:1px;background:#94A3B8;}
#helpDialog .threshold-tick-0 {transform:none;}
#helpDialog .threshold-tick-3 {transform:translateX(-100%);}
#helpDialog .threshold-plot-values {grid-column:2;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font:10px ui-monospace,Consolas,monospace;color:#64748B;}
#helpDialog .threshold-numeric-disclosure {margin-top:17px;border:0;border-top:1px solid #E2E8F0;background:#fff;border-radius:0;}
#helpDialog .threshold-numeric-disclosure summary {padding:11px 0;color:#0F627A;}
#helpDialog .threshold-numeric-disclosure .settings-table-scroll {border:0;border-top:1px solid #E2E8F0;border-radius:0;}
#helpDialog .settings-footnote {font-size:10px;color:#64748B;}
@media(max-width:700px) {
  #helpDialog.help-modal.settings-modal {width:calc(100vw - 18px);height:calc(100dvh - 18px);}
  #helpDialog .settings-content {padding:16px;}
  #helpDialog .settings-dialog-header {padding:16px;}
  #helpDialog .settings-tabs {padding:0 16px;}
  #helpDialog .source-list,#helpDialog .participant-grid {grid-template-columns:1fr;}
  #helpDialog .source-card,#helpDialog .source-card-traffic {padding:14px 0;border-left:0;}
  #helpDialog .source-card-meteo {grid-column:1;}
  #helpDialog .meteo-source-layout {grid-template-columns:1fr;gap:14px;}
  #helpDialog .participant-card:nth-child(odd){border-right:0;}
  #helpDialog .threshold-criterion-plot {grid-template-columns:1fr;gap:6px;}
  #helpDialog .threshold-plot-values {grid-column:1;}
}

/* Interpretación: dos definiciones y una única escala técnica. */
#helpDialog .interpretation-rules {display:grid;border-top:1px solid #E2E8F0;margin-top:14px;}
#helpDialog .interpretation-row {display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid #E2E8F0;font-size:12px;}
#helpDialog .interpretation-row strong {color:#163B4D;}
#helpDialog .interpretation-row span {color:#475569;}
#helpDialog .interpretation-scale {display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:17px 0;margin:0;font-size:11px;color:#475569;}
#helpDialog .interpretation-scale-level {display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
#helpDialog .interpretation-scale-level::before {content:'';width:6px;height:6px;border-radius:50%;background:#94A3B8;}
#helpDialog .interpretation-scale-level.favorable::before {background:#10B981;}
#helpDialog .interpretation-scale-level.intermediate::before {background:#D97706;}
#helpDialog .interpretation-scale-level.restrictive::before {background:#E11D48;}
#helpDialog .interpretation-scale-note {flex-basis:100%;color:#64748B;}
@media(max-width:520px){#helpDialog .interpretation-row{grid-template-columns:1fr;gap:4px;}}

/* COMPASS+ V12.19: refinamiento de umbrales, ficha cartográfica y tutorial. */
#helpDialog .thresholds-topline {display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 13px;flex-wrap:wrap;}
#helpDialog .thresholds-topline h3 {margin:0;}
#helpDialog .thresholds-topline .threshold-visual-legend {margin:0;gap:7px 16px;}
#helpDialog .threshold-visual-groups {gap:13px;}
#helpDialog .threshold-visual-group {padding:0 13px;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden;background:#fff;}
#helpDialog .threshold-visual-group h4 {padding:10px 0 8px;}
#helpDialog .threshold-metric-card {padding:10px 0 8px;margin:0;border-bottom:1px solid #F1F5F9;}
#helpDialog .threshold-metric-card:last-child {border-bottom:0;}
#helpDialog .threshold-metric-header {margin:0 0 3px;}
#helpDialog .threshold-criterion-plot {grid-template-columns:85px minmax(0,1fr);gap:10px;margin:5px 0 7px;align-items:center;}
#helpDialog .threshold-plot-name {padding-top:0;}
#helpDialog .threshold-plot-graph {padding:2px 20px 0 16px;}
#helpDialog .threshold-scale {height:8px;border-radius:4px;overflow:visible;}
#helpDialog .threshold-scale-segment:first-child {border-radius:4px 0 0 4px;}
#helpDialog .threshold-scale-segment:nth-child(3) {border-radius:0 4px 4px 0;}
#helpDialog .threshold-scale-segment + .threshold-scale-segment {border-left:2px solid white;box-sizing:border-box;}
#helpDialog .threshold-scale-marker {width:2px;top:0;bottom:0;height:8px;transform:translateX(-1px);background:#fff;box-shadow:none;z-index:2;}
#helpDialog .threshold-scale-axis {height:18px;margin-top:2px;border:0;}
#helpDialog .threshold-axis-tick {top:2px;z-index:3;background:#fff;padding:0 3px;border-radius:2px;font:10px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;}
#helpDialog .threshold-axis-tick::before {display:none;}
#helpDialog .threshold-tick-warning {transform:translateX(-50%);}
#helpDialog .threshold-tick-critical {transform:translateX(-50%);}
#helpDialog .threshold-axis-tick:first-child:last-child {transform:translateX(-50%);}
#helpDialog .settings-threshold-table {font-size:11px;}
#helpDialog .settings-threshold-table thead th {text-align:center;padding:7px 8px;}
#helpDialog .settings-threshold-table thead th:first-child {text-align:left;}
#helpDialog .settings-threshold-table td.number-col {font-family:var(--font-mono,ui-monospace,SFMono-Regular,Consolas,monospace);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
#helpDialog .settings-threshold-table .threshold-subhead th {font-size:10px;color:#637b89;font-weight:600;}
#helpDialog .threshold-transition {display:inline-flex;vertical-align:middle;gap:2px;align-items:center;margin-right:3px;}
#helpDialog .threshold-transition i {width:6px;height:6px;border-radius:50%;display:block;}
#helpDialog .threshold-transition.medium i:first-child {background:#10B981;}
#helpDialog .threshold-transition.medium i:last-child {background:#D97706;}
#helpDialog .threshold-transition.critical i:first-child {background:#D97706;}
#helpDialog .threshold-transition.critical i:last-child {background:#E11D48;}
#helpDialog .threshold-visual-groups + .threshold-numeric-disclosure {margin-top:12px;}
/* Popover Click: misma ficha en todos los barcos y contenido compacto. */
.ship-role-tooltip.leaflet-tooltip {box-sizing:border-box;width:min(284px,calc(100vw - 24px))!important;max-width:min(284px,calc(100vw - 24px))!important;padding:12px!important;border-radius:10px!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 10px 25px -5px rgba(15,23,42,.12),0 4px 10px -6px rgba(15,23,42,.08)!important;background:white!important;}
.ship-role-tooltip.leaflet-tooltip .leaflet-tooltip-content {padding:0!important;margin:0!important;}
.ship-role-tooltip .ship-role-popup-content {gap:9px;}
.ship-role-tooltip .ship-role-popup-title {font-size:14px;color:#0F172A;letter-spacing:-.015em;font-weight:700;}
.ship-role-popup-type {font-size:11px;color:#64748B;}
.ship-popup-actions {display:flex;align-items:center;gap:2px;flex-shrink:0;}
.ship-role-tooltip a.ship-marinetraffic-link.ship-marinetraffic-icon {width:25px;height:25px;display:grid!important;place-items:center;padding:0!important;text-decoration:none!important;font-size:16px!important;font-weight:600;color:#64748B!important;border-radius:6px;}
.ship-role-tooltip a.ship-marinetraffic-link.ship-marinetraffic-icon:hover {background:#F1F5F9!important;}
.ship-role-popup-dismiss {width:25px;height:25px;flex:0 0 25px;font-size:19px;margin:0;border-radius:6px;}
.ship-popup-technical {display:grid;gap:3px;padding:7px 9px;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:6px;color:#475569;font:11px/1.4 var(--font-mono,ui-monospace,SFMono-Regular,Consolas,monospace);font-variant-numeric:tabular-nums;}
.ship-combined-details {border-top:1px solid #F1F5F9;border-bottom:1px solid #F1F5F9;font-size:11px;min-width:0;}
.ship-combined-details > summary {list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;padding:9px 2px;font-weight:650;color:#334155;}
.ship-combined-details > summary::-webkit-details-marker {display:none;}
.ship-combined-details > summary::before {content:'›';font:21px/12px system-ui,sans-serif;color:#64748B;display:inline-block;transform:rotate(0);transition:transform .12s;}
.ship-combined-details[open] > summary::before {transform:rotate(90deg);}
.ship-combined-section {display:block;padding:9px 2px 5px;border-top:1px solid #F1F5F9;font-size:10px;color:#0F627A;letter-spacing:.04em;}
.ship-combined-details > dl {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4px 8px;margin:2px 0 10px;font-size:10px;}
.ship-combined-details dt {color:#64748B;}
.ship-combined-details dd {margin:0;overflow-wrap:anywhere;color:#334155;}
.ship-combined-details .port-call-record {margin:4px 0 9px;border:0;border-bottom:1px solid #F1F5F9;padding:0 0 6px;}
.ship-combined-details .port-call-record:last-child {border-bottom:0;}
.ship-combined-details .port-call-record dl {display:grid;grid-template-columns:1fr 1fr;gap:4px 7px;margin:4px 0;}
.ship-combined-details .port-call-record :is(dt,dd) {font-size:10px;overflow-wrap:anywhere;}
.ship-popup-assignment-head {display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ship-role-tooltip .ship-role-popup-heading {margin:0;color:#64748B;font-size:10px;letter-spacing:.055em;}
.ship-role-tooltip .ship-role-popup-remove {margin:0!important;padding:0!important;color:#DC2626!important;text-align:right;font-weight:500;font-size:10px!important;}
.ship-role-tooltip .ship-role-popup-choices {gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));}
.ship-role-tooltip .ship-role-choice {min-height:34px;padding:6px;border:1px solid #E2E8F0!important;border-left:1px solid #E2E8F0!important;border-radius:6px;background:#fff!important;color:#334155!important;box-shadow:none!important;display:flex;align-items:center;gap:5px;font-size:11px;}
.ship-role-tooltip .ship-role-choice:disabled {opacity:.42;}
.ship-role-tooltip .ship-role-choice.is-current.role-berth {border-color:#8B5CF6!important;background:#F5F3FF!important;color:#5B21B6!important;opacity:1;}
.ship-role-tooltip .ship-role-choice.is-current.role-entry {border-color:#0D9488!important;background:#F0FDFA!important;color:#0F766E!important;opacity:1;}
.ship-role-tooltip .ship-role-choice.is-current.role-exit {border-color:#EA580C!important;background:#FFF7ED!important;color:#9A3412!important;opacity:1;}
.ship-role-tooltip .ship-role-choice .role-check {margin-left:auto;font-size:12px;}
.ship-role-tooltip .ship-popup-origin {font-size:10px;color:#94A3B8;margin-top:0;}
/* Un tooltip real de hover (sin eventos ni metadatos), nunca compite con click. */
.leaflet-tooltip.ship-hover-tooltip {background:rgba(15,23,42,.92)!important;color:#F8FAFC!important;border:0!important;box-shadow:0 2px 8px rgba(15,23,42,.20)!important;border-radius:6px!important;padding:4px 8px!important;pointer-events:none!important;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:opacity .12s ease-out,transform .12s cubic-bezier(.16,1,.3,1);}
.leaflet-tooltip.ship-hover-tooltip:before {display:none!important;}
.ship-hover-line {display:flex;align-items:center;gap:6px;}
.ship-hover-dot {width:6px;height:6px;border-radius:50%;flex:none;}
.ship-arrow.is-simulated .ship-virtual-label {top:-17px;border:1px solid #E2E8F0;background:#fff;color:var(--marker-role,#334155);font-size:9px;font-weight:700;}
/* Mantener el ETA sobre el rail, no ocultarlo detrás del thumb del input. */
.floating-time-dock .timeline-reference-layer {top:2px;height:18px;z-index:4;}
.floating-time-dock .timeline-controls .timeline-reference-marker {top:-2px;min-height:16px;height:16px;font-size:9px;padding:2px 5px;border-radius:5px;box-shadow:0 1px 3px #0F172A26;}
.floating-time-dock .timeline-controls .timeline-reference-marker.is-overlap {top:15px;}
#editShipDialog input.locked-dimension {background:#F1F5F9;color:#64748B;cursor:not-allowed;}
/* Primera propuesta navegable del tutorial de interpretación. */
#helpDialog .tutorial-eyebrow {color:#0F627A;font-size:10px;font-weight:700;letter-spacing:.08em;}
#helpDialog .tutorial-intro h3 {margin:6px 0 4px;font-size:18px;color:#0F172A;}
#helpDialog .tutorial-intro p {margin:0 0 16px;color:#64748B;font-size:12px;line-height:1.6;max-width:650px;}
#helpDialog .tutorial-steps {display:flex;gap:6px;flex-wrap:wrap;padding:0 0 13px;border-bottom:1px solid #E2E8F0;}
#helpDialog .tutorial-step {cursor:pointer;border:1px solid #E2E8F0;border-radius:6px;padding:7px 11px;background:#fff;color:#64748B;font-size:11px;font-weight:600;}
#helpDialog .tutorial-step.is-active {color:#0F627A;background:#ECF7FA;border-color:#81C2D0;}
#helpDialog .tutorial-stage {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:24px;align-items:center;margin:18px 0 22px;}
#helpDialog .tutorial-diagram {background:#E8F2F5;border:1px solid #D8E7ED;border-radius:10px;min-height:200px;overflow:hidden;display:grid;place-items:center;}
#helpDialog .tutorial-diagram svg {width:100%;height:auto;display:block;}
#helpDialog .tutorial-copy small {font-size:10px;font-weight:700;letter-spacing:.06em;color:#0F627A;}
#helpDialog .tutorial-copy h4 {color:#0F172A;font-size:16px;margin:8px 0;}
#helpDialog .tutorial-copy p {color:#475569;line-height:1.7;font-size:12px;margin:0 0 18px;}
#helpDialog .tutorial-next {padding:8px 13px;border:1px solid #0F627A;color:#fff;background:#0F627A;border-radius:6px;cursor:pointer;font-size:11px;font-weight:650;}
#helpDialog .interpretation-rules {margin-top:12px;}
@media(max-width:700px){#helpDialog .tutorial-stage{grid-template-columns:1fr;gap:14px;}#helpDialog .threshold-criterion-plot{grid-template-columns:72px minmax(0,1fr);gap:7px;}#helpDialog .threshold-plot-graph{padding:2px 18px 0 16px;}#helpDialog .thresholds-topline{gap:9px;}}
@media(prefers-reduced-motion:reduce){.leaflet-tooltip.ship-hover-tooltip{transition:none!important;}}

#helpDialog .threshold-scale-axis.threshold-ticks-crowded {height:30px;}
#helpDialog .threshold-ticks-crowded .threshold-tick-warning {top:0;transform:translateX(-50%);}
#helpDialog .threshold-ticks-crowded .threshold-tick-critical {top:15px;transform:translateX(-50%);}

.ship-role-tooltip .ship-role-choice-icon {order:-1;}
#helpDialog .tutorial-step {transition:none!important;}

/* V12.22: ficha AIS/escala en modal independiente y acciones al pie del catálogo. */
.workspace .vessel { flex-wrap:wrap; min-width:0; }
.workspace .vessel > .vessel-label { min-width:0; }
.workspace .vessel .vessel-card-footer {
  flex:0 0 100%; width:100%; min-width:0; margin-top:2px;
  padding-top:5px; border-top:1px solid #E6EDF1;
  display:flex; align-items:center; justify-content:flex-end; gap:6px;
}
.workspace .vessel .vessel-card-footer .vessel-assign,
.workspace .vessel .vessel-card-footer .ship-info-button {
  flex:0 0 auto; width:30px; height:28px; min-width:30px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0; border:1px solid #DFE8ED; border-radius:6px;
  background:#fff;color:#0F627A;cursor:pointer;
}
.workspace .vessel .vessel-card-footer .ship-info-button {width:auto;min-width:30px;padding:0 8px;gap:6px;font-size:10px;font-weight:650;}
.workspace .vessel .vessel-card-footer :is(.vessel-assign,.ship-info-button):hover,
.workspace .vessel .vessel-card-footer :is(.vessel-assign,.ship-info-button):focus-visible {
  background:#E8F3F6;border-color:#A9CBD7;outline-offset:2px;
}
.ship-info-symbol {
  box-sizing:border-box;display:inline-grid;place-items:center;flex:none;
  height:15px;width:15px;border-radius:50%;border:1.5px solid currentColor;
  font:700 10px/1 system-ui,sans-serif;
}
.ship-popup-bottom-actions {display:flex;justify-content:flex-end;gap:6px;border-top:1px solid #E6EDF1;padding-top:8px;}
.ship-popup-bottom-actions .ship-info-button {
  display:flex;align-items:center;gap:7px;min-height:28px;padding:4px 9px;
  font-size:11px;font-weight:650;color:#0F627A;
  border:1px solid #D8E5EA;border-radius:6px;background:#F8FAFC;cursor:pointer;
}
.ship-popup-bottom-actions .ship-info-button:hover {background:#EAF5F8;border-color:#B3D0D9;}
/* Las fichas nunca deben aparecer bajo la pantalla cuando el diálogo está cerrado. */
dialog.ship-data-dialog:not([open]) {display:none!important;}
dialog.ship-data-dialog[open] {
  box-sizing:border-box;position:fixed;inset:0;margin:auto;
  width:min(660px,calc(100vw - 28px));max-width:660px;
  max-height:min(82dvh,780px);padding:0;overflow:hidden;
  border:1px solid #D8E4EA;border-radius:12px;background:#fff;
  box-shadow:0 20px 70px #102C3C45;
  display:flex;flex-direction:column;
}
.ship-data-dialog::backdrop {background:rgba(15,23,42,.54);}
.ship-data-dialog .ship-data-dialog-header {
  position:static;display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;flex:none;padding:18px 22px 14px;border-bottom:1px solid #E2E8F0;background:#fff;
}
.ship-data-dialog-eyebrow {display:block;color:#0F718A;font-size:9px;font-weight:750;letter-spacing:.09em;margin-bottom:5px;}
.ship-data-dialog h2 {margin:0;color:#142C3B;font-size:18px;line-height:1.3;}
.ship-data-dialog-vessel {margin:4px 0 0;color:#64748B;font-size:11px;letter-spacing:.02em;}
.ship-data-dialog .dialog-close {
  flex:0 0 30px;height:30px;display:grid;place-items:center;
  border:0;border-radius:7px;background:#F1F5F9;color:#475569;cursor:pointer;
}
.ship-data-dialog .dialog-close:hover {background:#E2E8F0;}
.ship-data-dialog-content {flex:1 1 auto;min-height:0;overflow:auto;padding:16px 22px 20px;overscroll-behavior:contain;}
.ship-data-sections {display:grid;gap:18px;}
.ship-data-section {min-width:0;}
.ship-data-section-head {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:0 0 8px;border-bottom:1px solid #E2E8F0;margin-bottom:10px;
}
.ship-data-section-head h3 {font-size:12px;font-weight:750;margin:0;color:#0F627A;}
.ship-data-dialog .ship-marinetraffic-link.ship-marinetraffic-icon {
  box-sizing:border-box;display:grid;place-items:center;flex:0 0 27px;
  width:27px;height:27px;border-radius:6px;border:1px solid #DCE7EB;
  font-size:17px;font-weight:700;color:#0F627A;text-decoration:none;
}
.ship-data-dialog .ship-marinetraffic-link.ship-marinetraffic-icon:hover,
.ship-data-dialog .ship-marinetraffic-link.ship-marinetraffic-icon:focus-visible {background:#EAF5F8;outline-offset:2px;}
.ship-data-section > dl,
.ship-data-section .port-call-record dl {
  display:grid;grid-template-columns:minmax(140px,42%) minmax(0,1fr);
  gap:7px 14px;margin:8px 0;font-size:11px;line-height:1.45;
}
.ship-data-section dt {min-width:0;color:#64748B;}
.ship-data-section dd {min-width:0;margin:0;color:#1E3947;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.ship-data-section .port-call-record {padding:7px 0 12px;border-bottom:1px solid #E8EFF3;}
.ship-data-section .port-call-record:last-child {border:0;}
.ship-data-section .port-call-record > strong {display:block;font-size:12px;color:#1D3E50;margin-bottom:10px;}
.ship-data-section .port-call-section-title {display:block;color:#486A7B;font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px;}
.ship-data-dialog .ship-data-dialog-footer {
  flex:none;display:flex;justify-content:flex-end;border-top:1px solid #E2E8F0;
  padding:12px 22px;background:#F8FAFC;
}
.ship-data-dialog-footer .secondary-action {flex:none;min-width:90px;}
@media(max-width:500px){
  .ship-data-dialog .ship-data-dialog-header {padding:14px 16px 12px;}
  .ship-data-dialog-content {padding:12px 16px 18px;}
  .ship-data-dialog .ship-data-dialog-footer {padding:10px 16px;}
  .ship-data-section > dl,.ship-data-section .port-call-record dl {grid-template-columns:minmax(0,43%) minmax(0,1fr);gap:7px 9px;}
}
/* La regla genérica .modal [data-close] no debe convertir Cerrar en texto suelto. */
.ship-data-dialog .ship-data-dialog-footer button.secondary-action {
  flex:none;min-width:82px;min-height:32px;padding:7px 13px;
  font-size:12px;font-weight:650;line-height:1.2;
  color:#385A6C;background:#fff;border:1px solid #C9D9E1;border-radius:6px;
  cursor:pointer;
}
.ship-data-dialog .ship-data-dialog-footer button.secondary-action:hover {background:#EFF6F9;border-color:#B5CDD8;}


#helpDialog .tutorial-demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
#helpDialog .tutorial-card { border:1px solid #d8e7ed; border-radius:16px; background:#fff; padding:16px; box-shadow:0 10px 26px rgba(15,35,52,.06); display:grid; gap:12px; }
#helpDialog .tutorial-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
#helpDialog .tutorial-card-head small, #helpDialog .tutorial-small-note { color:#5e7a89; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
#helpDialog .tutorial-card-head h4 { margin:3px 0 0; font-size:16px; color:#0f172a; }
#helpDialog .tutorial-chip-row { display:flex; flex-wrap:wrap; gap:6px; }
#helpDialog .tutorial-chip { border:1px solid #cfe1e8; background:#f8fbfc; color:#516b79; border-radius:999px; padding:6px 10px; font-size:11px; font-weight:700; }
#helpDialog .tutorial-chip.is-active { background:#0f627a; border-color:#0f627a; color:#fff; }
#helpDialog .tutorial-harbor-map, #helpDialog .tutorial-band-map { border:1px solid #dce9ef; border-radius:14px; overflow:hidden; background:#e9f3f6; }
#helpDialog .tutorial-note { margin:0; color:#475569; font-size:12px; line-height:1.65; }
#helpDialog .tutorial-mini-legend { display:flex; align-items:center; gap:8px; color:#5b7380; font-size:11px; font-weight:600; flex-wrap:wrap; }
#helpDialog .tutorial-mini-legend i { width:10px; height:10px; border-radius:50%; display:inline-block; margin-right:4px; }
#helpDialog .tutorial-mini-legend .ok { background:#22c55e; } #helpDialog .tutorial-mini-legend .mid { background:#f59e0b; } #helpDialog .tutorial-mini-legend .bad { background:#e11d48; }
#helpDialog .tutorial-band-controls { display:flex; gap:8px; flex-wrap:wrap; }
#helpDialog .tutorial-band-button { min-width:42px; border-radius:10px; border:1px solid #d5e4ea; background:#fff; padding:8px 10px; font-weight:800; color:#243b4a; }
#helpDialog .tutorial-band-button.status-favorable { box-shadow:inset 0 -2px 0 #22c55e; }
#helpDialog .tutorial-band-button.status-intermedia { box-shadow:inset 0 -2px 0 #f59e0b; }
#helpDialog .tutorial-band-button.status-restrictiva { box-shadow:inset 0 -2px 0 #e11d48; }
#helpDialog .tutorial-band-button.is-active { background:#eef8fb; border-color:#8fc7d4; }
#helpDialog .tutorial-band-chart { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; align-items:end; min-height:220px; }
#helpDialog .tutorial-chart-bar { display:grid; gap:8px; background:#fff; border:1px solid #dbe7ec; border-radius:14px; padding:12px 8px 10px; text-align:center; }
#helpDialog .tutorial-chart-bar.is-active { border-color:#83c7d6; background:#f5fbfd; }
#helpDialog .tutorial-chart-value { font-size:12px; font-weight:800; color:#173246; }
#helpDialog .tutorial-chart-track { display:flex; align-items:flex-end; justify-content:center; min-height:120px; }
#helpDialog .tutorial-chart-fill { width:100%; max-width:34px; height:var(--bar-height); border-radius:12px 12px 8px 8px; display:block; }
#helpDialog .tutorial-chart-bar.status-favorable .tutorial-chart-fill { background:linear-gradient(180deg,#86efac,#22c55e); }
#helpDialog .tutorial-chart-bar.status-intermedia .tutorial-chart-fill { background:linear-gradient(180deg,#fcd34d,#f59e0b); }
#helpDialog .tutorial-chart-bar.status-restrictiva .tutorial-chart-fill { background:linear-gradient(180deg,#fb7185,#e11d48); }
#helpDialog .tutorial-chart-label { font-size:11px; font-weight:800; color:#334155; }
#helpDialog .tutorial-chart-distance { font-size:10px; color:#64748b; }
#helpDialog .tutorial-type-legend { display:flex; gap:8px; flex-wrap:wrap; }
#helpDialog .tutorial-type-tag { display:inline-flex; align-items:center; gap:7px; border-radius:999px; background:#f7fafb; border:1px solid #dde8ed; padding:6px 10px; font-size:11px; font-weight:650; color:#244354; }
#helpDialog .tutorial-type-tag i, #helpDialog .tutorial-filter-option i, #helpDialog .tutorial-filter-vessel-head i { width:10px; height:10px; border-radius:50%; display:inline-block; flex:0 0 auto; }
#helpDialog .tutorial-filter-toolbar { display:grid; gap:10px; }
#helpDialog .tutorial-filter-toolbar label { display:grid; gap:6px; font-size:12px; color:#48616f; }
#helpDialog .tutorial-filter-select { display:flex; gap:8px; flex-wrap:wrap; }
#helpDialog .tutorial-filter-option { display:inline-flex; align-items:center; gap:8px; border:1px solid #d7e5eb; background:#fff; border-radius:999px; padding:7px 10px; font-size:12px; color:#173246; }
#helpDialog .tutorial-filter-option.is-active { background:#eef8fb; border-color:#8cc9d9; }
#helpDialog .tutorial-filter-option i.is-all { width:12px; height:12px; border-radius:50%; background:#dce9ef; display:grid; place-items:center; color:#6b7c88; font-style:normal; font-size:10px; }
#helpDialog .tutorial-filter-pills { display:flex; gap:8px; flex-wrap:wrap; }
#helpDialog .tutorial-filter-pills span { border-radius:999px; background:#f8fbfc; border:1px dashed #cfdee5; padding:5px 9px; color:#648091; font-size:11px; }
#helpDialog .tutorial-filter-list { display:grid; gap:8px; }
#helpDialog .tutorial-filter-vessel { border:1px solid #dee8ed; border-radius:12px; padding:10px 12px; background:#fbfdfe; display:grid; gap:4px; }
#helpDialog .tutorial-filter-vessel-head { display:flex; align-items:center; gap:8px; color:#173246; }
#helpDialog .tutorial-filter-vessel small { color:#64748b; font-size:11px; }
@media(max-width:900px){#helpDialog .tutorial-demo-grid{grid-template-columns:1fr;}#helpDialog .tutorial-band-chart{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){#helpDialog .tutorial-card{padding:14px;}#helpDialog .tutorial-band-chart{grid-template-columns:repeat(2,minmax(0,1fr));}}


.leaflet-tooltip.ship-hover-tooltip { background:#fff !important; color:#173246 !important; border:1px solid #d6e6ec !important; box-shadow:0 10px 24px rgba(15,35,52,.16) !important; border-radius:999px !important; padding:5px 9px !important; letter-spacing:0 !important; }
.leaflet-tooltip.ship-hover-tooltip:before { display:block !important; border-top-color:#d6e6ec !important; }
.leaflet-tooltip.ship-hover-tooltip .ship-hover-line { display:inline-flex; align-items:center; gap:7px; }
.leaflet-tooltip.ship-hover-tooltip .ship-hover-dot { width:9px; height:9px; border-radius:50%; box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(15,98,122,.18); }


/* V12.24 · Controles del catálogo integrados en las esquinas de cada buque. */
.workspace .vessel {
  position:relative;
  box-sizing:border-box;
  min-height:82px;
  padding-right:44px;
  flex-wrap:nowrap;
}
.workspace .vessel > .vessel-label { min-width:0; }
.workspace .vessel > .vessel-assign,
.workspace .vessel > .ship-info-button {
  position:absolute;
  right:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  min-width:28px;
  height:28px;
  padding:0;
  border:1px solid #D8E6EB;
  border-radius:7px;
  background:#fff;
  color:#0F627A;
  cursor:pointer;
  z-index:2;
  flex:none;
}
.workspace .vessel > .vessel-assign { top:8px; }
.workspace .vessel > .ship-info-button { bottom:8px; }
.workspace .vessel > :is(.vessel-assign,.ship-info-button):hover,
.workspace .vessel > :is(.vessel-assign,.ship-info-button):focus-visible {
  border-color:#93C4D0;
  background:#EAF5F8;
  outline-offset:2px;
}
/* En el tooltip del mapa también se usa solo el símbolo, sin texto largo. */
.ship-popup-bottom-actions .ship-info-button.is-icon-only {
  width:30px;
  min-width:30px;
  height:28px;
  padding:0;
  justify-content:center;
}

/* V12.26 · Enlace MarineTraffic visible en cabecera de ficha. */
.ship-data-dialog-header-actions {display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.ship-data-dialog .ship-data-marine-action {display:flex;align-items:center;}
.ship-data-dialog .ship-marinetraffic-icon.ship-marinetraffic-unavailable {
  display:grid;place-items:center;width:27px;height:27px;
  border:1px solid #E2E8F0;border-radius:6px;
  color:#94A3B8;background:#F8FAFC;font-size:17px;font-weight:700;cursor:help;
}

/* V12.26 · icono información SVG: sin glifo tipográfico descentrado. */
.ship-info-symbol {height:18px;width:18px;border:0;border-radius:0;font:inherit;display:inline-flex;align-items:center;justify-content:center;}
.ship-info-symbol .ship-info-svg {display:block;width:18px;height:18px;flex:none;}
/* Interpretación se conserva en el código, pero no se ofrece en el modal. */
#helpDialog #helpTabInterpretation[hidden],
#helpDialog #helpViewInterpretation[hidden] {display:none!important;}


/* V12.27 · Mapa SIMO: plano geográfico local como respaldo de Leaflet.
   Cuando llegan teselas OSM se pintan encima; nunca queda un bloque vacío. */
#helpDialog a.source-json-hidden[hidden] { display:none !important; }
#helpDialog .simo-mini-map-canvas {
  background:#DBEDF2 url('../../geo/backgrounds/simo-port-background.svg') center center / cover no-repeat;
}
#helpDialog .simo-mini-map-fallback-pin {
  width:20px; height:20px;
  transform:translate(-50%,-85%);
  filter:drop-shadow(0 1px 2px rgba(15,23,42,.25));
}
#helpDialog .simo-mini-pin { filter:drop-shadow(0 1px 2px rgba(15,23,42,.25)); }

#helpDialog #helpTabInterpretation[hidden], #helpDialog #helpViewInterpretation[hidden] {display:none!important;}

/* COMPASS+ V12.34 · última milla: ficha técnica y formulario de buque. */
.ship-data-dialog .ship-data-section .ship-data-kv-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 32px;margin:8px 0 14px;
}
.ship-data-dialog .ship-data-kv-grid .ship-data-kv {
  min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:3px;
  padding:0 0 8px;border-bottom:1px solid #F1F5F9;
}
.ship-data-dialog .ship-data-kv :is(dt,dd) {min-width:0;margin:0;overflow-wrap:anywhere;}
.ship-data-dialog .ship-data-kv dt {color:#64748B;font-size:11px;}
.ship-data-dialog .ship-data-kv dd {color:#1E3947;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}
@media(max-width:530px) {
  .ship-data-dialog .ship-data-section .ship-data-kv-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;}
}
@media(max-width:365px) {
  .ship-data-dialog .ship-data-section .ship-data-kv-grid {grid-template-columns:minmax(0,1fr);}
}
#editShipDialog .ship-form-fields {display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:12px 20px 19px;}
#editShipDialog .ship-form-row {display:grid;gap:12px;min-width:0;}
#editShipDialog .ship-form-identity,#editShipDialog .ship-form-context {grid-template-columns:repeat(2,minmax(0,1fr));}
#editShipDialog .ship-form-dimensions {grid-template-columns:repeat(4,minmax(0,1fr));}
#editShipDialog .ship-form-row label {min-width:0;}
#editShipDialog .ship-form-row input {min-width:0;box-sizing:border-box;}
#editShipDialog form>p {padding:12px 20px 2px;color:#64748B;font-size:12px;line-height:1.4;}
#editShipDialog form>footer {display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;}
#editShipDialog form>footer>button {
  box-sizing:border-box;flex:0 0 auto;width:auto;max-width:none;min-width:max-content;
  height:36px;min-height:36px;padding:0 16px;font-size:13px;font-weight:500;line-height:1;
  white-space:nowrap;border-radius:6px;cursor:pointer;
}
#editShipDialog form>footer>.secondary-action {
  background:transparent;color:#475569;border:1px solid transparent;
}
#editShipDialog form>footer>.secondary-action:hover {background:#F1F5F9;}
#editShipDialog form>footer>.primary-action {
  background:#0F627A;color:#FFFFFF;border:1px solid #0F627A;
}
#editShipDialog form>footer>.primary-action:hover {background:#0B5064;}
@media(max-width:540px) {
  #editShipDialog .ship-form-dimensions {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:370px) {
  #editShipDialog .ship-form-identity,#editShipDialog .ship-form-context {grid-template-columns:minmax(0,1fr);}
}
