/* General Styles */
:root {
  --red-ui-node-icon-background-color-opacity:1;

  /* Fonts */
  --red-ui-primary-font: 'Nunito Sans' !important;
  --red-ui-primary-font-size: 15px;
  --monospace-font: 'Nunito Sans' !important;

  /* Colors */
  --red-ui-link-color: #000000;
  --red-ui-node-port-background: #E1E6F2;
  --red-ui-node-status-changed-background:#0059A6;
  --red-ui-node-status-changed-border:##A5B4D5;
  --red-ui-port-selected-color:#A5B4D5;
  --red-ui-palette-header-background: #F0F3F9;
  --red-ui-palette-header-color:#353B49;
  --red-ui-view-background: #ffffff;
  --red-ui-header-menu-color: #c62828;
  --red-ui-workspace-button-background-primary: #0059A6;
  --red-ui-node-icon-background-color-fill: #E1E6F2;
  --red-ui-node-icon-background-color: #E1E6F2;
  --red-ui-header-background: #e5edff;
  --red-ui-header-height: 56px;
  --red-ui-header-button-background-active: #e4edff;
  --red-ui-header-menu-color: #353b49;
  --red-ui-header-menu-color-disabled: #A5B4D5;
    --red-ui-header-menu-heading-color: #A5B4D5;
    --red-ui-header-menu-background: #F8FAFF;
    --red-ui-header-menu-item-hover: #e5edff;
  --red-ui-header-accent: #e5edff;
  --red-ui-primary-background: #F8FAFF;
  --red-ui-workspace-button-alert: #A7003A;
  --red-ui-secondary-border-colo:#DBDBDB;
  --red-ui-link-color: #A5B4D5;
  --red-ui-node-border: #A5B4D5;
  --red-ui-node-icon-border-color:#A5B4D5;
  --red-ui-node-label-color: #353B49;
  --red-ui-node-icon-border-color-opacity:1;
  --red-ui-node-selected-color:#7A89AC;
  --red-ui-workspace-button-color-selected:#A5B4D5;
  --red-ui-primary-border-color:#A5B4D5;
  --red-ui-secondary-border-color:#A5B4D5;
  --red-ui-workspace-button-background:#F8FAFF;
  --red-ui-workspace-button-background-active:#F8FAFF;


  /* Additional Colors */
  --color-deploy-button-hover: #173760;
  --color-deploy-button-disabled: #0059A6;
  --color-deploy-button: #0059A6;
  --color-reset-button-hover: #6E84A3;
  --color-reset-button-disabled: #6E84A3;
  --color-reset-button: #6E84A3;
  --color-button-cancel: #616D88;
  --color-button-cancel-background: #E1E6F2;
  --color-button-cancel-hover: #CAD5ED;
  --color-button-save-background: #0059A6;
  --color-button-save-hover: #1C4973;
  --color-button-delete-background: #FFFFFF;
  --color-button-delete-hover: #FFECED;
  --color-button-delete-border: #FFB2BB;
  --color-button-save-border: #0059A6;
  --color-button-cancel-border: #E1E6F2;
  --color-button-delete-color: #A7003A;
}

@font-face {
  font-family: "Nunito Sans";
  src: url('/workflow/v1/builder/fonts/nunitosans/NunitoSans.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

body.lynkup-mode-loading #red-ui-palette-container {
  visibility: hidden;
}

.lynk-banner-info {
  border-left: 4px solid #42a5f5;
  background-color: #e3f2fd;
  color: #0d47a1;
  padding: 10px;
  border-radius: 4px;
}

.lynk-banner-warn {
  border-left: 4px solid #fbc02d;
  background-color: #fff8e1;
  color: #795548;
  padding: 10px;
  border-radius: 4px;
}

.lynk-banner-error {
  border-left: 4px solid #ef5350;
  background-color: #ffebee;
  color: #b71c1c;
  padding: 10px;
  border-radius: 4px;
}

.lynk-node-removed{
  display: none !important;
}

.lynk-node-disabled,
.lynk-node-disabled .red-ui-palette-icon-container,
.lynk-node-disabled .red-ui-palette-label {
  opacity: 0.4 !important;
  /* Dim the elements */
  filter: grayscale(100%);
  /* Make the icon gray */
  pointer-events: none;
  /* Prevent interaction */
}


/* Container for Login button + Forgot Password link */
.lynkup-login-actions {
  display: flex;
  justify-content: end;
  align-items: center;
  margin-top: 10px;
}

/* Forgot password link */
.lynkup-forgot-password {
  font-size: 14px;
  color: #2563eb;
  text-decoration: none;
  cursor: pointer;
  padding-right: 15px;
}

.lynkup-forgot-password:hover {
  text-decoration: underline;
}

.lynkup-modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
}

.lynkup-modal {
  background: white;
  padding: 24px;
  border-radius: 12px;
  width: 90%;
  max-width: 420px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  font-family: Segoe UI, sans-serif;
}

.lynkup-modal-title {
  margin-bottom: 20px;
  font-size: 24px;
  text-align: center;
}

.lynkup-label {
  font-weight: bold;
  display: block;
  margin-bottom: 6px;
}

.lynkup-input {
  width: -webkit-fill-available;
  margin-bottom: 16px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.lynkup-modal-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.lynkup-btn {
  padding: 8px 12px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.lynkup-btn.cancel {
  background: #e5e7eb;
}

.lynkup-btn.submit {
  background: #2563eb;
  color: white;
}

.lynkup-notification {
  text-align: center;
  padding: 10px;
  border-radius: 6px;
  margin-bottom: 12px;
  font-weight: bold;
  display: none;
}

.lynkup-notification.success {
  background-color: #dcfce7;
  color: #166534;
}

.lynkup-notification.error {
  background-color: #fee2e2;
  color: #b91c1c;
}

/* ── User Menu Container ─────────────────────────────────────────────── */
#red-ui-header-button-user-submenu {
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13), 0 2px 6px rgba(0, 0, 0, 0.07);
  background: #ffffff;
  padding: 0;
  overflow: hidden;
  min-width: 248px;
  z-index: 9999;
  font-family: 'Segoe UI', -apple-system, sans-serif;
}

/* ── Email header row ────────────────────────────────────────────────── */
#usermenu-item-username {
  pointer-events: none;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}

#usermenu-item-username a {
  padding: 12px 14px !important;
  cursor: default !important;
}

#usermenu-item-username .red-ui-menu-label span {
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#usermenu-item-username .red-ui-menu-label span::before {
  content: none;
}

.lynkup-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  min-width: 30px;
  background: #ffffff;
  color: #1d4ed8;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px #d1d5db;
}

/* ── Common action item layout ───────────────────────────────────────── */
#red-ui-header-button-user-submenu li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  color: #111827;
  font-size: 13.5px;
  text-decoration: none;
  transition: background 0.15s ease;
  border-radius: 0;
}

#red-ui-header-button-user-submenu li:not(.disabled) a:hover {
  background-color: #f3f4f6;
}

/* ── Shared icon wrapper (used by Add User SVG) ──────────────────────── */
.lynkup-menu-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  color: #374151;
  flex-shrink: 0;
}

/* ── Add User ────────────────────────────────────────────────────────── */
#usermenu-item-add-user {
  color: #111827;
  min-height: 44px;
}

/* ── Logout ──────────────────────────────────────────────────────────── */
#usermenu-item-logout {
  color: #dc2626 !important;
  border-top: 1px solid #efefef;
  min-height: 44px;
}

#usermenu-item-logout::before {
  content: '';
  display: inline-flex;
  align-items: center;
  width: 16px;
  height: 16px;
  min-width: 16px;
  background-color: #dc2626;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  flex-shrink: 0;
}

/* ── Mode Switcher ───────────────────────────────────────────────────── */
#usermenu-item-mode-switcher {
  pointer-events: auto;
  cursor: default;
  border-bottom: 1px solid #e5e7eb;
}

#usermenu-item-mode-switcher:hover {
  background: transparent !important;
}

.lynkup-mode-switcher {
  padding: 8px 14px 12px;
}

.lynkup-mode-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  margin-bottom: 6px;
}

.lynkup-mode-select {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  color: #111827;
  background: #ffffff;
  cursor: pointer;
  outline: none;
  appearance: auto;
}

.lynkup-mode-select:focus {
  border-color: #0059A6;
  box-shadow: 0 0 0 2px rgba(0, 89, 166, 0.15);
}


.red-ui-table th,
.red-ui-table td {
  padding: 12px 16px;
}

/* Hide elements in workflow picker mode */
body.workflow-picker-mode #red-ui-main-container,
body.workflow-picker-mode #red-ui-header-button-reset,
body.workflow-picker-mode #red-ui-header-button-deploy,
body.workflow-picker-mode #red-ui-header-button-sidemenu {
  display: none !important;
}

/* ── Workflow Picker Shell ─────────────────────────────────────────── */
#lynkup-workflow-picker {
  position: absolute;
  top: var(--red-ui-header-height);
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  background: var(--red-ui-primary-background, #F8FAFF);
  z-index: 20;
  font-family: var(--red-ui-primary-font, 'Nunito Sans'), sans-serif;
}

.wf-container {
  width: 100%;
  margin: 0 auto;
  padding: 20px 14px 32px;
}

/* sm: 480px+ */
@media (min-width: 480px) {
  .wf-container {
    padding: 24px 20px 36px;
  }
}

/* md: 768px+ */
@media (min-width: 768px) {
  .wf-container {
    max-width: 720px;
    padding: 28px 24px 40px;
  }
}

/* lg: 1024px+ */
@media (min-width: 1024px) {
  .wf-container {
    max-width: 960px;
    padding: 32px 28px 44px;
  }
}

/* xl: 1280px+ */
@media (min-width: 1280px) {
  .wf-container {
    max-width: 1200px;
    padding: 36px 32px 48px;
  }
}

/* 2xl: 1536px+ */
@media (min-width: 1536px) {
  .wf-container {
    max-width: 1400px;
    padding: 40px 40px 56px;
  }
}

/* ── Header ──────────────────────────────────────────────────────────── */
.wf-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 16px;
}

/* ── Toolbar (search bar row) ────────────────────────────────────────── */
.wf-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.wf-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 250px;
}

.wf-search-icon {
  position: absolute;
  left: 11px;
  color: #94a3b8;
  pointer-events: none;
  flex-shrink: 0;
}

.wf-search-input {
  width: 100%;
  height: 38px;
  padding: 0 30px 0 36px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  color: #334155;
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.wf-search-input::placeholder {
  color: #94a3b8;
}

.wf-search-input:focus {
  outline: none;
  border-color: var(--red-ui-workspace-button-background-primary, #0059A6);
  box-shadow: 0 0 0 3px rgba(0, 89, 166, 0.1);
}

.wf-search-clear {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border: none;
  background: #e2e8f0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  padding: 0;
  transition: background 0.12s ease, color 0.12s ease;
  margin-top: -5px !important;
}

.wf-search-clear:hover {
  background: #cbd5e1;
  color: #1e293b;
}

.wf-header-left {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.wf-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: #1e293b;
  letter-spacing: -0.3px;
}

.wf-subtitle {
  font-size: 13px;
  color: #64748b;
}

.wf-create-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--red-ui-workspace-button-background-primary, #0059A6);
  color: #fff;
  border: none;
  padding: 9px 18px;
  border-radius: 7px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0, 89, 166, 0.25);
}

.wf-create-btn:hover {
  background: #004a8c;
  box-shadow: 0 2px 6px rgba(0, 89, 166, 0.35);
}

.wf-create-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* ── Table Card ──────────────────────────────────────────────────────── */
.wf-table-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.wf-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.wf-table thead th:nth-child(1) { width: 35%; }
.wf-table thead th:nth-child(2) { width: 17%; }
.wf-table thead th:nth-child(3) { width: 17%; }
.wf-table thead th:nth-child(4) { width: 22%; }
.wf-table thead th:nth-child(5) { width: 64px; min-width: 64px; text-align: center; }
.wf-table tbody td:nth-child(5) { width: 64px; min-width: 64px; text-align: center; }

/* ── Table Head ──────────────────────────────────────────────────────── */
.wf-th {
  padding: 13px 18px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #64748b;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
  user-select: none;
}

.wf-th--sortable {
  cursor: pointer;
}

.wf-th--sortable:hover {
  background: #f1f5f9;
  color: #334155;
}

.wf-th--active {
  color: var(--red-ui-workspace-button-background-primary, #0059A6);
  background: #eff6ff;
}

.wf-th-inner {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.wf-sort-icon {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1;
}

.wf-sort-icon--active {
  color: var(--red-ui-workspace-button-background-primary, #0059A6);
}

/* ── Table Rows ──────────────────────────────────────────────────────── */
.wf-row {
  cursor: pointer;
  transition: background 0.1s ease;
}

.wf-row:hover {
  background: #f8faff;
}

.wf-row:hover .wf-open-btn {
  opacity: 1;
}

.wf-td {
  padding: 14px 18px;
  font-size: 14px;
  color: #334155;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wf-td--name {
  font-weight: 600;
  color: #1e293b;
}

.wf-flow-name em {
  color: #94a3b8;
  font-style: normal;
}

.wf-td--date {
  font-size: 13px;
  color: #64748b;
}

.wf-td--user {
  font-size: 13px;
  color: #475569;
}

.wf-td--action {
  text-align: center;
}

/* ── Name Tooltip ────────────────────────────────────────────────────── */
.wf-tooltip {
  position: fixed;
  z-index: 99999;
  pointer-events: none;
  background: #1e293b;
  color: #f8fafc;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 11px;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  max-width: 360px;
  word-break: break-word;
  white-space: normal;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.12s ease, transform 0.12s ease;
}

.wf-tooltip.wf-tooltip--visible {
  opacity: 1;
  transform: translateY(0);
}

.wf-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 14px;
  border: 5px solid transparent;
  border-top-color: #1e293b;
}

/* ── Open Button ─────────────────────────────────────────────────────── */
.wf-open-btn {
  background: transparent;
  border: 1.5px solid var(--red-ui-workspace-button-background-primary, #0059A6);
  color: var(--red-ui-workspace-button-background-primary, #0059A6);
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  opacity: 0.75;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
  white-space: nowrap;
}

.wf-open-btn:hover {
  background: var(--red-ui-workspace-button-background-primary, #0059A6);
  color: #fff;
  opacity: 1;
}

/* ── Context Menu ────────────────────────────────────────────────────── */
.wf-ctx-menu {
  position: fixed;
  z-index: 99999;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06);
  min-width: 190px;
  padding: 4px 0;
  display: none;
}

.wf-ctx-menu--visible {
  display: block;
}

.wf-ctx-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  user-select: none;
  transition: background 0.1s ease, color 0.1s ease;
}

.wf-ctx-item:hover {
  background: #f1f5f9;
  color: #0f172a;
}

.wf-ctx-item svg {
  flex-shrink: 0;
  color: #64748b;
}

.wf-ctx-item:hover svg {
  color: var(--red-ui-workspace-button-background-primary, #0059A6);
}

.wf-ctx-divider {
  height: 1px;
  background: #f1f5f9;
  margin: 4px 0;
}

/* ── Empty & Loading States ──────────────────────────────────────────── */
.wf-empty {
  padding: 60px 20px;
  text-align: center;
}

.wf-empty-icon {
  margin-bottom: 12px;
  opacity: 0.6;
}

.wf-empty-title {
  font-size: 16px;
  font-weight: 600;
  color: #475569;
  margin-bottom: 4px;
}

.wf-empty-sub {
  font-size: 14px;
  color: #94a3b8;
}

.wf-loading {
  padding: 48px 20px;
  text-align: center;
  color: #94a3b8;
  font-size: 14px;
}

.wf-loading-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

@keyframes wf-spin {
  to { transform: rotate(360deg); }
}

.wf-spinner {
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 2.5px solid #e2e8f0;
  border-top-color: var(--red-ui-workspace-button-background-primary, #0059A6);
  border-radius: 50%;
  animation: wf-spin 0.7s linear infinite;
  flex-shrink: 0;
}

/* ── Footer / Pagination ─────────────────────────────────────────────── */
.wf-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 4px 0;
  flex-wrap: wrap;
}

.wf-pagination-info {
  font-size: 13px;
  color: #64748b;
  min-width: 100px;
}

.wf-pagination-controls {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.wf-page-btn,
.wf-page-nav {
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  line-height: 1;
}

.wf-page-btn:hover:not(:disabled),
.wf-page-nav:hover:not(:disabled) {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #1e293b;
}

.wf-page-btn--active {
  background: var(--red-ui-workspace-button-background-primary, #0059A6);
  border-color: var(--red-ui-workspace-button-background-primary, #0059A6);
  color: #fff;
  font-weight: 700;
  cursor: default;
}

.wf-page-btn:disabled,
.wf-page-nav:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.wf-page-ellipsis {
  font-size: 14px;
  color: #94a3b8;
  padding: 0 4px;
  line-height: 34px;
}

.wf-page-size-wrap {
  display: flex;
  align-items: center;
  gap: 7px;
}

.wf-page-size-label {
  font-size: 13px;
  color: #64748b;
  white-space: nowrap;
}

.wf-page-size-select {
  height: 34px;
  padding: 0 28px 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  cursor: pointer;
  appearance: auto;
  transition: border-color 0.12s ease;
}

.wf-page-size-select:focus {
  outline: none;
  border-color: var(--red-ui-workspace-button-background-primary, #0059A6);
}

#node-dialog-login {
  background: #f9fbfd;
  border-radius: 12px;
  padding: 32px 40px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  font-family: 'Segoe UI', sans-serif;
  color: #111827;
  min-width: 400px;
}

#node-dialog-login-image {
  width: 160px;
  margin: 0 auto 24px;
  display: block;
}

#node-dialog-login label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
  margin-top: 16px;
}


#node-dialog-login input:focus,
#node-dialog-login select:focus {
  border-color: #2563eb;
  outline: none;
}

.lynkup-login-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
}



.lynkup-forgot-password {
  font-size: 13px;
  color: #2563eb;
  text-decoration: none;
  margin-right: auto;
}

.lynkup-forgot-password:hover {
  text-decoration: underline;
}

/* Optional: Center the login dialog */
.ui-dialog.red-ui-editor-dialog {
  border: none;
  padding: 0;
}

.ui-dialog.red-ui-editor-dialog .ui-dialog-titlebar {
  display: none;
}

/* Overall layout */
.lynkup-login-wrapper {
  background: #f9fbfd !important;
  padding: 40px !important;
  border-radius: 12px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

/* Form side spacing */
#node-dialog-login-fields {
  margin: 0 !important;
}

/* Input fields */
#node-dialog-login-fields input[type="text"],
#node-dialog-login-fields input[type="password"],
#builder-mode {
  padding: 12px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid #ccc;
  width: 100%;
  margin-bottom: 10px;
  box-sizing: border-box;
}

/* Login actions */
.lynkup-login-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  gap: 20px;
}

/* Link */
.lynkup-forgot-password {
  font-size: 13px;
  color: #666;
  text-decoration: none;
}

.lynkup-forgot-password:hover {
  text-decoration: underline;
}

/* Login button */
#node-dialog-login-submit {
  background-color: #2C7BE5 !important;
  color: white !important;
  border: none !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-weight: 500;
  cursor: pointer;
  font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

#node-dialog-login-submit:hover {
  background-color: #1a68d1 !important;
}
#node-dialog-login-fields .form-row {
  margin-bottom: 0px !important;
}

#node-dialog-login-submit:disabled {
  background-color: #6895e0 !important;
  cursor: not-allowed;
  opacity: 0.5;
}

#node-dialog-login-failed {
  bottom: 7px;
  position: absolute;
  left: 46%;
}
#red-ui-header .red-ui-header-logo a:focus,
#red-ui-header .red-ui-header-logo a:active {
  outline: none;
  box-shadow: none;
  background: none;
  border: none;
}