/* Print Designer rev 1.0.2.5.0 - output mode, audit readability, line visibility, and helper toast stability */

/* Library Integrity Audit readability repair */
.integrity-audit-overlay {
  background: rgba(2, 6, 23, .72) !important;
}
.integrity-audit-card {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #334155 !important;
  box-shadow: 0 30px 100px rgba(0,0,0,.50) !important;
}
.integrity-audit-card header {
  background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 58%, #0e7490 100%) !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
}
.integrity-audit-card header h2,
.integrity-audit-card header p,
.integrity-audit-card header strong,
.integrity-audit-card header span {
  color: #ffffff !important;
}
.integrity-audit-card header p {
  color: #dbeafe !important;
}
.integrity-audit-close {
  background: rgba(255,255,255,.18) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.30) !important;
}
.integrity-audit-close:hover {
  background: rgba(255,255,255,.28) !important;
}
.integrity-audit-body {
  background: #ffffff !important;
  color: #0f172a !important;
}

/* Professional output mode selector */
.professional-output-profile-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(148,163,184,.70);
  border-radius: 10px;
  padding: 5px 7px;
  background: rgba(15,23,42,.34);
  color: #e5e7eb;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.professional-output-profile-control select {
  max-width: 190px;
  border: 1px solid rgba(148,163,184,.80);
  border-radius: 8px;
  padding: 5px 7px;
  background: #0f172a;
  color: #f8fafc;
  font-size: 12px;
  font-weight: 800;
}
.professional-output-profile-control select:focus {
  outline: 2px solid #38bdf8;
  outline-offset: 2px;
}

/* Placement Assist / small bottom helper: lift it clear of the bottom edge and allow collapse. */
.placement-assist-toast {
  bottom: 112px !important;
  pointer-events: auto !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
}
.placement-assist-toast strong,
.placement-assist-toast span {
  grid-column: 1;
}
.placement-assist-collapse-button {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 32px;
  height: 32px;
  border: 1px solid #93c5fd;
  border-radius: 999px;
  background: #dbeafe;
  color: #1e3a8a;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15,23,42,.16);
}
.placement-assist-collapse-button:hover {
  background: #bfdbfe;
}
.placement-assist-toast.placement-assist-toast-collapsed {
  min-width: auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 8px !important;
  border-radius: 999px !important;
}
.placement-assist-toast.placement-assist-toast-collapsed strong,
.placement-assist-toast.placement-assist-toast-collapsed span {
  display: none !important;
}
.placement-assist-toast.placement-assist-toast-collapsed .placement-assist-collapse-button {
  grid-column: 1;
  grid-row: 1;
}

/* Professional print/PDF line repair.
   Real connection lines must survive selected/network/engineering-fail classes in PDF/print output. */
body.printing-pdf .connection-polyline,
body.printing-pdf svg .connection-polyline {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  fill: none !important;
  filter: none !important;
  stroke-linecap: square !important;
  stroke-linejoin: miter !important;
}
body.printing-pdf:not(.printing-profile-internal):not(.printing-profile-edit) .connection-polyline.selected,
body.printing-pdf:not(.printing-profile-internal):not(.printing-profile-edit) .connection-polyline.network-highlight,
body.printing-pdf:not(.printing-profile-internal):not(.printing-profile-edit) .connection-polyline.engineering-fail-line {
  stroke: var(--print-line-stroke, #111827) !important;
  stroke-width: var(--print-line-width, 2) !important;
  filter: none !important;
}
body.printing-pdf.printing-profile-internal .connection-polyline.engineering-fail-line,
body.printing-pdf.printing-profile-edit .connection-polyline.engineering-fail-line {
  stroke: #dc2626 !important;
  filter: none !important;
}
body.printing-pdf.printing-profile-internal .connection-polyline.network-highlight,
body.printing-pdf.printing-profile-edit .connection-polyline.network-highlight {
  stroke: #16a34a !important;
  filter: none !important;
}

/* Mode-specific output behavior */
body.printing-pdf.printing-profile-edit #gridBackground {
  display: inline !important;
  opacity: .18 !important;
}
body.printing-pdf.printing-profile-edit .port-dot {
  display: inline !important;
  opacity: .35 !important;
}
body.printing-pdf.printing-profile-field .connection-polyline {
  stroke-width: 3px;
}
body.printing-pdf.printing-profile-field .component-node text,
body.printing-pdf.printing-profile-field .note-node text {
  font-weight: 850;
}
body.printing-pdf.printing-profile-internal .engineering-overlay-label,
body.printing-pdf.printing-profile-internal .engineering-error-label,
body.printing-pdf.printing-profile-internal .engineering-component-label,
body.printing-pdf.printing-profile-internal .engineering-bolt,
body.printing-pdf.printing-profile-internal .engineering-flow-pulse {
  display: inline !important;
  visibility: visible !important;
}
body.printing-pdf.printing-profile-revision .pdf-underlay-label,
body.printing-pdf.printing-profile-revision .pdf-underlay-subtext {
  display: inline !important;
  visibility: visible !important;
}


/* Bottom canvas mini toolbar: keep it above the bottom edge and allow collapse. */
.canvas-nav-tools {
  bottom: 76px !important;
  right: 22px !important;
  max-width: calc(100vw - 44px) !important;
  flex-wrap: wrap !important;
  pointer-events: auto !important;
}
.canvas-nav-collapse-button {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(147,197,253,.9) !important;
  background: #dbeafe !important;
  color: #1e3a8a !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}
.canvas-nav-tools.canvas-nav-tools-collapsed {
  width: auto !important;
  padding: 7px !important;
  border-radius: 999px !important;
}
.canvas-nav-tools.canvas-nav-tools-collapsed .canvas-nav-collapse-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media print {
  .professional-output-profile-control,
  .placement-assist-collapse-button {
    display: none !important;
  }
  body.printing-pdf .connection-polyline,
  body.printing-pdf svg .connection-polyline {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    fill: none !important;
    filter: none !important;
  }
  body.printing-pdf:not(.printing-profile-internal):not(.printing-profile-edit) .connection-polyline.selected,
  body.printing-pdf:not(.printing-profile-internal):not(.printing-profile-edit) .connection-polyline.network-highlight,
  body.printing-pdf:not(.printing-profile-internal):not(.printing-profile-edit) .connection-polyline.engineering-fail-line {
    stroke: var(--print-line-stroke, #111827) !important;
    stroke-width: var(--print-line-width, 2) !important;
  }
}
