/*
Theme Name: Genefy Genesys Notification
Theme URI: https://genefy.de/solutions/genesys-notify/
Author: Wael Joseph
Author URI: https://genefy.de
Description: A lightweight protected Genesys Cloud notification app theme. Agents keep the notification page open while Genesys triggers URL-only notification events. Includes the optimized approved Genefy logo, EN/DE language switch, per-browser daily notification counter, high-layer in-page popup, Document Picture-in-Picture Genesys alert window, default-on sound, desktop-notification, attention-mode toggles, default-on floating-window toggle, size selector, polling endpoint, trigger endpoint, user-managed alert and sound timing, and auto-hide behavior.
Version: 1.0.159
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: Private
Text Domain: gew-genesys-notification
*/

:root {
  --gn-redion-navy: #030338;
  --gn-redion-red: #C21C17;
  --gn-redion-red-dark: #92140f;
  --gn-bg: #f7f5f0;
  --gn-bg-soft: #ffffff;
  --gn-panel: rgba(255, 255, 255, 0.9);
  --gn-panel-strong: rgba(255, 255, 255, 0.98);
  --gn-line: rgba(3, 3, 56, 0.13);
  --gn-text: #030338;
  --gn-muted: #60617e;
  --gn-soft: #363957;
  --gn-accent: #C21C17;
  --gn-accent-2: #030338;
  --gn-good: #C21C17;
  --gn-warn: #C21C17;
  --gn-danger: #C21C17;
  --gn-success: #16834a;
  --gn-success-dark: #0f6939;
  --gn-success-soft: rgba(22, 131, 74, 0.1);
  --gn-warning: #a66a00;
  --gn-warning-soft: rgba(166, 106, 0, 0.1);
  --gn-shadow: 0 24px 75px rgba(3, 3, 56, 0.14);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body.gn-body {
  color: var(--gn-text);
  background:
    radial-gradient(circle at 11% 8%, rgba(194, 28, 23, 0.12), transparent 31%),
    radial-gradient(circle at 88% 12%, rgba(3, 3, 56, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7f5f0 48%, #efece4 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  overflow-x: hidden;
}

body.gn-body:before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(194, 28, 23, 0.08) 0 2px, transparent 2px 100%),
    linear-gradient(45deg, rgba(3, 3, 56, 0.04) 0 1px, transparent 1px 100%);
  background-size: 128px 128px, 96px 96px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.4), transparent 72%);
}

a { color: inherit; }
button, input { font: inherit; }

.gn-shell {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 28px 0 42px;
  position: relative;
  z-index: 1;
}

.gn-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--gn-line);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px);
  border-radius: 26px;
  box-shadow: var(--gn-shadow);
  position: sticky;
  top: 14px;
  z-index: 40;
}

.gn-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gn-logo-wrap {
  width: 152px;
  height: 52px;
  border-radius: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(3, 3, 56, 0.12);
  box-shadow: 0 12px 28px rgba(3, 3, 56, 0.1);
  padding: 6px 12px;
}

.gn-redion-logo {
  display: block;
  width: 124px;
  height: auto;
}

.gn-brand h1 {
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--gn-redion-navy);
}

.gn-brand p {
  margin: 3px 0 0;
  color: var(--gn-muted);
  font-size: 13px;
}


.gn-topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gn-language-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(3, 3, 56, 0.14);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 10px 24px rgba(3, 3, 56, 0.08);
}

.gn-lang-button {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--gn-muted);
  cursor: pointer;
  padding: 8px 11px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.gn-lang-button:hover {
  transform: translateY(-1px);
  color: var(--gn-redion-navy);
}

.gn-lang-button.gn-lang-active {
  background: linear-gradient(135deg, var(--gn-redion-red), var(--gn-redion-navy));
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(194, 28, 23, 0.18);
}

.gn-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  border: 1px solid rgba(22, 131, 74, 0.22);
  background: var(--gn-success-soft);
  color: var(--gn-success-dark);
  padding: 10px 13px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

.gn-dot {
  width: 9px;
  height: 9px;
  border-radius: 99px;
  background: var(--gn-success);
  box-shadow: 0 0 0 6px rgba(22, 131, 74, 0.14);
}

.gn-status-pill.gn-status-warn {
  border-color: rgba(166, 106, 0, 0.26);
  background: var(--gn-warning-soft);
  color: var(--gn-warning);
}

.gn-status-pill.gn-status-warn .gn-dot {
  background: var(--gn-warning);
  box-shadow: 0 0 0 6px rgba(166, 106, 0, 0.13);
}

.gn-status-pill.gn-status-ok {
  border-color: rgba(22, 131, 74, 0.22);
  background: var(--gn-success-soft);
  color: var(--gn-success-dark);
}

.gn-status-pill.gn-status-ok .gn-dot {
  background: var(--gn-success);
  box-shadow: 0 0 0 6px rgba(22, 131, 74, 0.14);
}

.gn-hero {
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 18px;
}

.gn-card {
  border: 1px solid var(--gn-line);
  background: var(--gn-panel);
  backdrop-filter: blur(18px);
  border-radius: 30px;
  box-shadow: var(--gn-shadow);
  overflow: hidden;
}

.gn-card-inner { padding: 24px; }

.gn-hero-title {
  font-size: clamp(32px, 5vw, 62px);
  line-height: 0.96;
  letter-spacing: -0.055em;
  margin: 0;
  color: var(--gn-redion-navy);
}

.gn-gradient-text {
  background: linear-gradient(92deg, var(--gn-redion-navy), var(--gn-redion-red));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.gn-lede {
  margin: 18px 0 0;
  max-width: 700px;
  color: var(--gn-soft);
  font-size: 17px;
  line-height: 1.6;
}

.gn-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.gn-toggle-actions {
  align-items: stretch;
}

.gn-toggle-card {
  min-width: 220px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(3, 3, 56, 0.16);
  background: rgba(255, 255, 255, 0.76);
  color: var(--gn-redion-navy);
  padding: 11px 13px;
  border-radius: 17px;
  cursor: pointer;
  user-select: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.gn-toggle-card:hover {
  transform: translateY(-1px);
  background: #ffffff;
  border-color: rgba(194, 28, 23, 0.28);
  box-shadow: 0 12px 28px rgba(194, 28, 23, 0.1);
}

.gn-toggle-card strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.gn-toggle-card small {
  display: block;
  margin-top: 3px;
  color: var(--gn-muted);
  font-size: 11px;
  line-height: 1.25;
}

.gn-toggle-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gn-toggle-switch {
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: rgba(3, 3, 56, 0.18);
  padding: 3px;
  flex: 0 0 auto;
  transition: background 160ms ease;
}

.gn-toggle-switch span {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 5px 12px rgba(3, 3, 56, 0.22);
  transform: translateX(0);
  transition: transform 160ms ease;
}

.gn-toggle-input:checked + .gn-toggle-switch {
  background: var(--gn-success);
}

.gn-toggle-input:checked + .gn-toggle-switch span {
  transform: translateX(20px);
}

.gn-button {
  border: 1px solid rgba(3, 3, 56, 0.16);
  color: var(--gn-redion-navy);
  background: rgba(255, 255, 255, 0.76);
  padding: 12px 16px;
  border-radius: 15px;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  font-weight: 800;
}

.gn-button:hover {
  transform: translateY(-1px);
  background: #ffffff;
  border-color: rgba(194, 28, 23, 0.32);
  box-shadow: 0 12px 28px rgba(194, 28, 23, 0.12);
}
.gn-button-primary {
  background: linear-gradient(135deg, var(--gn-redion-red), var(--gn-redion-navy));
  border-color: transparent;
  color: #ffffff;
}
.gn-button-danger {
  background: rgba(194, 28, 23, 0.08);
  border-color: rgba(194, 28, 23, 0.24);
  color: var(--gn-redion-red-dark);
}

.gn-meter {
  display: grid;
  gap: 14px;
}

.gn-mini-card {
  border: 1px solid rgba(3, 3, 56, 0.12);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 22px;
  padding: 18px;
}

.gn-mini-label {
  color: var(--gn-muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 8px;
  font-weight: 800;
}

.gn-mini-value {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--gn-redion-navy);
}

.gn-mini-note {
  margin-top: 8px;
  color: var(--gn-muted);
  font-size: 13px;
  line-height: 1.5;
}

.gn-count-card {
  background:
    linear-gradient(135deg, rgba(194, 28, 23, 0.12), rgba(3, 3, 56, 0.04)),
    rgba(255, 255, 255, 0.78);
  border-color: rgba(194, 28, 23, 0.24);
}

.gn-count-card .gn-mini-value {
  color: var(--gn-redion-red);
}

.gn-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 18px;
}

.gn-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
}

.gn-section-title h2 {
  margin: 0;
  font-size: 18px;
  color: var(--gn-redion-navy);
}

.gn-muted { color: var(--gn-muted); }
.gn-small { font-size: 13px; line-height: 1.5; }

.gn-form-row {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}

.gn-label {
  color: var(--gn-soft);
  font-size: 13px;
  font-weight: 800;
}

.gn-input,
.gn-codebox {
  width: 100%;
  border: 1px solid rgba(3, 3, 56, 0.14);
  background: rgba(255, 255, 255, 0.86);
  color: var(--gn-text);
  border-radius: 15px;
  padding: 12px 13px;
  outline: none;
}

.gn-codebox {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.55;
  word-break: break-all;
  white-space: pre-wrap;
}

.gn-timeline {
  display: grid;
  gap: 10px;
  max-height: 372px;
  overflow: auto;
  padding-right: 4px;
}

.gn-event {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(3, 3, 56, 0.1);
  background: rgba(255, 255, 255, 0.76);
  border-radius: 17px;
}

.gn-event-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(194, 28, 23, 0.1);
  color: var(--gn-redion-red);
}

.gn-event strong { display: block; margin-bottom: 3px; color: var(--gn-redion-navy); }
.gn-event span { color: var(--gn-muted); font-size: 12px; }


.gn-creative-panel {
  position: relative;
  min-height: 330px;
  overflow: hidden;
}

.gn-creative-panel:before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 78% 24%, rgba(194, 28, 23, 0.12), transparent 32%),
    radial-gradient(circle at 18% 78%, rgba(22, 131, 74, 0.1), transparent 30%);
  pointer-events: none;
}

.gn-pulse-board {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}

.gn-pulse-tile {
  border: 1px solid rgba(3, 3, 56, 0.1);
  background: rgba(255, 255, 255, 0.74);
  border-radius: 21px;
  padding: 15px;
  min-height: 92px;
}

.gn-pulse-tile b {
  display: block;
  color: var(--gn-redion-navy);
  font-size: 15px;
}

.gn-pulse-tile span {
  display: block;
  margin-top: 7px;
  color: var(--gn-muted);
  font-size: 12px;
  line-height: 1.45;
}

.gn-live-ribbon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: var(--gn-success-dark);
  background: var(--gn-success-soft);
  border: 1px solid rgba(22, 131, 74, 0.18);
  border-radius: 999px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 800;
}

.gn-live-ribbon:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--gn-success);
  box-shadow: 0 0 0 6px rgba(22, 131, 74, 0.12);
}

.gn-hidden { display: none !important; }

.gn-global-popup-layer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 35%, rgba(194, 28, 23, 0.2), transparent 35%),
    rgba(3, 3, 56, 0.55);
  backdrop-filter: blur(14px);
}

.gn-global-popup-layer.gn-show { display: flex; }

.gn-call-popup {
  width: 500px;
  height: 500px;
  max-width: calc(100vw - 28px);
  max-height: calc(100vh - 28px);
  border-radius: 38px;
  border: 1px solid rgba(194, 28, 23, 0.22);
  background:
    radial-gradient(circle at 88% 5%, rgba(194, 28, 23, 0.12), transparent 34%),
    linear-gradient(155deg, #ffffff, #f7f5f0 72%, #eee9df);
  box-shadow: 0 44px 150px rgba(3, 3, 56, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.92);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 34px;
  position: relative;
  overflow: hidden;
  color: var(--gn-redion-navy);
}

.gn-call-popup:before {
  content: "";
  position: absolute;
  width: 270px;
  height: 270px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(194, 28, 23, 0.18), rgba(3, 3, 56, 0.08));
  filter: blur(7px);
  top: -120px;
  right: -92px;
}

.gn-call-ring {
  width: 132px;
  height: 132px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--gn-redion-red), var(--gn-redion-navy));
  color: #ffffff;
  box-shadow: 0 0 0 18px rgba(194, 28, 23, 0.11), 0 0 0 38px rgba(3, 3, 56, 0.07);
  animation: gnPulse 1.15s ease-in-out infinite;
  font-size: 56px;
  position: relative;
  z-index: 1;
}

@keyframes gnPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 18px rgba(194, 28, 23, 0.11), 0 0 0 38px rgba(3, 3, 56, 0.07); }
  50% { transform: scale(1.04); box-shadow: 0 0 0 25px rgba(194, 28, 23, 0.08), 0 0 0 54px rgba(3, 3, 56, 0.05); }
}

.gn-call-title {
  margin: 38px 0 0;
  font-size: 34px;
  line-height: 1.12;
  letter-spacing: -0.04em;
  position: relative;
  z-index: 1;
  color: var(--gn-redion-navy);
}

.gn-call-subtitle {
  margin: 14px 0 0;
  color: var(--gn-soft);
  font-size: 16px;
  line-height: 1.55;
  position: relative;
  z-index: 1;
}

.gn-countdown {
  margin-top: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(194, 28, 23, 0.18);
  background: rgba(194, 28, 23, 0.08);
  color: var(--gn-redion-red-dark);
  padding: 10px 13px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  position: relative;
  z-index: 1;
}

.gn-popup-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  border: 1px solid rgba(3, 3, 56, 0.14);
  background: rgba(255, 255, 255, 0.86);
  color: var(--gn-redion-navy);
  width: 42px;
  height: 42px;
  border-radius: 16px;
  cursor: pointer;
  font-weight: 900;
}

.gn-stop-alert-button {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 3;
  border: 1px solid rgba(194, 28, 23, 0.24);
  background: rgba(255, 255, 255, 0.9);
  color: var(--gn-redion-red-dark);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(194, 28, 23, 0.12);
}

.gn-stop-alert-button:hover,
.gn-stop-alert-button:focus {
  background: #fff3f1;
  border-color: rgba(194, 28, 23, 0.42);
  outline: none;
}

.gn-stop-alert-button[hidden] {
  display: none !important;
}

.gn-trigger-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
}

.gn-trigger-box {
  width: min(520px, 100%);
  border: 1px solid var(--gn-line);
  background: var(--gn-panel-strong);
  border-radius: 28px;
  padding: 28px;
  text-align: center;
  box-shadow: var(--gn-shadow);
}

.gn-trigger-box h1 { margin: 14px 0 8px; color: var(--gn-redion-navy); }
.gn-trigger-ok {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  background: rgba(194, 28, 23, 0.1);
  color: var(--gn-redion-red);
  font-size: 28px;
  font-weight: 900;
}

@media (max-width: 860px) {
  .gn-hero, .gn-grid { grid-template-columns: 1fr; }
  .gn-topbar { position: static; align-items: flex-start; flex-direction: column; }
  .gn-topbar-actions { width: 100%; justify-content: space-between; }
  .gn-status-pill { flex: 1 1 260px; justify-content: center; }
  .gn-logo-wrap { width: 162px; height: 50px; }
  .gn-redion-logo { width: 140px; max-height: 30px; }
  .gn-call-title { font-size: 29px; }
  .gn-pulse-board { grid-template-columns: 1fr; }
}

/* v1.0.8 responsive auto-fit refinements */
html {
  width: 100%;
  min-height: 100%;
}

body.gn-body {
  min-height: 100vh;
  min-height: 100dvh;
}

.gn-shell {
  width: min(1240px, calc(100vw - clamp(20px, 4vw, 64px)));
    min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(14px, 2vw, 28px) 0 clamp(18px, 3vw, 42px);
}

.gn-topbar,
.gn-card,
.gn-trigger-box,
.gn-call-popup {
  max-width: 100%;
}

.gn-topbar {
  flex-wrap: wrap;
}

.gn-brand {
  min-width: min(100%, 340px);
}

.gn-topbar-actions {
  min-width: min(100%, 280px);
}

.gn-hero {
  margin-top: clamp(14px, 2vw, 22px);
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: clamp(12px, 1.8vw, 18px);
}

.gn-grid {
  margin-top: clamp(12px, 1.8vw, 18px);
  grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1.1fr);
  gap: clamp(12px, 1.8vw, 18px);
}

.gn-card-inner {
  padding: clamp(16px, 2.1vw, 24px);
}

.gn-hero-title {
  font-size: clamp(30px, 6vw, 62px);
}

.gn-actions,
.gn-toggle-actions {
  align-items: stretch;
}

.gn-actions > .gn-button,
.gn-toggle-card {
  flex: 1 1 220px;
}

.gn-toggle-card {
  min-width: min(100%, 220px);
}

.gn-timeline {
  max-height: min(372px, 44vh);
  max-height: min(372px, 44dvh);
}

.gn-global-popup-layer {
  padding: clamp(10px, 2.5vw, 18px);
}

.gn-call-popup {
  width: min(500px, calc(100vw - 24px));
  width: min(500px, calc(100dvw - 24px));
  height: min(500px, calc(100vh - 24px));
  height: min(500px, calc(100dvh - 24px));
  aspect-ratio: 1 / 1;
  padding: clamp(18px, 5vmin, 34px);
  border-radius: clamp(24px, 6vmin, 38px);
}

.gn-call-ring {
  width: clamp(86px, 24vmin, 132px);
  height: clamp(86px, 24vmin, 132px);
  font-size: clamp(38px, 10vmin, 56px);
}

.gn-call-title {
  margin-top: clamp(22px, 5vmin, 38px);
  font-size: clamp(24px, 7vmin, 34px);
}

.gn-call-subtitle {
  font-size: clamp(13px, 3.5vmin, 16px);
}

.gn-countdown {
  margin-top: clamp(14px, 4vmin, 22px);
}

@media (max-width: 1100px) {
  .gn-hero,
  .gn-grid {
    grid-template-columns: 1fr;
  }

  .gn-meter .gn-card-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 700px) {
  .gn-shell {
    width: calc(100% - 18px);
    padding-top: 9px;
  }

  .gn-topbar {
    position: static;
    align-items: stretch;
    border-radius: 22px;
    padding: 12px;
  }

  .gn-brand {
    align-items: center;
    min-width: 0;
  }

  .gn-brand h1 {
    font-size: 16px;
  }

  .gn-brand p {
    font-size: 12px;
  }

  .gn-logo-wrap {
    width: 138px;
    height: 46px;
    border-radius: 16px;
  }

  .gn-redion-logo {
    width: 112px;
    max-height: 27px;
  }

  .gn-topbar-actions {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
  }

  .gn-status-pill {
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }

  .gn-meter .gn-card-inner {
    grid-template-columns: 1fr;
  }

  .gn-section-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .gn-section-title .gn-button {
    width: 100%;
  }

  .gn-pulse-board {
    grid-template-columns: 1fr;
  }

  .gn-mini-value {
    font-size: 24px;
  }
}

@media (max-width: 430px) {
  .gn-shell {
    width: calc(100% - 12px);
  }

  .gn-card,
  .gn-topbar,
  .gn-trigger-box {
    border-radius: 20px;
  }

  .gn-card-inner {
    padding: 14px;
  }

  .gn-hero-title {
    font-size: clamp(28px, 12vw, 40px);
  }

  .gn-lede {
    font-size: 15px;
  }

  .gn-actions > .gn-button,
  .gn-toggle-card {
    flex-basis: 100%;
    width: 100%;
  }

  .gn-topbar-actions {
    grid-template-columns: 1fr;
  }

  .gn-language-switch {
    width: 100%;
    justify-content: center;
  }
}

@media (max-height: 620px) and (min-width: 861px) {
  .gn-shell {
    padding-top: 10px;
    padding-bottom: 14px;
  }

  .gn-card-inner {
    padding: 16px;
  }

  .gn-hero-title {
    font-size: clamp(30px, 4.5vw, 48px);
  }

  .gn-lede {
    margin-top: 12px;
  }

  .gn-actions {
    margin-top: 16px;
  }

  .gn-timeline {
    max-height: 260px;
  }
}


/* v1.0.9 attention-mode refinements */
.gn-pulse-tile-wide {
  grid-column: 1 / -1;
  min-height: 78px;
  background:
    linear-gradient(135deg, rgba(194, 28, 23, 0.1), rgba(3, 3, 56, 0.05)),
    rgba(255, 255, 255, 0.78);
  border-color: rgba(194, 28, 23, 0.18);
}

.gn-global-popup-layer.gn-show .gn-call-popup {
  animation: gnPopupUrgent 480ms ease-out both;
}

@keyframes gnPopupUrgent {
  0% { transform: scale(0.92); opacity: 0; }
  70% { transform: scale(1.03); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* v1.0.10 Document Picture-in-Picture always-on-top alert window */
.gn-pip-button {
  min-width: min(100%, 260px);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  text-align: left;
}

.gn-pip-button strong {
  font-size: 13px;
  line-height: 1.2;
}

.gn-pip-button small {
  color: var(--gn-muted);
  font-size: 11px;
  line-height: 1.25;
}

.gn-pip-button.gn-pip-ready {
  border-color: rgba(22, 131, 74, 0.28);
  background: var(--gn-success-soft);
  color: var(--gn-success-dark);
}

.gn-button-disabled,
.gn-button-disabled:hover {
  opacity: 0.56;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}


/* v1.0.13 Genesys alert window toggle, per-user timing controls, size selector, footer, and stronger screen-fit */
.gn-pip-toggle-card {
  border-color: rgba(22, 131, 74, 0.22);
  background: rgba(22, 131, 74, 0.08);
}

.gn-size-card {
  min-width: min(100%, 240px);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(3, 3, 56, 0.16);
  background: rgba(255, 255, 255, 0.76);
  color: var(--gn-redion-navy);
  padding: 11px 13px;
  border-radius: 17px;
}

.gn-size-card strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.gn-size-card small {
  display: block;
  margin-top: 3px;
  color: var(--gn-muted);
  font-size: 11px;
  line-height: 1.25;
}

.gn-size-select {
  appearance: none;
  min-width: 148px;
  border: 1px solid rgba(3, 3, 56, 0.16);
  border-radius: 13px;
  background: #ffffff;
  color: var(--gn-redion-navy);
  padding: 10px 34px 10px 12px;
  font-weight: 800;
  font-size: 12px;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--gn-redion-red) 50%), linear-gradient(135deg, var(--gn-redion-red) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}


.gn-duration-card {
  min-width: min(100%, 220px);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(3, 3, 56, 0.16);
  background: rgba(255, 255, 255, 0.76);
  color: var(--gn-redion-navy);
  padding: 11px 13px;
  border-radius: 17px;
}

.gn-duration-card strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.gn-duration-card small {
  display: block;
  margin-top: 3px;
  color: var(--gn-muted);
  font-size: 11px;
  line-height: 1.25;
}

.gn-number-input {
  width: 74px;
  border: 1px solid rgba(3, 3, 56, 0.16);
  border-radius: 13px;
  background: #ffffff;
  color: var(--gn-redion-navy);
  padding: 10px 10px;
  font-weight: 900;
  font-size: 13px;
  text-align: center;
  outline: none;
}

.gn-number-input:focus {
  border-color: rgba(194, 28, 23, 0.55);
  box-shadow: 0 0 0 4px rgba(194, 28, 23, 0.12);
}

.gn-size-select:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}

.gn-footer {
  width: min(1240px, calc(100vw - clamp(20px, 4vw, 64px)));
  margin: 0 auto clamp(12px, 2vw, 24px);
  text-align: center;
  color: rgba(3, 3, 56, 0.68);
  font-size: clamp(12px, 1.8vw, 14px);
  font-weight: 800;
  letter-spacing: 0.01em;
}

@media (max-width: 700px) {
  .gn-size-card,
  .gn-duration-card {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .gn-size-select,
  .gn-number-input {
    width: 100%;
  }

  .gn-footer {
    width: calc(100% - 18px);
  }
}

@media (min-width: 1400px) {
  .gn-shell,
  .gn-footer {
    width: min(1320px, calc(100vw - 80px));
  }
}


/* v1.0.15 settings priority layout and extra alert-window sizes */
.gn-toggle-actions {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: stretch;
}

.gn-priority-control {
  grid-column: span 4;
}

.gn-pip-toggle-card.gn-priority-control,
.gn-pip-button.gn-priority-control,
.gn-size-card.gn-priority-control {
  min-height: 76px;
  border-color: rgba(22, 131, 74, 0.28);
  background: linear-gradient(135deg, rgba(22, 131, 74, 0.12), rgba(255, 255, 255, 0.82));
}

.gn-pip-button.gn-priority-control {
  width: 100%;
}

.gn-duration-card {
  grid-column: span 3;
}

.gn-button-primary {
  grid-column: span 3;
  min-height: 62px;
}

.gn-toggle-card:not(.gn-priority-control) {
  grid-column: span 3;
}

.gn-size-select {
  min-width: 168px;
}

.gn-trigger-page {
  min-height: 100vh;
}

.gn-trigger-box .gn-muted + .gn-muted,
.gn-trigger-box .gn-small {
  display: none;
}

@media (max-width: 1100px) {
  .gn-priority-control,
  .gn-duration-card,
  .gn-button-primary,
  .gn-toggle-card:not(.gn-priority-control) {
    grid-column: span 6;
  }
}

@media (max-width: 700px) {
  .gn-toggle-actions {
    grid-template-columns: 1fr;
  }

  .gn-priority-control,
  .gn-duration-card,
  .gn-button-primary,
  .gn-toggle-card:not(.gn-priority-control) {
    grid-column: 1 / -1;
  }
}


/* v1.0.16 Genefy logo, cleaner settings grid, smaller alert-window sizes, immediate floating-window resize */
.gn-logo-wrap {
  width: clamp(150px, 18vw, 220px);
  height: clamp(54px, 6vw, 76px);
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #151515;
}

.gn-redion-logo,
.gn-genesfy-logo {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

.gn-toggle-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 12px;
  align-items: stretch;
}

.gn-priority-control,
.gn-duration-card,
.gn-button-primary,
.gn-toggle-card:not(.gn-priority-control) {
  grid-column: auto;
}

.gn-toggle-card,
.gn-size-card,
.gn-duration-card,
.gn-button,
.gn-pip-button {
  width: 100%;
  min-width: 0;
  min-height: 82px;
  align-self: stretch;
}

.gn-size-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 10px;
}

.gn-size-card > span,
.gn-duration-card > span,
.gn-toggle-card > span:last-child,
.gn-pip-button > strong,
.gn-pip-button > small {
  min-width: 0;
}

.gn-size-select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.gn-duration-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 76px;
  align-items: center;
}

.gn-number-input {
  width: 76px;
  justify-self: end;
}

.gn-button-primary {
  min-height: 82px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.gn-pip-toggle-card.gn-priority-control,
.gn-pip-button.gn-priority-control,
.gn-size-card.gn-priority-control {
  min-height: 118px;
}

.gn-pip-button.gn-pip-resizing {
  opacity: 0.82;
}

@media (max-width: 700px) {
  .gn-logo-wrap {
    width: 150px;
    height: 54px;
  }

  .gn-duration-card {
    grid-template-columns: 1fr;
  }

  .gn-number-input {
    width: 100%;
    justify-self: stretch;
  }
}


/* v1.0.18 clean transparent Genefy logo fix */
.gn-logo-wrap {
  width: clamp(178px, 20vw, 248px);
  height: clamp(58px, 6vw, 78px);
  padding: 6px 10px;
  overflow: visible;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(3, 3, 56, 0.1);
  box-shadow: 0 12px 28px rgba(3, 3, 56, 0.09);
}

.gn-redion-logo,
.gn-genesfy-logo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 700px) {
  .gn-logo-wrap {
    width: 170px;
    height: 56px;
    padding: 5px 8px;
  }
}


/* v1.0.18 Genefy logo fit polish */
.gn-topbar {
  align-items: center;
}

.gn-brand {
  min-width: 0;
}

.gn-logo-wrap {
  width: clamp(240px, 24vw, 330px);
  height: auto;
  aspect-ratio: 720 / 210;
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(3, 3, 56, 0.10);
  box-shadow: 0 12px 28px rgba(3, 3, 56, 0.08);
  flex: 0 0 auto;
}

.gn-redion-logo,
.gn-genesfy-logo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 900px) {
  .gn-topbar {
    align-items: flex-start;
  }

  .gn-logo-wrap {
    width: min(100%, 280px);
  }
}

@media (max-width: 560px) {
  .gn-brand {
    width: 100%;
    align-items: flex-start;
  }

  .gn-logo-wrap {
    width: min(100%, 250px);
    border-radius: 18px;
  }
}

@media (max-width: 380px) {
  .gn-logo-wrap {
    width: min(100%, 220px);
  }
}


/* v1.0.19 Genefy logo compact fit */
.gn-logo-wrap {
  width: clamp(160px, 15vw, 220px) !important;
  max-width: 220px !important;
  height: auto !important;
  aspect-ratio: 720 / 210 !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}

.gn-genesfy-logo,
.gn-redion-logo.gn-genesfy-logo {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 900px) {
  .gn-logo-wrap {
    width: clamp(145px, 36vw, 200px) !important;
    max-width: 200px !important;
    border-radius: 15px !important;
  }
}

@media (max-width: 560px) {
  .gn-logo-wrap {
    width: clamp(135px, 54vw, 185px) !important;
    max-width: 185px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 380px) {
  .gn-logo-wrap {
    width: min(68vw, 165px) !important;
    max-width: 165px !important;
  }
}


/* v1.0.20 uploaded Genefy logo compact fit */
.gn-logo-wrap {
  width: clamp(118px, 10vw, 150px) !important;
  max-width: 150px !important;
  height: 46px !important;
  aspect-ratio: auto !important;
  padding: 4px 8px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}

.gn-genesfy-logo,
.gn-redion-logo.gn-genesfy-logo {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 900px) {
  .gn-logo-wrap {
    width: clamp(108px, 32vw, 138px) !important;
    max-width: 138px !important;
    height: 42px !important;
  }
}

@media (max-width: 520px) {
  .gn-logo-wrap {
    width: 118px !important;
    max-width: 118px !important;
    height: 38px !important;
  }
}


/* v1.0.22 Genefy logo white-background fit and Picture-in-Picture logo */
.gn-logo-wrap {
  width: 136px !important;
  max-width: 136px !important;
  height: 48px !important;
  padding: 6px 10px !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.gn-genesfy-logo,
.gn-redion-logo.gn-genesfy-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 900px) {
  .gn-logo-wrap {
    width: 122px !important;
    max-width: 122px !important;
    height: 44px !important;
    padding: 5px 8px !important;
  }
}
@media (max-width: 520px) {
  .gn-logo-wrap {
    width: 108px !important;
    max-width: 108px !important;
    height: 40px !important;
    padding: 4px 7px !important;
  }
}


/* v1.0.23 personal agent setup */
.gn-agent-setup-card { width: 100%; grid-column: 1 / -1; border: 1px solid rgba(3, 3, 56, 0.14); background: rgba(255,255,255,0.88); border-radius: 22px; padding: 16px; box-shadow: 0 16px 38px rgba(3,3,56,0.08); }
.gn-agent-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.gn-agent-header strong { display:block; color: var(--gn-redion-navy); font-size:15px; }
.gn-agent-header small { display:block; color:var(--gn-muted); font-size:12px; line-height:1.45; margin-top:4px; }
.gn-agent-badge { flex:0 0 auto; border-radius:999px; padding:7px 10px; background:var(--gn-warning-soft); color:var(--gn-warning); font-size:11px; font-weight:900; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gn-agent-badge-on { background:var(--gn-success-soft); color:var(--gn-success-dark); }
.gn-agent-badge-warn { background:rgba(194,28,23,0.10); color:var(--gn-redion-red-dark); }
.gn-agent-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }
.gn-agent-input { width:100%; min-height:44px; border:1px solid rgba(3,3,56,0.16); border-radius:14px; padding:10px 12px; background:#fff; color:var(--gn-text); outline:none; }
.gn-agent-input:focus { border-color:rgba(194,28,23,0.55); box-shadow:0 0 0 4px rgba(194,28,23,0.09); }
.gn-agent-save { min-height:44px; }
.gn-agent-status { margin:10px 0 0; color:var(--gn-muted); font-size:13px; line-height:1.45; }
.gn-agent-links { display:grid; gap:8px; margin-top:12px; }
.gn-agent-link-block { display:grid; gap:5px; min-width:0; }
.gn-agent-link-block span { color:var(--gn-muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.05em; }
.gn-agent-link-block code { display:block; max-width:100%; overflow:auto; white-space:nowrap; background:rgba(3,3,56,0.06); border:1px solid rgba(3,3,56,0.10); border-radius:12px; padding:9px 10px; color:var(--gn-redion-navy); font-size:12px; }
@media (max-width:720px) { .gn-agent-header, .gn-agent-row { display:grid; grid-template-columns:1fr; } .gn-agent-badge { max-width:100%; justify-self:start; } .gn-agent-save { width:100%; } }


/* v1.0.24 personal agent cleanup */
/* v1.0.25 floating alert smart profile card */
.gn-agent-setup-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(247,245,240,0.94));
  border-color: rgba(3, 3, 56, 0.10);
}
.gn-agent-header {
  align-items: center;
}
.gn-agent-header strong {
  font-size: 17px;
}
.gn-agent-row {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 8px;
  border: 1px solid rgba(3,3,56,0.08);
  background: #fff;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}
.gn-agent-input {
  border: 0;
  background: transparent;
  min-height: 48px;
  font-size: 16px;
  padding-left: 10px;
}
.gn-agent-input:focus {
  border-color: transparent;
  box-shadow: none;
}
.gn-agent-save {
  border-radius: 16px;
  min-width: 130px;
}
.gn-agent-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  border: 1px solid rgba(22,131,74,0.18);
  background: rgba(22,131,74,0.07);
  color: var(--gn-success-dark);
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 800;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gn-clear-log-button {
  background: rgba(255,255,255,0.86);
  color: var(--gn-redion-navy);
  border: 1px solid rgba(3,3,56,0.12);
  box-shadow: 0 10px 24px rgba(3,3,56,0.08);
}
.gn-clear-log-button:hover {
  background: rgba(194,28,23,0.08);
  color: var(--gn-redion-red-dark);
  border-color: rgba(194,28,23,0.18);
}
@media (max-width: 720px) {
  .gn-agent-row {
    grid-template-columns: 1fr;
  }
  .gn-agent-save {
    width: 100%;
  }
}


/* v1.0.29 help icons and translated hover tooltips */
.gn-setting-heading {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.gn-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(3, 3, 56, 0.15);
  background: rgba(255, 255, 255, 0.86);
  color: var(--gn-redion-navy);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  cursor: help;
  box-shadow: 0 5px 14px rgba(3, 3, 56, 0.08);
  z-index: 6;
}
.gn-help:hover,
.gn-help:focus-visible {
  border-color: rgba(194, 28, 23, 0.35);
  color: var(--gn-redion-red-dark);
  outline: none;
}
.gn-help::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%) translateY(4px);
  width: min(300px, 74vw);
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(3, 3, 56, 0.96);
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: 0 18px 35px rgba(3, 3, 56, 0.20);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
  white-space: normal;
  z-index: 9999;
}
.gn-help::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(3, 3, 56, 0.96);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
  z-index: 10000;
}
.gn-help:hover::after,
.gn-help:focus-visible::after,
.gn-help:hover::before,
.gn-help:focus-visible::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.gn-help-input {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.gn-help-input:hover::after,
.gn-help-input:focus-visible::after { transform: translateX(-50%) translateY(0); }
.gn-input-with-help {
  position: relative;
  min-width: 0;
}
.gn-input-with-help .gn-agent-input {
  padding-right: 42px;
}
.gn-test-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.gn-test-button .gn-help-on-button {
  color: #fff;
  border-color: rgba(255,255,255,0.45);
  background: rgba(255,255,255,0.16);
}
.gn-test-button .gn-help-on-button:hover,
.gn-test-button .gn-help-on-button:focus-visible {
  color: #fff;
  border-color: rgba(255,255,255,0.8);
}
@media (max-width: 720px) {
  .gn-help::after { width: min(260px, 82vw); }
  .gn-help-input::after { left: auto; right: 0; transform: translateY(4px); }
  .gn-help-input:hover::after,
  .gn-help-input:focus-visible::after { transform: translateY(0); }
}


/* v1.0.31 floating help tooltips, always above page cards */
.gn-help::before,
.gn-help::after {
  display: none !important;
}
.gn-floating-tooltip {
  position: fixed;
  left: 0;
  top: 0;
  max-width: min(340px, calc(100vw - 24px));
  padding: 11px 13px;
  border-radius: 14px;
  background: rgba(3, 3, 56, 0.98);
  color: #fff;
  font-size: 12px;
  line-height: 1.38;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: 0 22px 52px rgba(3, 3, 56, 0.34);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 4px, 0);
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
  z-index: 2147483647;
}
.gn-floating-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.gn-floating-tooltip::after {
  content: '';
  position: absolute;
  left: var(--gn-tip-arrow-left, 50%);
  transform: translateX(-50%);
  border: 7px solid transparent;
}
.gn-floating-tooltip.is-above::after {
  top: 100%;
  border-top-color: rgba(3, 3, 56, 0.98);
}
.gn-floating-tooltip.is-below::after {
  bottom: 100%;
  border-bottom-color: rgba(3, 3, 56, 0.98);
}
.gn-shell,
.gn-card,
.gn-settings-grid,
.gn-control-card,
.gn-agent-panel,
.gn-main-panel {
  overflow: visible;
}


/* v1.0.31 compact Clear log button polish */
.gn-section-title .gn-clear-log-button,
.gn-clear-log-button {
  width: auto !important;
  min-width: 0;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(194, 28, 23, 0.06);
  color: var(--gn-redion-red-dark);
  border: 1px solid rgba(194, 28, 23, 0.18);
  box-shadow: none;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.gn-clear-log-button::before {
  content: "🗑";
  font-size: 13px;
  line-height: 1;
}
.gn-clear-log-button:hover,
.gn-clear-log-button:focus-visible {
  background: rgba(194, 28, 23, 0.11);
  color: var(--gn-redion-red-dark);
  border-color: rgba(194, 28, 23, 0.28);
  box-shadow: 0 8px 18px rgba(194, 28, 23, 0.10);
}
@media (max-width: 720px) {
  .gn-section-title .gn-clear-log-button,
  .gn-clear-log-button {
    width: auto !important;
    align-self: flex-start;
  }
}


/* v1.0.32 floating alert cleanup and stable primary-button hover */
.gn-button-primary:hover,
.gn-button-primary:focus-visible,
.gn-agent-save:hover,
.gn-agent-save:focus-visible,
.gn-test-button:hover,
.gn-test-button:focus-visible {
  background: linear-gradient(135deg, var(--gn-redion-red), var(--gn-redion-navy)) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 14px 34px rgba(194, 28, 23, 0.22) !important;
}
.gn-button-primary:hover *,
.gn-button-primary:focus-visible *,
.gn-agent-save:hover *,
.gn-agent-save:focus-visible *,
.gn-test-button:hover *,
.gn-test-button:focus-visible * {
  color: #ffffff !important;
}
.gn-agent-save:hover,
.gn-test-button:hover {
  transform: translateY(-1px);
}


/* v1.0.36 legal footer and pages */
.gn-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 18px 16px 26px;
  text-align: center;
}

.gn-footer-links {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  color: rgba(3, 3, 56, 0.62);
}

.gn-footer-links a {
  color: rgba(3, 3, 56, 0.72);
  text-decoration: none;
  font-weight: 700;
  border-bottom: 1px solid rgba(194, 28, 23, 0.22);
}

.gn-footer-links a:hover,
.gn-footer-links a:focus-visible {
  color: var(--gn-redion-red);
  border-bottom-color: var(--gn-redion-red);
}

.gn-legal-shell {
  min-height: 100vh;
  width: min(980px, calc(100vw - 28px));
  margin: 0 auto;
  padding: 24px 0 42px;
}

.gn-legal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.gn-legal-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--gn-redion-navy);
  text-decoration: none;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.gn-legal-brand img {
  width: 118px;
  height: auto;
  display: block;
  border-radius: 12px;
}

.gn-legal-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gn-legal-nav a,
.gn-legal-footer-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.76);
  border: 1px solid rgba(3,3,56,0.1);
  color: var(--gn-redion-navy);
  text-decoration: none;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(3,3,56,0.07);
}

.gn-legal-nav a:hover,
.gn-legal-nav a:focus-visible,
.gn-legal-footer-links a:hover,
.gn-legal-footer-links a:focus-visible {
  border-color: rgba(194,28,23,0.35);
  color: var(--gn-redion-red);
}

.gn-legal-card {
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(3,3,56,0.1);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(3,3,56,0.12);
  padding: clamp(24px, 4vw, 46px);
  color: var(--gn-redion-navy);
}

.gn-legal-kicker {
  margin: 0 0 8px;
  color: var(--gn-redion-red);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}

.gn-legal-card h1 {
  margin: 0;
  font-size: clamp(32px, 6vw, 58px);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.gn-legal-updated {
  margin: 12px 0 26px;
  color: rgba(3,3,56,0.56);
  font-weight: 700;
}

.gn-legal-card section {
  padding: 18px 0;
  border-top: 1px solid rgba(3,3,56,0.08);
}

.gn-legal-card h2 {
  margin: 0 0 8px;
  font-size: clamp(18px, 2.4vw, 24px);
  letter-spacing: -0.03em;
}

.gn-legal-card p {
  margin: 0;
  max-width: 76ch;
  color: rgba(3,3,56,0.72);
  line-height: 1.65;
  font-size: 15px;
}

.gn-legal-footer-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}

@media (max-width: 680px) {
  .gn-legal-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .gn-legal-nav {
    justify-content: flex-start;
  }

  .gn-legal-brand img {
    width: 100px;
  }
}


/* v1.0.38 email-only setup polish */
.gn-agent-setup-card {
  max-width: 820px;
}
.gn-agent-row {
  max-width: 720px;
  grid-template-columns: minmax(220px, 1fr) auto;
  padding: 6px;
}
.gn-agent-input {
  min-height: 42px;
  font-size: 15px;
  padding: 8px 42px 8px 10px;
}
.gn-agent-save {
  min-height: 42px;
  min-width: 118px;
}
.gn-agent-setup-card.gn-agent-missing {
  border-color: rgba(194, 28, 23, 0.34);
  box-shadow: 0 0 0 4px rgba(194, 28, 23, 0.08), 0 16px 38px rgba(3,3,56,0.08);
  animation: gn-missing-glow 1.8s ease-in-out infinite;
}
.gn-agent-input.gn-agent-input-missing {
  color: var(--gn-redion-red-dark);
}
@keyframes gn-missing-glow {
  0%, 100% { box-shadow: 0 0 0 4px rgba(194, 28, 23, 0.06), 0 16px 38px rgba(3,3,56,0.08); }
  50% { box-shadow: 0 0 0 7px rgba(194, 28, 23, 0.13), 0 16px 38px rgba(3,3,56,0.08); }
}
.gn-legal-brand span { display: none !important; }
.gn-legal-nav a[href$="/"] { display: none !important; }
@media (max-width:720px) {
  .gn-agent-setup-card { max-width: 100%; }
  .gn-agent-row { max-width: 100%; grid-template-columns: 1fr; }
}


/* v1.0.41 cleaner personal email setup */
.gn-agent-setup-card {
  max-width: 860px;
}
.gn-agent-header {
  margin-bottom: 10px;
}
.gn-agent-saved-chip {
  min-width: 92px;
  text-align: center;
  background: rgba(3,3,56,0.055);
  color: var(--gn-muted);
}
.gn-agent-saved-chip.gn-agent-badge-on {
  background: rgba(22,131,74,0.10);
  color: var(--gn-success-dark);
}
.gn-agent-email-label {
  display: block;
  margin: 10px 0 6px;
  color: var(--gn-redion-navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.01em;
}
.gn-agent-row {
  max-width: 740px;
  padding: 6px;
  border-radius: 16px;
}
.gn-agent-input {
  min-height: 40px;
  font-size: 15px;
}
.gn-agent-save {
  min-height: 40px;
  min-width: 108px;
  border-radius: 14px;
}
.gn-agent-status {
  display: inline-flex;
  max-width: 740px;
  white-space: normal;
  border-radius: 14px;
  padding: 8px 10px;
}
@media (max-width:720px) {
  .gn-agent-row { max-width: 100%; }
  .gn-agent-saved-chip { justify-self: start; }
}

/* v1.0.41 revert v1.0.40 broad layout changes, keep approved layout with safer screen-fit only */
html,
body.gn-body {
  max-width: 100%;
  overflow-x: hidden;
}

.gn-shell,
.gn-topbar,
.gn-card,
.gn-card-inner,
.gn-agent-setup-card,
.gn-toggle-actions,
.gn-pulse-board,
.gn-footer {
  max-width: 100%;
  min-width: 0;
}

.gn-agent-input,
.gn-input-with-help,
.gn-select-wrap,
.gn-number-input,
.gn-primary,
.gn-secondary,
.gn-danger-soft,
.gn-toggle-card,
.gn-stat-card,
.gn-log-card {
  min-width: 0;
}

.gn-agent-input,
.gn-number-input,
.gn-select-wrap select {
  max-width: 100%;
}

/* Laptop fit, reduce spacing without replacing the approved layout. */
@media (max-width: 1180px) {
  .gn-shell {
    width: calc(100vw - 24px);
    padding-top: 18px;
    padding-bottom: 30px;
  }

  .gn-card-inner {
    padding: 22px;
  }

  .gn-hero-title {
    font-size: clamp(42px, 5.3vw, 58px);
    line-height: 0.98;
  }

  .gn-lede {
    max-width: 760px;
  }

  .gn-toggle-actions {
    gap: 10px;
  }

  .gn-toggle-card,
  .gn-primary,
  .gn-secondary,
  .gn-danger-soft {
    overflow: hidden;
  }
}

/* Tablet and narrow laptop widths, keep the same visual style but stack safely. */
@media (max-width: 920px) {
  .gn-topbar {
    align-items: flex-start;
  }

  .gn-brand {
    min-width: 0;
  }

  .gn-logo-wrap {
    width: 130px;
    height: 46px;
  }

  .gn-brand h1,
  .gn-brand p,
  .gn-status-pill span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gn-topbar-actions {
    gap: 8px;
  }

  .gn-agent-row {
    grid-template-columns: 1fr;
  }

  .gn-agent-save {
    width: 100%;
  }

  .gn-card-inner {
    padding: 18px;
  }
}

/* Phone fit. */
@media (max-width: 640px) {
  .gn-shell {
    width: calc(100vw - 16px);
    padding-top: 10px;
    padding-bottom: 22px;
  }

  .gn-topbar {
    position: relative;
    top: auto;
    border-radius: 20px;
    padding: 12px;
  }

  .gn-logo-wrap {
    width: 116px;
    height: 42px;
    padding: 5px 9px;
  }

  .gn-hero-title {
    font-size: clamp(34px, 12vw, 44px);
  }

  .gn-lede {
    font-size: 15px;
  }

  .gn-card-inner {
    padding: 14px;
  }

  .gn-toggle-actions,
  .gn-grid,
  .gn-pulse-board {
    grid-template-columns: 1fr !important;
  }

  .gn-primary,
  .gn-secondary,
  .gn-danger-soft,
  .gn-toggle-card {
    width: 100%;
  }
}


/* v1.0.42: activity log hosted in the right status panel and cockpit opens as popup */
.gn-meter .gn-card-inner {
  display: grid;
  gap: 14px;
  align-content: start;
}
.gn-log-panel {
  min-height: 280px;
  display: flex;
  flex-direction: column;
}
.gn-log-title-row {
  margin-bottom: 12px;
}
.gn-log-panel .gn-timeline {
  flex: 1 1 auto;
  max-height: clamp(260px, 45vh, 520px);
  min-height: 220px;
}
.gn-cockpit-open-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 220px;
  min-height: 74px;
  background: rgba(255,255,255,0.82);
  color: var(--gn-redion-navy);
  border-color: rgba(3,3,56,0.13);
}
.gn-cockpit-open-button:hover,
.gn-cockpit-open-button:focus-visible {
  background: rgba(194,28,23,0.08);
  color: var(--gn-redion-red-dark);
  border-color: rgba(194,28,23,0.2);
}
.gn-cockpit-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  z-index: 2147483600;
}
.gn-cockpit-modal.is-visible {
  display: flex;
}
.gn-cockpit-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3,3,56,0.42);
  backdrop-filter: blur(10px);
}
.gn-cockpit-dialog {
  position: relative;
  width: min(920px, calc(100vw - 34px));
  max-height: min(760px, calc(100vh - 34px));
  overflow: auto;
  z-index: 1;
  box-shadow: 0 30px 90px rgba(3,3,56,0.26);
}
.gn-cockpit-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
}
.gn-cockpit-open .gn-floating-tooltip {
  z-index: 2147483647;
}
@media (max-width: 900px) {
  .gn-hero {
    grid-template-columns: 1fr;
  }
  .gn-log-panel .gn-timeline {
    max-height: 360px;
  }
}
@media (max-width: 720px) {
  .gn-cockpit-open-button {
    width: 100%;
    min-height: 58px;
  }
  .gn-cockpit-modal {
    padding: 12px;
  }
  .gn-cockpit-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }
  .gn-cockpit-dialog .gn-pulse-board {
    grid-template-columns: 1fr;
  }
}


/* v1.0.48: fixed top header using v1.0.42 layout, without changing page cards */
:root {
  --gn-fixed-header-space: 112px;
}
.gn-shell {
  padding-top: calc(var(--gn-fixed-header-space, 112px) + 10px) !important;
}
.gn-topbar {
  position: fixed !important;
  top: clamp(10px, 1.5vw, 18px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(1240px, calc(100vw - clamp(20px, 4vw, 64px))) !important;
  max-width: calc(100vw - 20px) !important;
  z-index: 2147482000 !important;
}
@media (max-width: 860px) {
  .gn-topbar {
    position: fixed !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 20px) !important;
    align-items: flex-start;
  }
}
@media (max-width: 520px) {
  .gn-shell {
    width: calc(100vw - 16px) !important;
    padding-top: calc(var(--gn-fixed-header-space, 132px) + 8px) !important;
  }
  .gn-topbar {
    width: calc(100vw - 16px) !important;
    border-radius: 20px;
    padding: 12px;
  }
}

/* v1.0.48: Corrected Example 4 icon-grid settings panel, based on approved v1.0.46 */
.gn-icon-grid-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch;
  margin-top: 24px;
  border: 1px solid rgba(3, 3, 56, 0.13);
  border-radius: 22px;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 44px rgba(3, 3, 56, 0.06);
}

.gn-icon-grid-actions .gn-icon-cell {
  position: relative;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 104px !important;
  height: auto !important;
  border: 0 !important;
  border-right: 1px solid rgba(3, 3, 56, 0.10) !important;
  border-bottom: 1px solid rgba(3, 3, 56, 0.10) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  padding: 18px 18px !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  grid-template-areas: "icon content action" !important;
  align-items: center !important;
  gap: 16px !important;
  cursor: pointer;
  text-align: left;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.gn-icon-grid-actions .gn-icon-cell:hover,
.gn-icon-grid-actions .gn-icon-cell:focus-visible,
.gn-icon-grid-actions .gn-icon-cell:focus-within {
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(194, 28, 23, 0.12) !important;
  transform: none !important;
}

.gn-icon-grid-actions .gn-icon-mark {
  grid-area: icon;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(3, 3, 56, 0.14);
  background: rgba(255, 255, 255, 0.92);
  color: var(--gn-redion-navy);
  font-size: 23px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(3, 3, 56, 0.05);
  flex: 0 0 auto;
}

.gn-icon-grid-actions .gn-icon-content {
  grid-area: content;
  min-width: 0;
  display: block;
}

.gn-icon-grid-actions .gn-setting-heading {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
}

.gn-icon-grid-actions strong,
.gn-icon-grid-actions .gn-toggle-card strong,
.gn-icon-grid-actions .gn-size-card strong,
.gn-icon-grid-actions .gn-duration-card strong {
  display: block;
  font-size: 14px;
  line-height: 1.16;
  color: var(--gn-redion-navy);
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}

.gn-icon-grid-actions small,
.gn-icon-grid-actions .gn-toggle-card small,
.gn-icon-grid-actions .gn-size-card small,
.gn-icon-grid-actions .gn-duration-card small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.28;
  color: var(--gn-muted);
  max-width: 100%;
}

.gn-icon-grid-actions .gn-toggle-switch {
  grid-area: action;
  width: 46px;
  height: 28px;
  margin: 0;
  flex: 0 0 auto;
}

.gn-icon-grid-actions .gn-toggle-switch span {
  width: 22px;
  height: 22px;
}

.gn-icon-grid-actions .gn-toggle-input:checked + .gn-toggle-switch {
  background: var(--gn-success);
}

.gn-icon-grid-actions .gn-toggle-input:checked + .gn-toggle-switch span {
  transform: translateX(18px);
}

.gn-icon-grid-actions .gn-icon-select {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  grid-template-areas: "icon content" !important;
}

.gn-icon-grid-actions .gn-size-select {
  margin-top: 10px;
  width: 100%;
  height: 42px;
  min-height: 42px;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 900;
  background-color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gn-icon-grid-actions .gn-icon-number {
  grid-template-columns: 46px minmax(0, 1fr) 76px !important;
  grid-template-areas: "icon content action" !important;
}

.gn-icon-grid-actions .gn-number-input {
  grid-area: action;
  width: 74px !important;
  height: 42px;
  min-height: 42px;
  border-radius: 13px;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  margin: 0;
}

.gn-icon-grid-actions .gn-icon-button {
  appearance: none;
  justify-content: initial !important;
}

.gn-icon-grid-actions .gn-icon-button .gn-help-on-button {
  position: absolute;
  right: 14px;
  top: 14px;
}

.gn-icon-grid-actions .gn-icon-button .gn-icon-content {
  padding-right: 24px;
}

.gn-icon-grid-actions .gn-icon-danger,
.gn-icon-grid-actions .gn-test-button {
  background: linear-gradient(135deg, var(--gn-redion-red), var(--gn-redion-navy)) !important;
  color: #fff !important;
}

.gn-icon-grid-actions .gn-icon-danger .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button .gn-icon-mark {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}

.gn-icon-grid-actions .gn-icon-danger strong,
.gn-icon-grid-actions .gn-test-button strong,
.gn-icon-grid-actions .gn-test-button #gnTestButtonText {
  color: #fff !important;
}

.gn-icon-grid-actions .gn-icon-danger:hover,
.gn-icon-grid-actions .gn-icon-danger:focus-visible,
.gn-icon-grid-actions .gn-test-button:hover,
.gn-icon-grid-actions .gn-test-button:focus-visible {
  background: linear-gradient(135deg, var(--gn-redion-red), var(--gn-redion-navy)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14), 0 14px 34px rgba(194, 28, 23, 0.18) !important;
}

.gn-icon-grid-actions .gn-pip-toggle-card,
.gn-icon-grid-actions .gn-pip-button,
.gn-icon-grid-actions .gn-size-card {
  background: linear-gradient(135deg, rgba(22, 131, 74, 0.10), rgba(255, 255, 255, 0.90)) !important;
}

.gn-icon-grid-actions .gn-pip-button strong,
.gn-icon-grid-actions .gn-pip-button small {
  color: inherit;
}

.gn-icon-grid-actions .gn-pip-button strong,
.gn-icon-grid-actions .gn-pip-button #gnPipOpenLabel {
  color: #146c43 !important;
}

.gn-icon-grid-actions .gn-cockpit-open-button {
  min-height: 104px !important;
  background: rgba(255, 255, 255, 0.78) !important;
}

.gn-icon-grid-actions .gn-cockpit-open-button strong {
  font-size: 15px;
}

.gn-icon-grid-actions .gn-help {
  flex: 0 0 auto;
}

@media (min-width: 1320px) {
  .gn-icon-grid-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .gn-icon-grid-actions .gn-icon-cell:nth-child(4n) {
    border-right: 0 !important;
  }
  .gn-icon-grid-actions .gn-icon-cell:nth-last-child(-n+4) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 1319px) and (min-width: 881px) {
  .gn-icon-grid-actions {
    grid-template-columns: repeat(3, minmax(240px, 1fr)) !important;
  }
  .gn-icon-grid-actions .gn-icon-cell:nth-child(3n) {
    border-right: 0 !important;
  }
}

@media (max-width: 880px) and (min-width: 621px) {
  .gn-icon-grid-actions {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }
  .gn-icon-grid-actions .gn-icon-cell:nth-child(2n) {
    border-right: 0 !important;
  }
}

@media (max-width: 620px) {
  .gn-icon-grid-actions {
    grid-template-columns: 1fr !important;
  }
  .gn-icon-grid-actions .gn-icon-cell {
    border-right: 0 !important;
    min-height: 92px !important;
    padding: 14px !important;
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }
  .gn-icon-grid-actions .gn-icon-mark {
    width: 38px;
    height: 38px;
    font-size: 20px;
  }
  .gn-icon-grid-actions .gn-icon-select {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }
  .gn-icon-grid-actions .gn-icon-number {
    grid-template-columns: 38px minmax(0, 1fr) 68px !important;
  }
  .gn-icon-grid-actions .gn-number-input {
    width: 66px !important;
  }
  .gn-icon-grid-actions .gn-icon-cell:last-child {
    border-bottom: 0 !important;
  }
}

/* v1.0.56: Keeps v1.0.54 UI and hardens agent-email matching / trigger validation. */
.gn-app-shell {
  min-height: auto !important;
  height: auto !important;
}

.gn-hero {
  align-items: start !important;
}

.gn-hero > .gn-card:first-child {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

.gn-hero > .gn-card:first-child .gn-card-inner {
  min-height: 0 !important;
}

.gn-global-popup-layer {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  z-index: 2147483647 !important;
}

.gn-global-popup-layer.gn-show {
  display: flex !important;
}

.gn-icon-grid-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  margin-top: 24px !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(3, 3, 56, 0.10) !important;
}

.gn-icon-grid-actions .gn-icon-cell {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 92px !important;
  height: 92px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  grid-template-areas: "icon content" !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-right: 1px solid #e5e9f1 !important;
  border-bottom: 1px solid #e5e9f1 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer;
  overflow: visible !important;
  transform: none !important;
  transition: background 140ms ease, box-shadow 140ms ease;
}

.gn-icon-grid-actions .gn-icon-cell:nth-child(4),
.gn-icon-grid-actions .gn-icon-cell:nth-child(8),
.gn-icon-grid-actions .gn-cockpit-open-button {
  border-right: 0 !important;
}

.gn-icon-grid-actions .gn-icon-cell:nth-child(n+9) {
  border-bottom: 0 !important;
}

.gn-icon-grid-actions .gn-icon-cell:hover,
.gn-icon-grid-actions .gn-icon-cell:focus-visible,
.gn-icon-grid-actions .gn-icon-cell:focus-within {
  background: #fbfcff !important;
  box-shadow: inset 0 0 0 1px rgba(3, 3, 56, 0.05) !important;
  transform: none !important;
}

.gn-icon-grid-actions .gn-icon-mark {
  grid-area: icon !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

.gn-icon-grid-actions .gn-icon-mark svg {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gn-icon-grid-actions .gn-icon-content {
  grid-area: content !important;
  min-width: 0 !important;
  display: block !important;
  padding: 0 !important;
}

.gn-icon-grid-actions .gn-setting-heading {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-right: 20px !important;
}

.gn-icon-grid-actions strong,
.gn-icon-grid-actions .gn-toggle-card strong,
.gn-icon-grid-actions .gn-size-card strong,
.gn-icon-grid-actions .gn-duration-card strong,
.gn-icon-grid-actions .gn-test-button #gnTestButtonText,
.gn-icon-grid-actions .gn-cockpit-open-button strong {
  display: block !important;
  max-width: 100% !important;
  color: var(--gn-redion-navy) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
}

.gn-icon-grid-actions .gn-pip-button strong,
.gn-icon-grid-actions .gn-pip-button #gnPipOpenLabel {
  color: var(--gn-redion-navy) !important;
}

.gn-icon-grid-actions .gn-toggle-switch,
.gn-icon-grid-actions .gn-size-card .gn-icon-content > small,
.gn-icon-grid-actions .gn-duration-card .gn-icon-content > small {
  display: none !important;
}

.gn-icon-grid-actions .gn-help {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  display: inline-flex !important;
  width: 16px !important;
  height: 16px !important;
  border-color: rgba(3, 3, 56, 0.16) !important;
  background: #ffffff !important;
  color: #6f7890 !important;
  font-size: 10px !important;
  box-shadow: 0 5px 12px rgba(3, 3, 56, 0.08) !important;
  z-index: 5 !important;
}

.gn-icon-grid-actions .gn-help:hover,
.gn-icon-grid-actions .gn-help:focus-visible {
  color: var(--gn-redion-red) !important;
  border-color: rgba(194, 28, 23, 0.35) !important;
  outline: none !important;
}

.gn-icon-grid-actions .gn-control-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 30px !important;
  min-height: 15px !important;
  margin-top: 7px !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

.gn-icon-grid-actions .gn-control-badge-on,
.gn-icon-grid-actions .gn-control-badge-ready {
  background: #009d4f !important;
}

.gn-icon-grid-actions .gn-control-badge-ready {
  min-width: 36px !important;
  text-transform: none !important;
}

.gn-icon-grid-actions .gn-control-badge-off,
.gn-icon-grid-actions .gn-control-badge-neutral {
  background: #8c98ac !important;
}

.gn-icon-grid-actions .gn-control-badge-warn {
  background: var(--gn-redion-red) !important;
}

.gn-icon-grid-actions .gn-icon-select {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  grid-template-areas: "icon content" !important;
}

.gn-icon-grid-actions .gn-size-select {
  display: block !important;
  width: min(100%, 132px) !important;
  max-width: 132px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 7px 0 0 !important;
  padding: 0 30px 0 10px !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 999px !important;
  background-color: #f8fafc !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 28px !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  cursor: pointer;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
}

.gn-icon-grid-actions .gn-size-card .gn-icon-content {
  position: relative;
}

.gn-icon-grid-actions .gn-size-card .gn-icon-content::after {
  content: "" !important;
  position: absolute !important;
  right: 12px !important;
  top: calc(100% - 14px) !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid var(--gn-redion-navy) !important;
  display: block !important;
  pointer-events: none !important;
  transform: translateY(-35%) !important;
}

.gn-icon-grid-actions .gn-size-select:focus {
  outline: 2px solid rgba(3, 3, 56, 0.18);
  outline-offset: 2px;
}

.gn-icon-grid-actions .gn-icon-number {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon content"
    "icon action" !important;
  align-content: center !important;
}

.gn-icon-grid-actions .gn-number-value,
.gn-icon-grid-actions .gn-duration-control {
  grid-area: action !important;
  position: relative !important;
  display: block !important;
  margin-top: 7px !important;
  width: min(100%, 132px) !important;
}

.gn-icon-grid-actions .gn-duration-control::after {
  content: "" !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid var(--gn-redion-navy) !important;
  display: block !important;
  pointer-events: none !important;
  transform: translateY(-35%) !important;
}

.gn-icon-grid-actions .gn-number-input,
.gn-icon-grid-actions .gn-duration-select {
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 30px 0 10px !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 28px !important;
  text-align: left !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
  cursor: pointer;
}

.gn-icon-grid-actions .gn-number-input::-webkit-outer-spin-button,
.gn-icon-grid-actions .gn-number-input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.gn-icon-grid-actions .gn-number-input:focus,
.gn-icon-grid-actions .gn-duration-select:focus {
  outline: 2px solid rgba(3, 3, 56, 0.18);
  outline-offset: 2px;
}

.gn-icon-grid-actions .gn-number-unit {
  color: var(--gn-redion-navy) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 18px !important;
}

.gn-icon-grid-actions .gn-test-button,
.gn-icon-grid-actions .gn-icon-danger,
.gn-icon-grid-actions .gn-icon-danger:hover,
.gn-icon-grid-actions .gn-icon-danger:focus-visible,
.gn-icon-grid-actions .gn-test-button:hover,
.gn-icon-grid-actions .gn-test-button:focus-visible {
  background: #ffffff !important;
  color: var(--gn-redion-red) !important;
  box-shadow: none !important;
}

.gn-icon-grid-actions .gn-test-button .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button:hover .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button:focus-visible .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button strong,
.gn-icon-grid-actions .gn-test-button #gnTestButtonText {
  color: var(--gn-redion-red) !important;
}

.gn-icon-grid-actions .gn-test-button *,
.gn-icon-grid-actions .gn-test-button:hover *,
.gn-icon-grid-actions .gn-test-button:focus-visible *,
.gn-icon-grid-actions .gn-test-button:active * {
  color: var(--gn-redion-red) !important;
}

.gn-icon-grid-actions .gn-test-button .gn-icon-mark svg,
.gn-icon-grid-actions .gn-test-button:hover .gn-icon-mark svg,
.gn-icon-grid-actions .gn-test-button:focus-visible .gn-icon-mark svg,
.gn-icon-grid-actions .gn-test-button:active .gn-icon-mark svg {
  color: var(--gn-redion-red) !important;
  stroke: var(--gn-redion-red) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.gn-icon-grid-actions .gn-cockpit-open-button {
  grid-column: span 2 !important;
  min-height: 92px !important;
  padding-right: 56px !important;
}

.gn-icon-grid-actions .gn-cockpit-open-button::after {
  content: "›";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gn-redion-navy);
  font-size: 28px;
  line-height: 1;
  font-weight: 300;
}

.gn-icon-grid-actions .gn-button-disabled {
  opacity: 0.62 !important;
}

@media (max-width: 760px) {
  .gn-icon-grid-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gn-icon-grid-actions .gn-icon-cell {
    min-height: 88px !important;
  }

  .gn-icon-grid-actions .gn-icon-cell:nth-child(4),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(8) {
    border-right: 1px solid #e5e9f1 !important;
  }

  .gn-icon-grid-actions .gn-icon-cell:nth-child(2n),
  .gn-icon-grid-actions .gn-cockpit-open-button {
    border-right: 0 !important;
  }

  .gn-icon-grid-actions .gn-icon-cell:nth-child(n+9) {
    border-bottom: 1px solid #e5e9f1 !important;
  }

  .gn-icon-grid-actions .gn-icon-cell:nth-child(n+10) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 620px) {
  .gn-icon-grid-actions {
    grid-template-columns: 1fr !important;
    border-radius: 12px !important;
  }

  .gn-icon-grid-actions .gn-icon-cell,
  .gn-icon-grid-actions .gn-icon-cell:nth-child(2n),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(4),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(8),
  .gn-icon-grid-actions .gn-cockpit-open-button {
    grid-column: auto !important;
    min-height: 78px !important;
    padding: 15px 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e5e9f1 !important;
  }

  .gn-icon-grid-actions .gn-icon-cell:last-child {
    border-bottom: 0 !important;
  }
}

/* v1.0.58 Genefy logo visibility fix
   The v1.0.56 logo image had transparent padding and the display boxes were too tight,
   so the wordmark looked small inside the header and floating alert window. */
.gn-logo-wrap {
  width: clamp(156px, 12vw, 184px) !important;
  max-width: 184px !important;
  height: 50px !important;
  padding: 5px 10px !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  overflow: visible !important;
}
.gn-redion-logo.gn-genesfy-logo,
.gn-genesfy-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 900px) {
  .gn-logo-wrap {
    width: 142px !important;
    max-width: 142px !important;
    height: 46px !important;
    padding: 4px 8px !important;
  }
}
@media (max-width: 520px) {
  .gn-logo-wrap {
    width: 124px !important;
    max-width: 124px !important;
    height: 42px !important;
    padding: 4px 7px !important;
  }
}


/* v1.0.59 logo and test-control polish */
.gn-logo-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.gn-test-button.gn-test-running,
.gn-test-button.gn-test-running:hover,
.gn-test-button.gn-test-running:focus {
  background: linear-gradient(135deg, #6b1d1a, #030338) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 42px rgba(3, 3, 56, 0.24) !important;
}
.gn-test-button.gn-test-running .gn-icon-mark {
  background: rgba(255,255,255,.16) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.28) !important;
}


/* v1.0.65: Desktop height balance and safer icon-grid controls, based on accepted v1.0.60 */
@media (min-width: 981px) {
  .gn-hero {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr) !important;
    align-items: stretch !important;
  }
  .gn-hero > .gn-card:first-child,
  .gn-hero > .gn-meter {
    align-self: stretch !important;
    min-height: 0 !important;
  }
  .gn-hero > .gn-meter {
    width: auto !important;
    max-width: none !important;
    overflow: hidden !important;
  }
  .gn-meter .gn-card-inner {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 14px !important;
    align-content: stretch !important;
  }
  .gn-log-panel {
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .gn-log-panel .gn-section-title,
  .gn-log-title-row {
    flex: 0 0 auto !important;
  }
  .gn-log-panel .gn-timeline {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
  }
}
@media (max-width: 980px) {
  .gn-hero {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  .gn-hero > .gn-meter {
    height: auto !important;
    max-height: none !important;
  }
  .gn-meter .gn-card-inner {
    height: auto !important;
  }
  .gn-log-panel .gn-timeline {
    max-height: 360px !important;
    min-height: 180px !important;
  }
}

/* v1.0.65: keep the icon settings readable without changing the approved visual direction */
.gn-icon-grid-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.gn-icon-grid-actions .gn-icon-cell {
  min-width: 0 !important;
  min-height: 104px !important;
  padding: 18px 18px !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
}
.gn-icon-grid-actions .gn-icon-mark {
  width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  font-size: 17px !important;
  align-self: start !important;
  margin-top: 2px !important;
}
.gn-icon-grid-actions .gn-icon-mark svg {
  width: 18px !important;
  height: 18px !important;
}
.gn-icon-grid-actions .gn-setting-heading,
.gn-icon-grid-actions strong {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: auto;
}
.gn-icon-grid-actions small {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.gn-icon-grid-actions .gn-toggle-switch {
  width: 54px !important;
  height: 32px !important;
}
.gn-icon-grid-actions .gn-toggle-switch span {
  width: 26px !important;
  height: 26px !important;
}
.gn-icon-grid-actions .gn-toggle-input:checked + .gn-toggle-switch span {
  transform: translateX(22px) !important;
}
.gn-icon-grid-actions .gn-icon-select .gn-icon-content,
.gn-icon-grid-actions .gn-duration-card .gn-icon-content {
  min-width: 0 !important;
}
.gn-icon-grid-actions .gn-size-select,
.gn-icon-grid-actions .gn-duration-select,
.gn-icon-grid-actions .gn-number-input {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  text-overflow: ellipsis !important;
}
.gn-icon-grid-actions .gn-duration-control {
  grid-area: action !important;
  justify-self: end !important;
  min-width: 124px !important;
  max-width: 150px !important;
}
.gn-icon-grid-actions .gn-duration-control .gn-duration-select {
  width: 100% !important;
  padding-right: 30px !important;
  text-align: left !important;
}
.gn-icon-grid-actions .gn-size-card .gn-size-select {
  width: 100% !important;
  padding-right: 30px !important;
}
.gn-icon-grid-actions .gn-size-card .gn-icon-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
}
.gn-icon-grid-actions .gn-test-button .gn-icon-content,
.gn-icon-grid-actions .gn-icon-danger .gn-icon-content {
  min-width: 0 !important;
}
@media (max-width: 720px) {
  .gn-icon-grid-actions {
    grid-template-columns: 1fr !important;
  }
  .gn-icon-grid-actions .gn-icon-cell {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    min-height: 88px !important;
  }
}

/* v1.0.65: Corrected panel height behavior, dropdown consistency, and activity log sizing. */
@media (min-width: 981px) {
  .gn-hero {
    grid-template-columns: 1.25fr 0.75fr !important;
    align-items: start !important;
  }
  .gn-hero > .gn-card:first-child {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .gn-hero > .gn-card:first-child .gn-card-inner {
    min-height: 0 !important;
  }
  .gn-hero > .gn-meter {
    align-self: start !important;
    overflow: hidden !important;
  }
  .gn-meter .gn-card-inner {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .gn-log-panel {
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .gn-log-panel .gn-section-title,
  .gn-log-title-row {
    flex: 0 0 auto !important;
  }
  .gn-log-panel .gn-timeline {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}

.gn-icon-grid-actions .gn-size-card .gn-icon-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 160px !important;
  column-gap: 14px !important;
  row-gap: 4px !important;
  align-items: center !important;
  width: 100% !important;
}
.gn-icon-grid-actions .gn-size-card .gn-setting-heading,
.gn-icon-grid-actions .gn-size-card small {
  grid-column: 1 / 2 !important;
  min-width: 0 !important;
}
.gn-icon-grid-actions .gn-size-card .gn-size-select {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 3 !important;
  justify-self: end !important;
  align-self: center !important;
  width: 160px !important;
  max-width: 160px !important;
  min-width: 160px !important;
  padding-right: 32px !important;
  text-overflow: ellipsis !important;
}
.gn-icon-grid-actions .gn-duration-control {
  justify-self: end !important;
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
}
.gn-icon-grid-actions .gn-duration-control .gn-duration-select,
.gn-icon-grid-actions .gn-duration-control .gn-number-input {
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
  padding-right: 32px !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 1180px) and (min-width: 981px) {
  .gn-icon-grid-actions .gn-size-card .gn-icon-content {
    grid-template-columns: minmax(0, 1fr) 146px !important;
  }
  .gn-icon-grid-actions .gn-size-card .gn-size-select,
  .gn-icon-grid-actions .gn-duration-control,
  .gn-icon-grid-actions .gn-duration-control .gn-duration-select,
  .gn-icon-grid-actions .gn-duration-control .gn-number-input {
    width: 146px !important;
    min-width: 146px !important;
    max-width: 146px !important;
  }
}
@media (max-width: 720px) {
  .gn-icon-grid-actions .gn-size-card .gn-icon-content {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .gn-icon-grid-actions .gn-size-card .gn-size-select,
  .gn-icon-grid-actions .gn-duration-control,
  .gn-icon-grid-actions .gn-duration-control .gn-duration-select,
  .gn-icon-grid-actions .gn-duration-control .gn-number-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .gn-icon-grid-actions .gn-size-card .gn-size-select {
    grid-column: 1 / 2 !important;
    grid-row: auto !important;
    justify-self: stretch !important;
  }
}

.gn-timeline .gn-event {
  height: 74px !important;
  min-height: 74px !important;
  max-height: 74px !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: center !important;
  overflow: hidden !important;
}
.gn-timeline .gn-event-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
}
.gn-timeline .gn-event strong,
.gn-timeline .gn-event span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}
.gn-timeline .gn-event strong {
  white-space: nowrap !important;
  margin-bottom: 4px !important;
}
.gn-timeline .gn-event span {
  white-space: nowrap !important;
}


/* v1.0.67: Repair activity log vertical spacing after right-panel height cap.
   The right panel may be taller than the log content. Keep log entries compact at the top
   and let only the list area scroll. Do not stretch grid rows to fill empty space. */
.gn-log-panel .gn-timeline,
.gn-meter .gn-log-panel .gn-timeline {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  gap: 10px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 4px !important;
}
.gn-log-panel .gn-timeline .gn-event,
.gn-meter .gn-log-panel .gn-timeline .gn-event {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 74px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.gn-log-panel .gn-timeline .gn-event strong,
.gn-meter .gn-log-panel .gn-timeline .gn-event strong {
  white-space: normal !important;
  line-height: 1.18 !important;
  margin-bottom: 4px !important;
}
.gn-log-panel .gn-timeline .gn-event span,
.gn-meter .gn-log-panel .gn-timeline .gn-event span {
  white-space: normal !important;
  line-height: 1.35 !important;
}
@media (min-width: 981px) {
  .gn-hero {
    grid-template-columns: minmax(0, 1.38fr) minmax(340px, 0.82fr) !important;
    align-items: stretch !important;
  }
  .gn-hero > .gn-card:first-child,
  .gn-hero > .gn-meter {
    height: auto !important;
    min-height: 0 !important;
  }
  .gn-hero > .gn-meter {
    max-height: 100% !important;
  }
  .gn-meter .gn-card-inner {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    align-content: stretch !important;
  }
  .gn-log-panel {
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
  }
}


/* v1.0.67: Strict right-panel height lock.
   Desktop: the right status/log card must end exactly where the left content card ends.
   Extra activity log entries scroll inside the log list only. No blank extension and no page-height expansion. */
@media (min-width: 981px) {
  .gn-hero {
    align-items: start !important;
  }
  .gn-hero > .gn-card:first-child {
    align-self: start !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .gn-hero > .gn-meter {
    align-self: start !important;
    height: var(--gn-left-panel-height, auto) !important;
    max-height: var(--gn-left-panel-height, none) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  .gn-hero > .gn-meter > .gn-card-inner {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-content: stretch !important;
  }
  .gn-hero > .gn-meter .gn-count-card,
  .gn-hero > .gn-meter .gn-mini-card:not(.gn-log-panel) {
    flex: 0 0 auto !important;
  }
  .gn-hero > .gn-meter .gn-log-panel {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .gn-hero > .gn-meter .gn-log-title-row {
    flex: 0 0 auto !important;
  }
  .gn-hero > .gn-meter .gn-log-panel .gn-timeline {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
}
@media (max-width: 980px) {
  .gn-hero > .gn-meter,
  .gn-hero > .gn-meter > .gn-card-inner {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}


/* v1.0.69: Narrow settings tile alignment repair.
   Base: v1.0.67. Reverts the oversized-switch / duplicate-control attempt and keeps
   the compact icon-grid style while aligning icons, labels, help icons, dropdowns and row arrows. */
.gn-icon-grid-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  margin-top: 24px !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(3, 3, 56, 0.10) !important;
}
.gn-icon-grid-actions .gn-icon-cell {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 96px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  grid-template-areas: "icon content control" !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  align-items: center !important;
  padding: 20px 24px !important;
  border: 0 !important;
  border-right: 1px solid #e5e9f1 !important;
  border-bottom: 1px solid #e5e9f1 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer;
  overflow: visible !important;
  transform: none !important;
}
.gn-icon-grid-actions .gn-icon-cell:nth-child(2n),
.gn-icon-grid-actions .gn-cockpit-open-button {
  border-right: 0 !important;
}
.gn-icon-grid-actions .gn-icon-cell:nth-last-child(-n+2),
.gn-icon-grid-actions .gn-cockpit-open-button {
  border-bottom: 0 !important;
}
.gn-icon-grid-actions .gn-icon-cell:hover,
.gn-icon-grid-actions .gn-icon-cell:focus-visible,
.gn-icon-grid-actions .gn-icon-cell:focus-within {
  background: #fbfcff !important;
  box-shadow: inset 0 0 0 1px rgba(3, 3, 56, 0.05) !important;
  transform: none !important;
}
.gn-icon-grid-actions .gn-icon-mark {
  grid-area: icon !important;
  justify-self: center !important;
  align-self: center !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.gn-icon-grid-actions .gn-icon-mark svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.gn-icon-grid-actions .gn-icon-content {
  grid-area: content !important;
  min-width: 0 !important;
  display: block !important;
  padding: 0 26px 0 0 !important;
  align-self: center !important;
}
.gn-icon-grid-actions .gn-setting-heading {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.gn-icon-grid-actions strong,
.gn-icon-grid-actions .gn-toggle-card strong,
.gn-icon-grid-actions .gn-size-card strong,
.gn-icon-grid-actions .gn-duration-card strong,
.gn-icon-grid-actions .gn-test-button #gnTestButtonText,
.gn-icon-grid-actions .gn-cockpit-open-button strong {
  display: block !important;
  color: var(--gn-redion-navy) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
.gn-icon-grid-actions small,
.gn-icon-grid-actions .gn-toggle-card small,
.gn-icon-grid-actions .gn-size-card small,
.gn-icon-grid-actions .gn-duration-card small {
  display: block !important;
  margin-top: 5px !important;
  color: var(--gn-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.25 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.gn-icon-grid-actions .gn-help,
.gn-icon-grid-actions .gn-help-on-button {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: inline-flex !important;
  width: 16px !important;
  height: 16px !important;
  border-color: rgba(3, 3, 56, 0.16) !important;
  background: #fff !important;
  color: #6f7890 !important;
  font-size: 10px !important;
  box-shadow: 0 5px 12px rgba(3, 3, 56, 0.08) !important;
  z-index: 5 !important;
}
.gn-icon-grid-actions .gn-toggle-switch {
  display: none !important;
}
.gn-icon-grid-actions .gn-control-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 34px !important;
  min-height: 16px !important;
  margin-top: 7px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 8.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}
.gn-icon-grid-actions .gn-control-badge-on,
.gn-icon-grid-actions .gn-control-badge-ready { background: #009d4f !important; }
.gn-icon-grid-actions .gn-control-badge-ready { text-transform: none !important; min-width: 40px !important; }
.gn-icon-grid-actions .gn-control-badge-off,
.gn-icon-grid-actions .gn-control-badge-neutral { background: #8c98ac !important; }
.gn-icon-grid-actions .gn-control-badge-warn { background: var(--gn-redion-red) !important; }

.gn-icon-grid-actions .gn-icon-select,
.gn-icon-grid-actions .gn-icon-number {
  grid-template-columns: 28px minmax(0, 1fr) 150px !important;
  grid-template-areas: "icon content control" !important;
}
.gn-icon-grid-actions .gn-size-card .gn-icon-content > small,
.gn-icon-grid-actions .gn-duration-card .gn-icon-content > small {
  display: none !important;
}
.gn-icon-grid-actions .gn-size-select,
.gn-icon-grid-actions .gn-duration-control,
.gn-icon-grid-actions .gn-number-value {
  grid-area: control !important;
  justify-self: end !important;
  align-self: center !important;
  width: 150px !important;
  max-width: 150px !important;
  min-width: 150px !important;
  margin: 0 !important;
  position: relative !important;
}
.gn-icon-grid-actions .gn-size-select,
.gn-icon-grid-actions .gn-duration-select,
.gn-icon-grid-actions .gn-number-input {
  width: 150px !important;
  max-width: 150px !important;
  min-width: 150px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 32px 0 12px !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 999px !important;
  background-color: #f8fafc !important;
  color: var(--gn-redion-navy) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 32px !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  -moz-appearance: auto !important;
  background-image: initial !important;
}
.gn-icon-grid-actions .gn-size-card .gn-icon-content::after,
.gn-icon-grid-actions .gn-duration-control::after {
  content: none !important;
  display: none !important;
}
.gn-icon-grid-actions .gn-number-input::-webkit-outer-spin-button,
.gn-icon-grid-actions .gn-number-input::-webkit-inner-spin-button {
  margin: 0 !important;
  appearance: auto !important;
}
.gn-icon-grid-actions .gn-size-select:focus,
.gn-icon-grid-actions .gn-duration-select:focus,
.gn-icon-grid-actions .gn-number-input:focus {
  outline: 2px solid rgba(3, 3, 56, 0.18) !important;
  outline-offset: 2px !important;
}
.gn-icon-grid-actions .gn-test-button,
.gn-icon-grid-actions .gn-icon-danger,
.gn-icon-grid-actions .gn-icon-danger:hover,
.gn-icon-grid-actions .gn-icon-danger:focus-visible,
.gn-icon-grid-actions .gn-test-button:hover,
.gn-icon-grid-actions .gn-test-button:focus-visible {
  background: #fff !important;
  color: var(--gn-redion-red) !important;
  box-shadow: none !important;
}
.gn-icon-grid-actions .gn-test-button .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button:hover .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button:focus-visible .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button:active .gn-icon-mark,
.gn-icon-grid-actions .gn-test-button strong,
.gn-icon-grid-actions .gn-test-button #gnTestButtonText,
.gn-icon-grid-actions .gn-test-button *,
.gn-icon-grid-actions .gn-test-button:hover *,
.gn-icon-grid-actions .gn-test-button:focus-visible *,
.gn-icon-grid-actions .gn-test-button:active * {
  color: var(--gn-redion-red) !important;
  stroke: var(--gn-redion-red) !important;
}
.gn-icon-grid-actions .gn-cockpit-open-button {
  grid-column: 1 / -1 !important;
  min-height: 76px !important;
  padding-right: 54px !important;
}
.gn-icon-grid-actions .gn-cockpit-open-button::after {
  content: "›" !important;
  position: absolute !important;
  right: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--gn-redion-navy) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
}
@media (min-width: 981px) and (max-width: 1250px) {
  .gn-icon-grid-actions .gn-icon-select,
  .gn-icon-grid-actions .gn-icon-number {
    grid-template-columns: 28px minmax(0, 1fr) 132px !important;
  }
  .gn-icon-grid-actions .gn-size-select,
  .gn-icon-grid-actions .gn-duration-control,
  .gn-icon-grid-actions .gn-number-value,
  .gn-icon-grid-actions .gn-duration-select,
  .gn-icon-grid-actions .gn-number-input {
    width: 132px !important;
    max-width: 132px !important;
    min-width: 132px !important;
  }
}
@media (max-width: 760px) {
  .gn-icon-grid-actions {
    grid-template-columns: 1fr !important;
  }
  .gn-icon-grid-actions .gn-icon-cell,
  .gn-icon-grid-actions .gn-icon-cell:nth-child(2n),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(4),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(8),
  .gn-icon-grid-actions .gn-cockpit-open-button {
    border-right: 0 !important;
    min-height: 82px !important;
    padding: 16px 18px !important;
  }
  .gn-icon-grid-actions .gn-icon-cell:not(:last-child) {
    border-bottom: 1px solid #e5e9f1 !important;
  }
}
@media (max-width: 520px) {
  .gn-icon-grid-actions .gn-icon-cell,
  .gn-icon-grid-actions .gn-icon-select,
  .gn-icon-grid-actions .gn-icon-number {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon content"
      "icon control" !important;
    row-gap: 8px !important;
  }
  .gn-icon-grid-actions .gn-size-select,
  .gn-icon-grid-actions .gn-duration-control,
  .gn-icon-grid-actions .gn-number-value,
  .gn-icon-grid-actions .gn-duration-select,
  .gn-icon-grid-actions .gn-number-input {
    justify-self: start !important;
    width: min(100%, 180px) !important;
    max-width: 180px !important;
    min-width: 0 !important;
  }
}


/* v1.0.70: Targeted fix for the Alert window size tile only.
   Keeps the compact settings grid and all behavior unchanged. */
.gn-icon-grid-actions .gn-size-card {
  grid-template-columns: 28px minmax(112px, 1fr) 132px !important;
  grid-template-areas: "icon content control" !important;
  column-gap: 16px !important;
  align-items: center !important;
}
.gn-icon-grid-actions .gn-size-card .gn-icon-mark {
  grid-area: icon !important;
  justify-self: center !important;
  align-self: center !important;
}
.gn-icon-grid-actions .gn-size-card .gn-icon-content {
  grid-area: content !important;
  min-width: 0 !important;
  padding: 0 4px 0 0 !important;
  align-self: center !important;
}
.gn-icon-grid-actions .gn-size-card .gn-setting-heading {
  display: block !important;
  padding: 0 !important;
  min-width: 0 !important;
}
.gn-icon-grid-actions .gn-size-card strong,
.gn-icon-grid-actions .gn-size-card #gnPipSizeLabel {
  display: block !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.2 !important;
}
.gn-icon-grid-actions .gn-size-card .gn-help,
.gn-icon-grid-actions .gn-size-card #gnHelpPipSize {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 6 !important;
}
.gn-icon-grid-actions .gn-size-card .gn-size-select,
.gn-icon-grid-actions .gn-size-card #gnPipSizeSelect {
  grid-area: control !important;
  justify-self: end !important;
  align-self: center !important;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  margin: 0 !important;
  position: relative !important;
  padding-right: 28px !important;
  text-overflow: ellipsis !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  -moz-appearance: auto !important;
  background-image: initial !important;
}
@media (min-width: 1251px) {
  .gn-icon-grid-actions .gn-size-card {
    grid-template-columns: 28px minmax(112px, 1fr) 150px !important;
  }
  .gn-icon-grid-actions .gn-size-card .gn-size-select,
  .gn-icon-grid-actions .gn-size-card #gnPipSizeSelect {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }
}
@media (max-width: 520px) {
  .gn-icon-grid-actions .gn-size-card {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon content"
      "icon control" !important;
  }
  .gn-icon-grid-actions .gn-size-card .gn-size-select,
  .gn-icon-grid-actions .gn-size-card #gnPipSizeSelect {
    justify-self: start !important;
    width: min(100%, 180px) !important;
    min-width: 0 !important;
    max-width: 180px !important;
  }
  .gn-icon-grid-actions .gn-size-card strong,
  .gn-icon-grid-actions .gn-size-card #gnPipSizeLabel {
    white-space: normal !important;
  }
}


/* v1.0.72: Final polish only for accepted v1.0.70 settings panel.
   Keeps the current compact layout and behavior. Normalizes dropdown width and help-icon placement. */
.gn-icon-grid-actions .gn-icon-select,
.gn-icon-grid-actions .gn-icon-number,
.gn-icon-grid-actions .gn-size-card {
  grid-template-columns: 28px minmax(112px, 1fr) 160px !important;
}
.gn-icon-grid-actions .gn-size-select,
.gn-icon-grid-actions .gn-duration-select,
.gn-icon-grid-actions .gn-number-input,
.gn-icon-grid-actions .gn-duration-control,
.gn-icon-grid-actions .gn-number-value,
.gn-icon-grid-actions .gn-size-card .gn-size-select,
.gn-icon-grid-actions .gn-size-card #gnPipSizeSelect {
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
}
.gn-icon-grid-actions .gn-help,
.gn-icon-grid-actions .gn-help-on-button,
.gn-icon-grid-actions .gn-size-card .gn-help,
.gn-icon-grid-actions .gn-size-card #gnHelpPipSize {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 6 !important;
}
.gn-icon-grid-actions .gn-setting-heading .gn-help,
.gn-icon-grid-actions .gn-setting-heading #gnHelpPipSize {
  margin: 0 !important;
}
.gn-icon-grid-actions .gn-size-card strong,
.gn-icon-grid-actions .gn-size-card #gnPipSizeLabel {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.gn-icon-grid-actions .gn-size-card .gn-icon-content {
  padding-right: 6px !important;
}
.gn-icon-grid-actions .gn-size-select,
.gn-icon-grid-actions .gn-duration-select {
  padding-right: 30px !important;
}
@media (min-width: 981px) and (max-width: 1250px) {
  .gn-icon-grid-actions .gn-icon-select,
  .gn-icon-grid-actions .gn-icon-number,
  .gn-icon-grid-actions .gn-size-card {
    grid-template-columns: 28px minmax(96px, 1fr) 160px !important;
  }
  .gn-icon-grid-actions .gn-size-select,
  .gn-icon-grid-actions .gn-duration-select,
  .gn-icon-grid-actions .gn-number-input,
  .gn-icon-grid-actions .gn-duration-control,
  .gn-icon-grid-actions .gn-number-value,
  .gn-icon-grid-actions .gn-size-card .gn-size-select,
  .gn-icon-grid-actions .gn-size-card #gnPipSizeSelect {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }
}
@media (max-width: 520px) {
  .gn-icon-grid-actions .gn-size-select,
  .gn-icon-grid-actions .gn-duration-select,
  .gn-icon-grid-actions .gn-number-input,
  .gn-icon-grid-actions .gn-duration-control,
  .gn-icon-grid-actions .gn-number-value,
  .gn-icon-grid-actions .gn-size-card .gn-size-select,
  .gn-icon-grid-actions .gn-size-card #gnPipSizeSelect {
    width: min(100%, 180px) !important;
    min-width: 0 !important;
    max-width: 180px !important;
  }
}


/* v1.0.72: Targeted final fix for Alert window size help icon placement.
   Keep v1.0.71 layout. Do not change controls or behavior.
   The size help icon was positioned relative to the content block; make it use the tile instead. */
.gn-icon-grid-actions .gn-size-card .gn-icon-content {
  position: static !important;
}
.gn-icon-grid-actions .gn-size-card .gn-setting-heading {
  position: static !important;
}
.gn-icon-grid-actions .gn-size-card #gnHelpPipSize {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 8 !important;
}


/* v1.0.74: Separator-line polish only.
   Adds the missing separators before Attention mode / Shift alert cockpit without moving controls. */
.gn-icon-grid-actions .gn-icon-cell:nth-child(8),
.gn-icon-grid-actions .gn-icon-cell:nth-child(9),
.gn-icon-grid-actions .gn-icon-cell:nth-child(10) {
  border-bottom: 1px solid #e5e9f1 !important;
}
.gn-icon-grid-actions .gn-cockpit-open-button {
  border-top: 1px solid #e5e9f1 !important;
}
@media (max-width: 760px) {
  .gn-icon-grid-actions .gn-icon-cell:nth-child(8),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(9),
  .gn-icon-grid-actions .gn-icon-cell:nth-child(10),
  .gn-icon-grid-actions .gn-cockpit-open-button {
    border-bottom: 1px solid #e5e9f1 !important;
  }
}


/* v1.0.74: hero and personal agent visual polish only */
.gn-hero-title {
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.gn-agent-setup-card {
  padding: 18px 18px 16px;
}

.gn-agent-header {
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}

.gn-agent-header > div {
  min-width: 0;
}

.gn-agent-header .gn-setting-heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.15;
}

.gn-agent-saved-chip {
  align-self: flex-start;
  margin-top: 0;
  min-width: 86px;
  padding: 7px 11px;
}

.gn-agent-email-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 8px 0 8px;
  line-height: 1.2;
}

.gn-agent-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.gn-input-with-help {
  position: relative;
  min-width: 0;
  width: 100%;
}

.gn-input-with-help .gn-agent-input,
.gn-agent-input {
  width: 100%;
  min-height: 52px;
  height: 52px;
  border: 1px solid rgba(3,3,56,0.14);
  background: #fff;
  border-radius: 16px;
  padding: 0 16px;
  font-size: 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}

.gn-agent-input:focus {
  border-color: rgba(194, 28, 23, 0.45);
  box-shadow: 0 0 0 4px rgba(194, 28, 23, 0.08);
}

.gn-agent-save {
  min-height: 52px;
  height: 52px;
  min-width: 120px;
  padding: 0 18px;
  border-radius: 14px;
}

.gn-agent-status {
  margin-top: 12px;
  margin-left: 0;
  max-width: 100%;
  align-self: flex-start;
}

/* Keep only the title-level help for the agent email setup. */
.gn-help-input {
  display: none !important;
}

@media (max-width: 720px) {
  .gn-agent-header {
    display: grid;
    grid-template-columns: 1fr;
  }
  .gn-agent-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .gn-agent-save {
    width: 100%;
  }
  .gn-hero-title {
    line-height: 1.02;
  }
}


/* v1.0.84 exact approved logo source update. Alert behavior unchanged. */


/* v1.0.86 optimized live logo loading. The displayed logo keeps the approved design but uses a smaller PNG for faster header and floating-window loading. */


/* Genefy v1.0.89 basic protection gate */
.gn-gate-body{overflow:auto;min-height:100vh;background:radial-gradient(circle at 20% 0,rgba(0,122,255,.14),transparent 32%),radial-gradient(circle at 80% 8%,rgba(96,49,205,.12),transparent 30%),linear-gradient(160deg,#fbfcff,#f4f5fb 70%,#eef1f8)}
.gn-gate-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;color:var(--gn-redion-navy)}
.gn-gate-card{width:min(520px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(3,3,56,.10);border-radius:28px;box-shadow:0 28px 90px rgba(3,3,56,.16);padding:30px;text-align:center}
.gn-gate-logo{display:block;width:min(240px,80%);height:auto;margin:0 auto 16px;object-fit:contain}
.gn-gate-kicker{margin:0 0 8px;color:var(--gn-redion-red);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.gn-gate-card h1{margin:0;font-size:clamp(30px,6vw,46px);line-height:1;letter-spacing:-.05em}
.gn-gate-copy{margin:12px auto 18px;max-width:380px;color:var(--gn-muted);line-height:1.5}
.gn-gate-error{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(194,28,23,.22);border-radius:14px;background:rgba(194,28,23,.08);color:var(--gn-redion-red-dark);font-weight:800}
.gn-gate-form{display:grid;gap:10px;text-align:left;margin-top:12px}
.gn-gate-form label{font-weight:900;color:var(--gn-redion-navy)}
.gn-gate-form input{width:100%;border:1px solid rgba(3,3,56,.18);border-radius:16px;padding:14px 15px;font-size:16px;outline:none;background:#fff;color:var(--gn-redion-navy)}
.gn-gate-form input:focus{border-color:var(--gn-redion-red);box-shadow:0 0 0 4px rgba(194,28,23,.10)}
.gn-gate-form .gn-button{width:100%;justify-content:center;margin-top:4px}
.gn-gate-links{display:flex;gap:14px;justify-content:center;margin-top:18px;font-size:13px;font-weight:800}
.gn-gate-links a,.gn-logout-link{color:var(--gn-redion-navy);text-decoration:none}
.gn-gate-links a:hover,.gn-logout-link:hover{text-decoration:underline}
.gn-logout-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(3,3,56,.12);background:#fff;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;white-space:nowrap}
@media (max-width:640px){.gn-gate-shell{padding:16px}.gn-gate-card{padding:22px;border-radius:22px}.gn-logout-link{padding:8px 10px}}


/* v1.0.90 Genefy front login, access requests, and admin page */
.gn-checkline{display:flex!important;align-items:center;gap:8px;margin:6px 0 10px!important;color:var(--gn-muted);font-weight:800!important}.gn-checkline input{width:auto!important}.gn-gate-success{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(22,163,74,.25);border-radius:14px;background:rgba(22,163,74,.10);color:#166534;font-weight:800}.gn-access-card{width:min(620px,100%)}.gn-access-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.gn-access-tabs button{border:1px solid rgba(3,3,56,.12);background:#fff;border-radius:999px;padding:10px 8px;font-weight:900;cursor:pointer;color:var(--gn-redion-navy)}.gn-access-tabs button.active{background:var(--gn-redion-navy);color:#fff}.gn-access-tab{display:none}.gn-access-tab.active{display:grid}.gn-user-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(3,3,56,.12);background:rgba(255,255,255,.92);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;color:var(--gn-redion-navy);white-space:nowrap}.gn-admin-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(3,3,56,.12);border-radius:50%;background:#fff;color:var(--gn-redion-navy);text-decoration:none;font-size:18px;font-weight:900;box-shadow:0 8px 20px rgba(3,3,56,.08)}.gn-admin-icon:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(3,3,56,.12)}.gn-agent-locked{background:#f8fafc!important;color:#475569!important}.gn-admin-shell{max-width:1180px}.gn-admin-message{margin:18px 0;padding:14px 16px;border:1px solid rgba(22,163,74,.25);border-radius:16px;background:#f0fdf4;color:#166534;font-weight:900}.gn-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.gn-admin-stat,.gn-admin-card,.gn-user-card{background:rgba(255,255,255,.96);border:1px solid rgba(3,3,56,.10);border-radius:22px;box-shadow:0 18px 50px rgba(3,3,56,.08);padding:18px}.gn-admin-stat span{display:block;color:var(--gn-muted);font-weight:800;font-size:13px}.gn-admin-stat strong{display:block;font-size:32px;margin-top:6px;color:var(--gn-redion-navy)}.gn-admin-card{margin:18px 0}.gn-admin-card h2,.gn-admin-card h3{margin-top:0;color:var(--gn-redion-navy)}.gn-admin-note{color:var(--gn-muted);margin:6px 0 12px}.gn-admin-form{display:grid;gap:12px}.gn-admin-form label{display:grid;gap:6px;font-weight:900;color:var(--gn-redion-navy)}.gn-admin-form input,.gn-admin-form select,.gn-admin-form textarea,.gn-admin-table textarea{width:100%;border:1px solid rgba(3,3,56,.16);border-radius:14px;padding:10px 12px;background:#fff;color:var(--gn-redion-navy);font:inherit}.gn-admin-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gn-admin-table-wrap{overflow:auto}.gn-admin-table{width:100%;border-collapse:separate;border-spacing:0 8px}.gn-admin-table th{text-align:left;color:var(--gn-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.gn-admin-table td{background:#fff;border-top:1px solid rgba(3,3,56,.08);border-bottom:1px solid rgba(3,3,56,.08);padding:10px;vertical-align:top}.gn-admin-table td:first-child{border-left:1px solid rgba(3,3,56,.08);border-radius:14px 0 0 14px}.gn-admin-table td:last-child{border-right:1px solid rgba(3,3,56,.08);border-radius:0 14px 14px 0}.gn-user-card{margin:12px 0}.gn-user-card h3{margin:0 0 8px;color:var(--gn-redion-navy)}.gn-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.gn-inline-actions form{display:flex;gap:8px;align-items:center}.gn-inline-actions input{border:1px solid rgba(3,3,56,.16);border-radius:14px;padding:10px 12px}@media (max-width:900px){.gn-admin-grid,.gn-admin-fields{grid-template-columns:1fr}.gn-admin-shell .gn-topbar{align-items:flex-start}.gn-inline-actions{display:grid}.gn-access-tabs{grid-template-columns:1fr}}


/* v1.0.91 front-only interface and enhanced access admin */
html{margin-top:0!important}body.admin-bar{margin-top:0!important}#wpadminbar{display:none!important;visibility:hidden!important}.gn-front-admin-body{background:radial-gradient(circle at 10% 5%,rgba(194,28,23,.08),transparent 28%),radial-gradient(circle at 95% 15%,rgba(3,3,56,.08),transparent 30%),var(--gn-bg)}.gn-admin-v2-shell{max-width:1280px}.gn-admin-v2-topbar{position:sticky;top:12px;z-index:20;backdrop-filter:blur(18px)}.gn-admin-hero-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.96);border:1px solid rgba(3,3,56,.10);border-radius:28px;box-shadow:0 24px 70px rgba(3,3,56,.10);padding:24px;margin:22px 0}.gn-admin-hero-card h2{font-size:34px;line-height:1;margin:0 0 8px;color:var(--gn-redion-navy)}.gn-admin-hero-card p{margin:0;color:var(--gn-muted);font-weight:700}.gn-admin-quick-actions,.gn-admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.gn-admin-v2-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gn-admin-card-highlight{border-color:rgba(194,28,23,.18);background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,245,245,.90))}.gn-admin-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.gn-admin-section-head p{margin:4px 0 0;color:var(--gn-muted);font-weight:700}.gn-org-list{display:grid;gap:12px;margin-bottom:18px}.gn-org-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:stretch;background:#fff;border:1px solid rgba(3,3,56,.10);border-radius:20px;padding:16px}.gn-org-card h3,.gn-user-card-v2 h3{margin:0 0 6px;color:var(--gn-redion-navy)}.gn-org-card p{margin:4px 0;color:var(--gn-muted);font-weight:700}.gn-org-main textarea{margin-top:6px;min-height:86px;font-size:12px}.gn-org-actions{display:grid;gap:10px;align-content:start}.gn-user-list{display:grid;gap:14px}.gn-user-card-v2{padding:18px;border-radius:22px}.gn-user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.gn-user-card-head p{margin:0;color:var(--gn-muted);font-weight:700}.gn-status-mini{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;text-transform:capitalize;background:#f1f5f9;color:#334155}.gn-status-approved{background:#ecfdf5;color:#166534}.gn-status-pending{background:#fff7ed;color:#9a3412}.gn-status-declined{background:#fef2f2;color:#991b1b}.gn-user-control-form{background:#f8fafc;border:1px solid rgba(3,3,56,.08);border-radius:18px;padding:14px}.gn-admin-row-form{gap:10px}.gn-admin-shell select{min-height:42px}.gn-admin-shell .gn-inline-actions select{border:1px solid rgba(3,3,56,.16);border-radius:14px;padding:10px 12px;background:#fff;color:var(--gn-redion-navy);font:inherit;font-weight:800}.gn-admin-shell .gn-topbar-actions{gap:10px}.gn-admin-shell .gn-button{text-decoration:none}.gn-admin-shell textarea[readonly]{cursor:pointer}.gn-admin-table th,.gn-admin-table td{white-space:nowrap}.gn-admin-table td:first-child{white-space:normal}@media (max-width:980px){.gn-admin-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gn-admin-hero-card,.gn-org-card{grid-template-columns:1fr}.gn-admin-hero-card{align-items:flex-start}.gn-admin-quick-actions{width:100%}}@media (max-width:640px){.gn-admin-v2-grid{grid-template-columns:1fr}.gn-admin-hero-card h2{font-size:26px}.gn-user-card-head{display:grid}.gn-admin-shell .gn-topbar-actions{width:100%;justify-content:flex-start}.gn-admin-actions,.gn-inline-actions{display:grid!important;grid-template-columns:1fr}.gn-admin-shell .gn-inline-actions form{display:grid;grid-template-columns:1fr}.gn-org-actions{grid-template-columns:1fr}}


/* v1.0.92, Sneferu-style front admin shell and normal-size topbar */
html{margin-top:0!important}body.admin-bar{margin-top:0!important}#wpadminbar{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}.gn-front-admin-v3-body{min-height:100vh;background:radial-gradient(circle at 0% 0%,rgba(194,28,23,.07),transparent 28%),radial-gradient(circle at 92% 4%,rgba(3,3,56,.08),transparent 30%),var(--gn-bg)}.gn-fixed-app-topbar{position:sticky;top:14px;z-index:50;width:min(1280px,calc(100% - 32px));min-height:64px;margin:14px auto 0;padding:10px 14px;border-radius:22px;background:rgba(255,255,255,.94);border:1px solid rgba(3,3,56,.10);box-shadow:0 14px 40px rgba(3,3,56,.09);display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:16px;backdrop-filter:blur(18px)}.gn-clean-topbar .gn-brand,.gn-admin-clean-topbar .gn-brand{min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none}.gn-admin-clean-topbar .gn-logo-wrap{height:42px;width:auto;display:flex;align-items:center;justify-content:flex-start}.gn-admin-clean-topbar .gn-redion-logo{width:auto!important;height:42px!important;max-width:150px!important;object-fit:contain!important}.gn-topbar-brand strong{display:block;color:var(--gn-redion-navy);font-size:18px;line-height:1}.gn-topbar-brand small{display:block;color:var(--gn-muted);font-size:11px;font-weight:800;margin-top:2px}.gn-topbar-center{min-width:0;text-align:left}.gn-topbar-center strong{display:block;color:var(--gn-redion-navy);font-size:16px;line-height:1.1}.gn-topbar-center span{display:block;color:var(--gn-muted);font-size:12px;font-weight:800;margin-top:4px}.gn-button-compact{min-height:36px!important;padding:8px 12px!important;border-radius:14px!important}.gn-admin-workspace{width:min(1280px,calc(100% - 32px));margin:18px auto 60px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.gn-admin-sidepanel{position:sticky;top:96px;display:grid;gap:10px;padding:16px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,250,252,.94));border:1px solid rgba(3,3,56,.10);box-shadow:0 18px 48px rgba(3,3,56,.09)}.gn-admin-side-head{padding:6px 8px 12px;border-bottom:1px solid rgba(3,3,56,.08);margin-bottom:4px}.gn-side-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:var(--gn-muted)}.gn-admin-side-head strong{display:block;color:var(--gn-redion-navy);font-size:22px;line-height:1.05;margin-top:4px}.gn-admin-side-head small{display:block;color:var(--gn-muted);font-weight:700;margin-top:5px}.gn-side-item{width:100%;border:1px solid transparent;background:transparent;color:var(--gn-redion-navy);border-radius:16px;padding:12px 14px;text-align:left;font-weight:900;cursor:pointer}.gn-side-item:hover{background:rgba(3,3,56,.04)}.gn-side-item.is-active{background:linear-gradient(135deg,var(--gn-redion-red),var(--gn-redion-navy));color:#fff;box-shadow:0 12px 28px rgba(3,3,56,.16)}.gn-admin-main-panel{min-width:0;display:grid;gap:16px}.gn-admin-hero-compact,.gn-admin-module{background:rgba(255,255,255,.96);border:1px solid rgba(3,3,56,.10);border-radius:28px;box-shadow:0 22px 60px rgba(3,3,56,.09);padding:22px}.gn-admin-hero-compact h1,.gn-module-head h2{margin:4px 0 6px;color:var(--gn-redion-navy);font-size:34px;line-height:1.03}.gn-admin-hero-compact p,.gn-module-head p{margin:0;color:var(--gn-muted);font-weight:750}.gn-admin-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.gn-admin-stats-row .gn-admin-stat{margin:0;box-shadow:none;border-radius:20px}.gn-module-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.gn-module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}.gn-module-tabs button{border:1px solid rgba(3,3,56,.12);background:#fff;border-radius:999px;padding:10px 14px;color:var(--gn-redion-navy);font-weight:900;cursor:pointer}.gn-module-tabs button.is-active{background:var(--gn-redion-navy);color:#fff}.gn-module-pane{display:none}.gn-module-pane.is-active{display:block}.gn-org-card-clean{grid-template-columns:minmax(0,1fr) 176px}.gn-copy-field{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:start;margin-top:10px;color:var(--gn-redion-navy);font-weight:900}.gn-copy-field textarea{min-height:68px;resize:vertical;font-size:12px}.gn-admin-workspace textarea,.gn-admin-workspace input,.gn-admin-workspace select{font-size:14px}.gn-admin-workspace .gn-admin-card{box-shadow:none}.gn-admin-message{margin:0}.gn-front-admin-v3-body .gn-admin-v2-topbar,.gn-front-admin-v3-body .gn-admin-hero-card,.gn-front-admin-v3-body .gn-admin-v2-grid{all:unset}@media (max-width:1080px){.gn-fixed-app-topbar{grid-template-columns:1fr;align-items:start}.gn-admin-workspace{grid-template-columns:1fr}.gn-admin-sidepanel{position:relative;top:auto;display:flex;overflow:auto}.gn-admin-side-head{min-width:220px;border-bottom:0;border-right:1px solid rgba(3,3,56,.08);padding-right:14px}.gn-side-item{white-space:nowrap;min-width:max-content}.gn-admin-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gn-copy-field{grid-template-columns:1fr}.gn-org-card-clean{grid-template-columns:1fr}}@media (max-width:640px){.gn-fixed-app-topbar,.gn-admin-workspace{width:calc(100% - 20px)}.gn-admin-hero-compact h1,.gn-module-head h2{font-size:26px}.gn-admin-stats-row{grid-template-columns:1fr}.gn-admin-sidepanel{padding:12px}.gn-topbar-actions{width:100%;justify-content:flex-start}.gn-admin-fields{grid-template-columns:1fr!important}}


/* v1.0.93, compact front-admin topbar fix */
.gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar {
  position: fixed !important;
  top: clamp(10px, 1.5vw, 18px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(1240px, calc(100vw - clamp(20px, 4vw, 64px))) !important;
  max-width: calc(100vw - 20px) !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: 78px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  overflow: visible !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  z-index: 2147482000 !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-brand {
  flex: 0 0 auto !important;
  min-width: 210px !important;
  max-width: 260px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-logo-wrap {
  flex: 0 0 auto !important;
  width: 122px !important;
  height: 42px !important;
  min-width: 122px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-redion-logo {
  width: 122px !important;
  height: auto !important;
  max-height: 42px !important;
  object-fit: contain !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-brand strong {
  font-size: 16px !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-brand small {
  font-size: 10px !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center {
  flex: 1 1 auto !important;
  min-width: 160px !important;
  overflow: hidden !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center strong {
  font-size: 15px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center span {
  font-size: 11px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 52% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-user-chip {
  max-width: 245px !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  font-size: 12px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-button,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-button-compact,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-button-danger {
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.gn-front-admin-v3-body .gn-admin-workspace {
  margin-top: 104px !important;
}
.gn-front-admin-v3-body .gn-admin-sidepanel {
  top: 104px !important;
}
@media (max-width: 920px) {
  .gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar {
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
    padding: 10px 12px !important;
  }
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-brand,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions {
    max-width: 100% !important;
    width: 100% !important;
  }
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
  .gn-front-admin-v3-body .gn-admin-workspace { margin-top: 178px !important; }
  .gn-front-admin-v3-body .gn-admin-sidepanel { top: auto !important; }
}


/* v1.0.94 Smart login page and login-experience admin setup */
.gn-smart-login-body{min-height:100vh;overflow:auto;background:#f4f4f6;color:var(--gn-redion-navy)}
.gn-smart-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,38vw) minmax(420px,1fr);align-items:stretch;background:#fff;position:relative}
.gn-auth-media{display:flex;align-items:center;justify-content:flex-end;padding:34px 0 34px 34px;background:rgba(3,3,56,.06)}
.gn-auth-media-frame{position:relative;width:min(520px,calc(100% - 26px));height:calc(100vh - 68px);min-height:560px;max-height:760px;overflow:hidden;background:#10122d;box-shadow:0 28px 80px rgba(3,3,56,.22)}
.gn-auth-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .65s ease,transform 5s ease}.gn-auth-photo.is-active{opacity:1;transform:scale(1)}
.gn-auth-photo-overlay{position:absolute;left:0;right:0;bottom:0;padding:34px 34px 64px;color:#fff;background:linear-gradient(180deg,transparent,rgba(3,3,56,.86))}.gn-auth-photo-overlay img{width:156px;height:auto;display:block;margin:0 0 20px;background:rgba(255,255,255,.92);border-radius:16px;padding:8px 10px}.gn-auth-photo-overlay h1{font-size:clamp(34px,4.5vw,62px);line-height:.95;letter-spacing:-.065em;margin:0 0 14px}.gn-auth-photo-overlay p{font-size:16px;line-height:1.5;margin:0;color:rgba(255,255,255,.86);font-weight:750}.gn-auth-photo-caption{position:absolute;left:24px;right:24px;top:24px;color:#fff;background:rgba(3,3,56,.38);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:12px 14px;font-weight:850;backdrop-filter:blur(14px)}.gn-auth-dots{position:absolute;left:34px;bottom:28px;display:flex;gap:7px}.gn-auth-dots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.42)}.gn-auth-dots span.is-active{background:#fff;width:22px}
.gn-auth-panel{width:min(390px,calc(100% - 40px));align-self:center;justify-self:center;text-align:center}.gn-auth-logo{width:min(180px,80%);height:auto;margin:0 auto 22px;display:block}.gn-auth-panel h2{font-size:24px;line-height:1.1;margin:0;color:#101038;font-weight:950}.gn-auth-secure{margin:8px 0 18px;color:#0f7c45;font-size:12px;font-weight:900}.gn-auth-admin-note{font-size:13px;color:var(--gn-muted);font-weight:750;margin:0 0 14px;line-height:1.45}.gn-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.gn-auth-tabs button{border:1px solid rgba(3,3,56,.14);background:#fff;border-radius:12px;min-height:40px;font-weight:950;color:var(--gn-redion-navy);cursor:pointer}.gn-auth-tabs button.is-active{background:var(--gn-redion-navy);color:#fff}.gn-auth-form{display:none;gap:10px}.gn-auth-form.is-active{display:grid}.gn-auth-form input{width:100%;height:46px;border:1px solid rgba(3,3,56,.16);border-radius:0;padding:0 14px;font-size:14px;outline:none;background:#fff;color:var(--gn-redion-navy)}.gn-auth-form input:focus{border-color:var(--gn-redion-red);box-shadow:0 0 0 3px rgba(194,28,23,.10)}.gn-auth-check{justify-content:flex-start;font-size:12px;margin:2px 0!important}.gn-auth-main-btn{height:48px;border:0;background:#d8d8d8;color:#fff;font-weight:950;cursor:pointer}.gn-auth-main-btn:hover{background:linear-gradient(135deg,var(--gn-redion-red),var(--gn-redion-navy))}.gn-auth-problem{display:inline-block;margin:12px 0 18px;color:#666;text-decoration:underline;font-size:12px;font-weight:800}.gn-auth-divider{display:flex;align-items:center;gap:14px;margin:4px 0 16px;color:#8a8a96;font-size:12px}.gn-auth-divider:before,.gn-auth-divider:after{content:"";height:1px;background:#d7d7df;flex:1}.gn-auth-alt-stack{display:grid;gap:10px}.gn-auth-alt{height:42px;border:1px solid #4a4a55;background:#fff;color:#111827;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:950;cursor:pointer}.gn-auth-alt:hover{background:#f8fafc}.gn-auth-symbol{width:22px;text-align:center;color:#1169d8}.gn-auth-inline-note{margin:12px 0 0;border:1px solid rgba(3,3,56,.12);background:#f8fafc;border-radius:12px;padding:10px 12px;font-size:12px;color:var(--gn-muted);font-weight:800;line-height:1.4}.gn-auth-more{margin-top:16px;font-size:12px;color:var(--gn-muted)}.gn-auth-more summary{cursor:pointer;font-weight:850}.gn-auth-more div{display:flex;justify-content:center;gap:12px;margin-top:10px}.gn-auth-more a{color:var(--gn-redion-navy);font-weight:850}.gn-smart-login-body .gn-gate-links{font-size:12px}
.gn-cookie-bar{position:fixed;left:14px;right:14px;bottom:14px;z-index:999999;background:#fff;border:1px solid rgba(3,3,56,.10);box-shadow:0 18px 55px rgba(3,3,56,.16);padding:12px 14px;border-radius:16px}.gn-cookie-inner{max-width:980px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.gn-cookie-copy h2{margin:0 0 4px;font-size:15px;color:#111827}.gn-cookie-copy p{margin:0;color:#60617e;font-size:12px;line-height:1.4}.gn-cookie-small{margin-top:3px!important;font-size:11px!important}.gn-cookie-small a{color:var(--gn-redion-navy);font-weight:850;text-decoration:none}.gn-cookie-small a:hover{text-decoration:underline}.gn-cookie-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gn-cookie-btn{min-height:34px;border:0;border-radius:10px;background:#eef1f6;color:#374151;font-size:12px;font-weight:900;padding:0 12px;cursor:pointer}.gn-cookie-primary{background:var(--gn-redion-red);color:#fff}.gn-cookie-btn:hover{filter:brightness(.96)}
.gn-admin-nested-card{box-shadow:none!important;background:#fbfcff!important}.gn-front-admin-v3-body .gn-fixed-app-topbar{grid-template-columns:auto minmax(220px,1fr) auto!important;min-height:62px!important;padding:8px 12px!important;margin-top:10px!important;border-radius:20px!important}.gn-front-admin-v3-body .gn-topbar-actions .gn-button,.gn-front-admin-v3-body .gn-topbar-actions .gn-user-chip{height:36px!important;padding:8px 12px!important;display:inline-flex!important;align-items:center!important}.gn-front-admin-v3-body .gn-admin-workspace{margin-top:14px!important}.gn-front-admin-v3-body .gn-admin-sidepanel{top:90px!important}
@media (max-width:980px){.gn-smart-login-shell{grid-template-columns:1fr}.gn-auth-media{padding:18px}.gn-auth-media-frame{width:100%;height:360px;min-height:360px;max-height:420px}.gn-auth-panel{padding:28px 0 140px}.gn-cookie-inner{grid-template-columns:1fr}.gn-cookie-actions{justify-content:flex-start}.gn-front-admin-v3-body .gn-fixed-app-topbar{grid-template-columns:1fr!important}.gn-front-admin-v3-body .gn-topbar-actions{justify-content:flex-start!important}}
@media (max-width:560px){.gn-auth-media{display:none}.gn-smart-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:26px 0 150px}.gn-auth-panel{width:calc(100% - 36px);padding:0}.gn-cookie-bar{left:10px;right:10px;bottom:10px}.gn-cookie-actions{display:grid;grid-template-columns:1fr;width:100%}.gn-cookie-btn{width:100%}.gn-auth-panel h2{font-size:22px}}


/* v1.0.95 login photo upload manager */
.gn-login-photo-manager{gap:18px!important}
.gn-photo-tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}
.gn-photo-tool-card{border:1px solid rgba(3,3,56,.12);background:#fbfcff;border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(3,3,56,.04)}
.gn-photo-tool-card h3{margin:0 0 8px;color:var(--gn-redion-navy);font-size:18px;letter-spacing:-.02em}
.gn-photo-tool-card input[type=file]{width:100%;border:1px dashed rgba(3,3,56,.25);border-radius:16px;background:#fff;padding:16px;font-weight:850;color:var(--gn-redion-navy)}
.gn-admin-fields-compact{grid-template-columns:1fr!important;gap:10px!important}
.gn-photo-adjust-frame{height:380px;border-radius:22px;background:#10122d;overflow:hidden;border:1px solid rgba(3,3,56,.12);box-shadow:0 16px 44px rgba(3,3,56,.14);margin-top:12px}
.gn-photo-adjust-frame img{width:100%;height:100%;display:block}
.gn-current-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.gn-current-photo-card{position:relative;display:grid;gap:8px;border:1px solid rgba(3,3,56,.12);border-radius:18px;padding:10px;background:#fff;min-height:210px;cursor:pointer}
.gn-current-photo-card img{width:100%;height:145px;object-fit:cover;object-position:center;border-radius:12px;background:#f4f5f9;display:block}
.gn-current-photo-card span{font-size:12px;font-weight:900;color:var(--gn-muted);line-height:1.25}
.gn-current-photo-card input{position:absolute;right:12px;top:12px;transform:scale(1.15)}
@media (max-width:900px){.gn-photo-tool-grid{grid-template-columns:1fr}.gn-photo-adjust-frame{height:300px}}


/* v1.0.96: Login visual layer controls and fixed super-admin preview */
.gn-auth-media-frame{position:relative;overflow:hidden}
.gn-auth-media-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,3,56,.06) 0%,rgba(3,3,56,.14) 34%,rgba(3,3,56,.72) 100%);z-index:2}
.gn-auth-overlay-logo,.gn-auth-overlay-headline,.gn-auth-overlay-text,.gn-auth-photo-caption{position:absolute;z-index:3;transform:translate(-10%,-10%)}
.gn-auth-overlay-logo{width:clamp(130px,18vw,210px);height:auto;display:block;background:rgba(255,255,255,.94);border-radius:18px;padding:10px 14px;box-shadow:0 18px 42px rgba(3,3,56,.28)}
.gn-auth-overlay-logo.is-hidden{display:none!important}
.gn-auth-overlay-headline{max-width:min(82%,560px);font-size:clamp(34px,5vw,70px);line-height:.95;letter-spacing:-.07em;margin:0;color:#fff;text-shadow:0 18px 42px rgba(3,3,56,.62)}
.gn-auth-overlay-text{max-width:min(82%,560px);font-size:clamp(15px,1.45vw,19px);line-height:1.45;margin:0;color:rgba(255,255,255,.92);font-weight:850;text-shadow:0 12px 30px rgba(3,3,56,.7)}
.gn-auth-photo-caption{right:auto;bottom:auto;max-width:min(82%,560px);color:#fff;background:rgba(3,3,56,.48);border:1px solid rgba(255,255,255,.24);border-radius:18px;padding:12px 14px;font-weight:850;backdrop-filter:blur(14px);box-shadow:0 18px 42px rgba(3,3,56,.2)}
.gn-auth-photo-overlay{display:none!important}
.gn-login-layer-tool{margin-bottom:18px}
.gn-layer-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.gn-layer-control{border:1px solid rgba(3,3,56,.12);border-radius:18px;padding:14px;background:rgba(255,255,255,.78);display:grid;gap:10px}
.gn-layer-control strong{font-size:14px;color:var(--gn-text)}
.gn-layer-control label{display:grid;gap:6px;font-size:12px;font-weight:850;color:var(--gn-muted)}
.gn-layer-control input[type="range"]{width:100%}
.gn-layer-preview-frame{position:relative;isolation:isolate}
.gn-layer-preview-frame .gn-auth-media-shade{z-index:2}
.gn-layer-preview-frame .gn-auth-overlay-logo{width:116px;border-radius:12px;padding:6px 8px}
.gn-layer-preview-frame .gn-auth-overlay-headline{font-size:clamp(22px,4vw,46px);max-width:78%}
.gn-layer-preview-frame .gn-auth-overlay-text{font-size:12px;max-width:78%;line-height:1.35}
.gn-layer-preview-frame .gn-auth-photo-caption{font-size:12px;max-width:78%;padding:8px 10px;border-radius:14px}
.gn-login-preview-mode:before{content:'Preview mode';position:fixed;left:18px;top:18px;z-index:9999;background:#030338;color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px;box-shadow:0 12px 30px rgba(3,3,56,.25)}
@media (max-width:900px){.gn-layer-control-grid{grid-template-columns:1fr}.gn-auth-overlay-logo{width:136px}.gn-auth-overlay-headline{font-size:42px}.gn-auth-overlay-text{font-size:15px}}


/* v1.0.97: Login photo raw display, no tint overlay, no carousel indicators */
.gn-smart-login-body .gn-auth-media-shade{display:none!important;background:transparent!important;opacity:0!important}
.gn-smart-login-body .gn-auth-dots{display:none!important}
.gn-smart-login-body .gn-auth-photo{filter:none!important;mix-blend-mode:normal!important;opacity:0;transform:none!important;transition:opacity .35s ease!important}
.gn-smart-login-body .gn-auth-photo.is-active{opacity:1!important;transform:none!important}
.gn-smart-login-body .gn-auth-media-frame:before,.gn-smart-login-body .gn-auth-media-frame:after{display:none!important;content:none!important}
.gn-smart-login-body .gn-auth-media-frame{background:#000}


/* v1.0.98: Login photo navigation without carousel strip or dots */
.gn-smart-login-body .gn-auth-dots{display:none!important}
.gn-smart-login-body .gn-auth-media-shade{display:none!important;background:none!important;opacity:0!important}
.gn-smart-login-body .gn-auth-media-frame{background:#000!important;overflow:hidden!important}
.gn-smart-login-body .gn-auth-photo{left:0!important;right:auto!important;top:0!important;bottom:auto!important;width:100%!important;height:100%!important;filter:none!important;mix-blend-mode:normal!important;transform:none!important;opacity:0!important;transition:opacity .25s ease!important;background:#000!important;object-fit:var(--gn-login-photo-fit, cover)}
.gn-smart-login-body .gn-auth-photo.is-active{opacity:1!important;transform:none!important}
.gn-smart-login-body .gn-auth-photo:not(.is-active){visibility:hidden!important;pointer-events:none!important}
.gn-auth-photo-nav{position:absolute;left:22px;right:22px;bottom:22px;z-index:6;display:flex;justify-content:space-between;gap:10px;pointer-events:none}
.gn-auth-photo-nav-btn{pointer-events:auto;border:1px solid rgba(255,255,255,.32);background:rgba(3,3,56,.62);color:#fff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900;line-height:1;box-shadow:0 12px 28px rgba(3,3,56,.28);backdrop-filter:blur(12px);cursor:pointer}
.gn-auth-photo-nav-btn:hover{background:rgba(255,255,255,.92);color:var(--gn-redion-navy)}
@media (max-width:560px){.gn-auth-photo-nav{display:none!important}}


/* v1.0.99: Login photo pager restored as small clickable dots and rogue top-left circle removed */
.gn-smart-login-body .gn-auth-dots,
.gn-smart-login-body .gn-auth-photo-nav,
.gn-smart-login-body .gn-auth-photo-nav-btn,
.gn-smart-login-body [data-photo-prev],
.gn-smart-login-body [data-photo-next]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.gn-smart-login-body .gn-auth-photo-pager{position:absolute;left:30px;bottom:28px;z-index:8;display:flex;align-items:center;gap:8px;pointer-events:auto}
.gn-smart-login-body .gn-auth-photo-pager-btn{appearance:none;-webkit-appearance:none;width:10px;height:10px;min-width:10px;min-height:10px;padding:0;margin:0;border:0;border-radius:999px;background:rgba(255,255,255,.42);box-shadow:none;cursor:pointer;line-height:0;color:transparent;overflow:hidden;transition:width .18s ease,background .18s ease,opacity .18s ease}
.gn-smart-login-body .gn-auth-photo-pager-btn.is-active{width:26px;background:#fff}
.gn-smart-login-body .gn-auth-photo-pager-btn:hover{background:rgba(255,255,255,.82)}
.gn-smart-login-body .gn-auth-photo-pager-btn:focus-visible{outline:2px solid #fff;outline-offset:4px}
.gn-smart-login-body .gn-auth-media-frame > span,
.gn-smart-login-body .gn-auth-media-frame > .gn-dot,
.gn-smart-login-body .gn-auth-media-frame > .gn-auth-orb,
.gn-smart-login-body .gn-auth-media-frame > .gn-carousel-dot{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media (max-width:560px){.gn-smart-login-body .gn-auth-photo-pager{left:22px;bottom:22px}}


/* v1.0.100: force-login photo pager only at bottom and prevent cached/decorative top-left orb from rendering */
.gn-smart-login-body .gn-auth-media-frame > .gn-auth-photo-pager:not(:last-child){display:flex!important}
.gn-smart-login-body .gn-auth-photo-pager{top:auto!important;right:auto!important;left:30px!important;bottom:28px!important;width:auto!important;height:auto!important;background:transparent!important;border:0!important;box-shadow:none!important}
.gn-smart-login-body .gn-auth-photo-pager:before,
.gn-smart-login-body .gn-auth-photo-pager:after{display:none!important;content:none!important}
.gn-smart-login-body .gn-auth-photo-pager-btn{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important}
.gn-smart-login-body .gn-auth-media-frame > .gn-auth-photo-pager-btn,
.gn-smart-login-body .gn-auth-media-frame > .gn-auth-dot,
.gn-smart-login-body .gn-auth-media-frame > .gn-login-dot,
.gn-smart-login-body .gn-auth-media-frame > .gn-login-orb,
.gn-smart-login-body .gn-auth-media-frame > .gn-photo-orb,
.gn-smart-login-body .gn-auth-media-frame > .gn-bg-orb,
.gn-smart-login-body .gn-auth-media-frame > .orb,
.gn-smart-login-body .gn-auth-media-frame > .dot{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media (max-width:560px){.gn-smart-login-body .gn-auth-photo-pager{left:22px!important;bottom:22px!important}}


/* v1.0.101: final top-left clipped-logo/orb fix.
   The unwanted top-left circle was a clipped logo layer from older saved login-layer settings.
   The logo overlay is now hidden until the admin explicitly saves the Login Experience page, and when shown it cannot clip into a single dot. */
.gn-smart-login-body .gn-auth-overlay-logo{
  transform:none!important;
  max-width:min(45%,220px)!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  overflow:visible!important;
}
.gn-smart-login-body .gn-auth-overlay-logo[src=""],
.gn-smart-login-body .gn-auth-overlay-logo:not([src]){display:none!important}
.gn-smart-login-body .gn-auth-media-frame{isolation:isolate}
.gn-smart-login-body .gn-auth-media-frame::before,
.gn-smart-login-body .gn-auth-media-frame::after{display:none!important;content:none!important}

/* v1.0.102: WordPress admin access restored for owner/admin users; non-admin users still stay out of wp-admin. */


/* v1.0.103: Login photo stage rebuilt from scratch.
   Removes the old close circle/old carousel/orb markup entirely and keeps only:
   real image, optional configured text/logo layers, and bottom dot/pill selector. */
.gn-smart-login-body .gn-smart-login-shell{grid-template-columns:minmax(360px,38vw) minmax(420px,1fr)!important;background:#fff!important}
.gn-login-visual{display:flex!important;align-items:center!important;justify-content:flex-end!important;padding:34px 0 34px 34px!important;background:rgba(3,3,56,.06)!important;position:relative!important;overflow:hidden!important}
.gn-login-visual::before,.gn-login-visual::after,.gn-login-visual-frame::before,.gn-login-visual-frame::after,.gn-login-visual-photos::before,.gn-login-visual-photos::after{display:none!important;content:none!important}
.gn-login-visual-frame{position:relative!important;width:min(520px,calc(100% - 26px))!important;height:calc(100vh - 68px)!important;min-height:560px!important;max-height:760px!important;overflow:hidden!important;background:#000!important;box-shadow:0 28px 80px rgba(3,3,56,.22)!important;border:0!important;border-radius:0!important;isolation:isolate!important}
.gn-login-visual-photos{position:absolute!important;inset:0!important;z-index:1!important;background:#000!important;overflow:hidden!important}
.gn-login-visual-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;opacity:0!important;visibility:hidden!important;object-fit:var(--gn-login-photo-fit, cover);object-position:center center;filter:none!important;mix-blend-mode:normal!important;transform:none!important;transition:opacity .25s ease!important;background:#000!important}
.gn-login-visual-photo.is-active{opacity:1!important;visibility:visible!important;z-index:2!important}
.gn-login-visual-layers{position:absolute!important;inset:0!important;z-index:4!important;pointer-events:none!important;overflow:hidden!important;background:transparent!important}
.gn-login-visual-layers::before,.gn-login-visual-layers::after{display:none!important;content:none!important}
.gn-login-visual-layers .gn-auth-overlay-logo,
.gn-login-visual-layers .gn-auth-overlay-headline,
.gn-login-visual-layers .gn-auth-overlay-text,
.gn-login-visual-layers .gn-auth-photo-caption{pointer-events:none!important}
.gn-login-visual-pager{position:absolute!important;left:30px!important;right:auto!important;top:auto!important;bottom:28px!important;z-index:9!important;display:flex!important;align-items:center!important;gap:8px!important;width:auto!important;height:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;pointer-events:auto!important}
.gn-login-visual-pager::before,.gn-login-visual-pager::after{display:none!important;content:none!important}
.gn-login-visual-pager-btn{appearance:none!important;-webkit-appearance:none!important;position:relative!important;display:block!important;width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.48)!important;box-shadow:none!important;color:transparent!important;line-height:0!important;overflow:hidden!important;cursor:pointer!important;transition:width .18s ease,background .18s ease!important}
.gn-login-visual-pager-btn.is-active{width:26px!important;background:#fff!important}
.gn-login-visual-pager-btn:hover{background:rgba(255,255,255,.84)!important}
.gn-login-visual-pager-btn:focus-visible{outline:2px solid #fff!important;outline-offset:4px!important}
/* Kill every legacy login visual artifact except the new clean pager. */
.gn-smart-login-body .gn-auth-media,
.gn-smart-login-body .gn-auth-media-frame,
.gn-smart-login-body .gn-auth-photo,
.gn-smart-login-body .gn-auth-photo-pager,
.gn-smart-login-body .gn-auth-photo-pager-btn,
.gn-smart-login-body .gn-auth-dots,
.gn-smart-login-body .gn-auth-photo-nav,
.gn-smart-login-body .gn-auth-photo-nav-btn,
.gn-smart-login-body [data-photo-index],
.gn-smart-login-body [data-photo-prev],
.gn-smart-login-body [data-photo-next]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.gn-smart-login-body .gn-login-visual,
.gn-smart-login-body .gn-login-visual *{box-sizing:border-box!important}
@media (max-width:980px){.gn-login-visual{padding:18px!important}.gn-login-visual-frame{width:100%!important;height:360px!important;min-height:360px!important;max-height:420px!important}}
@media (max-width:560px){.gn-login-visual{display:none!important}.gn-login-visual-pager{left:22px!important;bottom:22px!important}}


/* v1.0.104: remove the login-page close circle at source.
   Root cause: the white circle was the old .gn-auth-close close button from the first smart-login design.
   It is no longer part of the Genefy login page. The visible page keeps only the photo, optional admin-controlled layers, and the bottom dot/pill selector. */
html.gn-no-auth-close .gn-auth-close,
.gn-smart-login-body .gn-auth-close,
.gn-smart-login-body [data-gn-auth-close],
.gn-smart-login-body button.gn-auth-close,
.gn-smart-login-body a.gn-auth-close{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.gn-smart-login-body .gn-login-visual-frame > button:not(.gn-login-visual-pager-btn),
.gn-smart-login-body .gn-login-visual-frame > a:not(.gn-login-visual-pager-btn){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* v1.0.105: login image stage hard reset.
   Blank-image test proved the top-left dot was not inside uploaded photos.
   Optional logo/text overlays are now disabled by default, and the login frame only allows photo images plus the bottom dot/pill pager unless overlays are explicitly enabled. */
.gn-smart-login-body .gn-login-visual-frame > *:not(.gn-login-visual-photos):not(.gn-login-visual-pager):not(.gn-login-visual-layers){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.gn-smart-login-body .gn-login-visual-layers:not([data-gn-layers-enabled="1"]){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.gn-smart-login-body .gn-login-visual-frame > button:not(.gn-login-visual-pager-btn),
.gn-smart-login-body .gn-login-visual-frame > a,
.gn-smart-login-body .gn-login-visual-frame > span,
.gn-smart-login-body .gn-login-visual-frame > i,
.gn-smart-login-body .gn-login-visual-frame > [class*="close"],
.gn-smart-login-body .gn-login-visual-frame > [class*="orb"],
.gn-smart-login-body .gn-login-visual-frame > [class*="dot"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important}
.gn-smart-login-body .gn-login-visual-pager{display:flex!important;visibility:visible!important;opacity:1!important;left:30px!important;bottom:28px!important;top:auto!important;right:auto!important}
.gn-smart-login-body .gn-login-visual-pager-btn{display:block!important;visibility:visible!important;opacity:1!important}


/* v1.0.106: single-page login support flows and calm Genefy UI standard */
.gn-auth-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.gn-auth-problem{border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit}
.gn-auth-more div{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin-top:10px!important}
.gn-auth-more button{height:38px;border:1px solid #d7d7df;background:#fff;color:#111827;font-weight:900;cursor:pointer;border-radius:0;font-family:inherit}
.gn-auth-more button:hover,.gn-auth-more button:focus-visible{background:#f4f4f6;outline:none}
.gn-auth-highlight{animation:gnAuthPulse 1.35s ease 1;border-radius:10px}
@keyframes gnAuthPulse{0%{box-shadow:0 0 0 0 rgba(3,3,56,.0)}22%{box-shadow:0 0 0 4px rgba(216,216,216,.85)}100%{box-shadow:0 0 0 0 rgba(3,3,56,0)}}
.gn-auth-check{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:20px!important;line-height:20px!important}
.gn-auth-check input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;margin:0!important;border-radius:3px!important;box-shadow:none!important;outline:none!important;vertical-align:middle!important;accent-color:#030338!important;background:#fff!important}
.gn-auth-check input[type="checkbox"]:focus,.gn-auth-check input[type="checkbox"]:active{outline:none!important;box-shadow:0 0 0 3px rgba(3,3,56,.10)!important}
.gn-auth-check span{line-height:20px!important}
.gn-smart-login-body .gn-gate-links a[target="_blank"]:after{content:"↗";font-size:10px;margin-left:4px;color:#8a8a96}
.gn-auth-main-btn,.gn-button-primary,.gn-front-admin-body .gn-button-primary,.gn-admin-shell .gn-button-primary{background:#d8d8d8!important;color:#fff!important;border:0!important;box-shadow:none!important}
.gn-auth-main-btn:hover,.gn-auth-main-btn:focus-visible,.gn-button-primary:hover,.gn-button-primary:focus-visible{background:linear-gradient(135deg,#bfc0c7,#030338)!important;color:#fff!important}
.gn-gate-card,.gn-admin-card,.gn-user-card,.gn-admin-stat,.gn-org-card,.gn-front-admin-body .gn-admin-clean-topbar,.gn-topbar{background:rgba(255,255,255,.96)!important;border-color:rgba(3,3,56,.10)!important;box-shadow:0 18px 55px rgba(3,3,56,.08)!important}
.gn-front-admin-body,.gn-gate-body,.gn-smart-login-body{background:#f4f4f6!important;color:#030338!important}
.gn-admin-card-highlight{background:rgba(255,255,255,.96)!important;border-color:rgba(3,3,56,.10)!important}
@media (max-width:560px){.gn-auth-tabs{grid-template-columns:1fr 1fr!important}.gn-auth-more div{grid-template-columns:1fr!important}}


/* v1.0.106 final polish marker */
.gn-auth-problem{border:0!important;background:transparent!important;padding:0!important;cursor:pointer!important;font-family:inherit!important;text-decoration:underline!important;color:#030338!important;font-weight:900!important;display:block!important;margin:10px auto 0!important;text-align:center!important}
.gn-auth-main-btn[disabled],.gn-button-primary[disabled],button[disabled].gn-auth-main-btn{background:#d8d8d8!important;color:#fff!important;cursor:not-allowed!important;opacity:1!important}
.gn-smart-login-body input[type="checkbox"]{box-shadow:none!important;outline:none!important}
.gn-smart-login-body input[type="checkbox"]:focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(3,3,56,.12)!important}


/* v1.0.107: cleaner login main actions */
.gn-auth-tabs.gn-auth-tabs-primary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:14px 0!important}
.gn-auth-tabs.gn-auth-tabs-primary button{min-height:44px!important;border-radius:12px!important}
.gn-auth-more .gn-auth-more-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;margin-top:9px!important;flex-wrap:wrap!important}
.gn-auth-more .gn-auth-more-links button{height:auto!important;border:0!important;background:transparent!important;color:#030338!important;padding:0!important;border-radius:0!important;font-family:inherit!important;font-size:12px!important;font-weight:900!important;text-decoration:underline!important;cursor:pointer!important;box-shadow:none!important}
.gn-auth-more .gn-auth-more-links button:hover,.gn-auth-more .gn-auth-more-links button:focus-visible{background:transparent!important;color:#111827!important;outline:none!important;text-decoration-thickness:2px!important}
body.gn-smart-login-body .gn-auth-tabs:not(.gn-auth-tabs-primary) button[data-auth-tab="verify"],
body.gn-smart-login-body .gn-auth-tabs:not(.gn-auth-tabs-primary) button[data-auth-tab="reset"]{display:none!important}
@media (max-width:560px){.gn-auth-tabs.gn-auth-tabs-primary{grid-template-columns:1fr 1fr!important}.gn-auth-more .gn-auth-more-links{gap:12px!important}}


/* v1.0.111: solutions index routing + subscription-ready cards */
.gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar{
  position:sticky!important;
  top:14px!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:min(1240px,calc(100% - 32px))!important;
  max-width:calc(100vw - 20px)!important;
  margin:14px auto 0!important;
  padding:9px 14px!important;
  min-height:62px!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:auto minmax(220px,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  overflow:visible!important;
  z-index:50!important;
}
.gn-front-admin-v3-body .gn-admin-workspace{
  margin-top:18px!important;
}
.gn-front-admin-v3-body .gn-admin-sidepanel{
  top:96px!important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-brand{
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-brand .gn-logo-wrap{
  width:132px!important;
  min-width:132px!important;
  height:42px!important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-brand .gn-redion-logo{
  width:132px!important;
  max-width:132px!important;
  height:auto!important;
  max-height:42px!important;
}
.gn-solution-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  z-index:1000;
}
.gn-solution-menu summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(3,3,56,.12);
  border-radius:14px;
  background:#fff;
  color:var(--gn-redion-navy);
  font-size:13px;
  font-weight:900;
  line-height:1;
  text-decoration:underline;
  white-space:nowrap;
}
.gn-solution-menu summary::-webkit-details-marker{display:none}
.gn-solution-menu summary:after{content:"▾";font-size:10px;text-decoration:none;opacity:.65}
.gn-solution-menu[open] summary{background:#f4f4f6;box-shadow:0 0 0 3px rgba(3,3,56,.06)}
.gn-solution-menu-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:260px;
  display:grid;
  gap:8px;
  padding:10px;
  background:#fff;
  border:1px solid rgba(3,3,56,.12);
  border-radius:18px;
  box-shadow:0 20px 60px rgba(3,3,56,.16);
  z-index:2000;
}
.gn-solution-menu-panel a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  column-gap:10px;
  row-gap:2px;
  align-items:center;
  padding:10px;
  color:var(--gn-redion-navy);
  text-decoration:none;
  border-radius:14px;
  border:1px solid transparent;
}
.gn-solution-menu-panel a:hover,.gn-solution-menu-panel a:focus-visible{background:#f4f4f6;border-color:rgba(3,3,56,.08);outline:none}
.gn-solution-menu-panel a span{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#f4f4f6;font-size:17px}
.gn-solution-menu-panel a strong{display:block;font-size:13px;line-height:1.15}
.gn-solution-menu-panel a small{display:block;color:var(--gn-muted);font-weight:800;font-size:11px}
.gn-solution-dashboard-body{min-height:100vh;background:#f4f4f6!important;color:var(--gn-redion-navy)!important}
.gn-solution-shell{width:min(1180px,calc(100% - 32px));margin:18px auto 70px;display:grid;gap:18px}
.gn-solution-topbar{position:sticky;top:14px;z-index:40;border-radius:22px;padding:12px 14px;min-height:70px}
.gn-solution-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--gn-redion-navy)}
.gn-solution-brand .gn-logo-wrap{width:140px;height:46px;display:flex;align-items:center;justify-content:flex-start;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
.gn-solution-brand .gn-redion-logo{width:140px!important;height:auto!important;max-height:46px!important;object-fit:contain!important}
.gn-solution-brand h1{font-size:18px;line-height:1.05;margin:0;color:var(--gn-redion-navy)}
.gn-solution-brand p{font-size:12px;font-weight:800;color:var(--gn-muted);margin:3px 0 0}
.gn-solution-hero,.gn-solution-card{background:rgba(255,255,255,.96);border:1px solid rgba(3,3,56,.10);border-radius:28px;box-shadow:0 18px 55px rgba(3,3,56,.08)}
.gn-solution-hero{padding:30px;margin-top:4px}.gn-solution-hero h2{margin:6px 0 8px;font-size:42px;line-height:1;color:var(--gn-redion-navy);letter-spacing:-.04em}.gn-solution-hero p{max-width:720px;margin:0;color:var(--gn-muted);font-weight:800;line-height:1.5}
.gn-solution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.gn-solution-card{position:relative;display:grid;gap:10px;padding:22px;text-decoration:none;color:var(--gn-redion-navy);min-height:250px;overflow:hidden}.gn-solution-card:before{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(3,3,56,.10),transparent 70%)}.gn-solution-card:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(3,3,56,.12)}.gn-solution-icon{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#f4f4f6;font-size:25px}.gn-solution-status{justify-self:start;border-radius:999px;background:#ecfdf5;color:#166534;font-size:12px;font-weight:900;padding:7px 10px}.gn-solution-card h3{font-size:25px;line-height:1;margin:0;color:var(--gn-redion-navy)}.gn-solution-card p{margin:0;color:var(--gn-muted);font-weight:800;line-height:1.45}.gn-solution-card strong{margin-top:auto;text-decoration:underline;font-weight:950}
@media (max-width:920px){.gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar{grid-template-columns:1fr!important}.gn-front-admin-v3-body .gn-admin-workspace{margin-top:18px!important}.gn-solution-topbar{position:relative;top:auto;align-items:flex-start}.gn-solution-menu-panel{left:0;right:auto}.gn-solution-hero h2{font-size:30px}}
@media (max-width:640px){.gn-solution-shell{width:calc(100% - 20px)}.gn-solution-hero{padding:22px}.gn-solution-topbar .gn-topbar-actions{justify-content:flex-start;flex-wrap:wrap}}


/* v1.0.111: / is home dashboard, /solutions/ is the solution card index, /solutions/genesys-notify/ is the app */
.gn-home-shell,.gn-solutions-shell{width:min(1180px,calc(100% - 32px));}
.gn-home-hero .gn-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.gn-home-hero .gn-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:0 18px;border-radius:14px}
.gn-solutions-hero{padding:24px 26px!important}
.gn-solutions-hero h2{font-size:34px!important}
.gn-solution-grid-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}
.gn-solution-card-compact{min-height:0!important;padding:18px!important;border-radius:24px!important;gap:8px!important}
.gn-solution-card-compact .gn-solution-icon{width:44px;height:44px;border-radius:15px;font-size:21px}
.gn-solution-card-compact .gn-solution-status{font-size:11px;padding:6px 9px}
.gn-solution-card-compact h3{font-size:20px!important;letter-spacing:-.02em}
.gn-solution-card-compact p{font-size:13px;line-height:1.42}
.gn-solution-open{display:inline-flex;align-items:center;justify-content:center;justify-self:start;margin-top:6px;min-height:38px;padding:0 14px;border-radius:12px;background:#d8d8dc;color:var(--gn-redion-navy);font-weight:950;text-decoration:none;border:1px solid rgba(3,3,56,.12)}
.gn-solution-open:hover,.gn-solution-open:focus-visible{background:#cfcfd5;outline:none;box-shadow:0 0 0 3px rgba(3,3,56,.08)}
.gn-solution-empty{background:#fff;border:1px solid rgba(3,3,56,.10);border-radius:22px;padding:22px;color:var(--gn-redion-navy);box-shadow:0 18px 55px rgba(3,3,56,.08)}
.gn-solution-empty h3{margin:0 0 8px;font-size:22px}.gn-solution-empty p{margin:0;color:var(--gn-muted);font-weight:800}
@media (max-width:640px){.gn-home-hero .gn-home-actions .gn-button{width:100%}.gn-solutions-hero h2{font-size:28px!important}}


/* v1.0.111: admin route rename, solution-only dashboard dropdown, and topbar alignment fixes */
.gn-topbar-actions{
  margin-left:auto;
}
.gn-solution-menu-panel .gn-solution-menu-empty{
  display:grid;
  gap:2px;
  padding:12px;
  border-radius:14px;
  color:var(--gn-redion-navy);
  background:#f4f4f6;
  font-weight:900;
}
.gn-solution-menu-panel .gn-solution-menu-empty small{
  color:var(--gn-muted);
  font-size:11px;
  font-weight:800;
}
.gn-app-shell .gn-topbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.gn-app-shell .gn-brand{
  flex:0 0 auto!important;
  min-width:0!important;
  max-width:420px!important;
}
.gn-app-shell .gn-brand h1,
.gn-app-shell .gn-brand p{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:260px!important;
}
.gn-app-shell .gn-topbar-actions{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  margin-left:auto!important;
}
.gn-app-shell .gn-user-chip,
.gn-app-shell .gn-solution-menu summary,
.gn-app-shell .gn-language-switch,
.gn-app-shell .gn-status-pill,
.gn-app-shell .gn-logout-link,
.gn-app-shell .gn-admin-icon{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.gn-app-shell .gn-user-chip{
  max-width:190px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gn-app-shell .gn-status-pill{
  max-width:260px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar{
  align-items:center!important;
  grid-template-columns:auto minmax(180px,1fr) auto!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  margin-left:auto!important;
  min-width:0!important;
}
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-user-chip,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-solution-menu summary,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-button-danger{
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
}
.gn-front-admin-v3-body .gn-admin-workspace{
  margin-top:22px!important;
}
@media (max-width:1180px){
  .gn-app-shell .gn-topbar{align-items:flex-start!important;flex-direction:column!important;}
  .gn-app-shell .gn-topbar-actions{width:100%!important;justify-content:flex-start!important;flex-wrap:wrap!important;}
  .gn-app-shell .gn-brand h1,.gn-app-shell .gn-brand p{max-width:calc(100vw - 260px)!important;}
}
@media (max-width:920px){
  .gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar{grid-template-columns:1fr!important;}
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions{justify-content:flex-start!important;flex-wrap:wrap!important;width:100%!important;}
}


/* v1.0.114: single topbar layout owner
   Purpose: one predictable header system for the app, solutions list, and front admin pages.
   Do not set width:100% on fixed topbars. Fixed topbars use left/right anchors so they cannot drift off-screen.
*/
:root{
  --gn-topbar-edge-gap: clamp(10px, 1.4vw, 18px);
  --gn-topbar-top-gap: clamp(8px, 1vw, 14px);
  --gn-topbar-min-height: 72px;
  --gn-topbar-logo-width: 148px;
}

.gn-app-shell .gn-topbar,
.gn-solution-topbar.gn-topbar,
.gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar{
  position: fixed !important;
  top: var(--gn-topbar-top-gap) !important;
  left: var(--gn-topbar-edge-gap) !important;
  right: var(--gn-topbar-edge-gap) !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
  z-index: 2147482000 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(10px, 1.1vw, 18px) !important;
  min-height: var(--gn-topbar-min-height) !important;
  padding: 10px 14px !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.gn-app-shell .gn-topbar .gn-brand,
.gn-solution-topbar .gn-solution-brand,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-brand,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-brand{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: none !important;
}

.gn-app-shell .gn-topbar .gn-logo-wrap,
.gn-solution-topbar .gn-logo-wrap,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-logo-wrap{
  flex: 0 0 var(--gn-topbar-logo-width) !important;
  width: var(--gn-topbar-logo-width) !important;
  max-width: var(--gn-topbar-logo-width) !important;
  height: 46px !important;
  max-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.gn-app-shell .gn-topbar .gn-redion-logo,
.gn-solution-topbar .gn-redion-logo,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-redion-logo{
  width: var(--gn-topbar-logo-width) !important;
  height: auto !important;
  max-height: 46px !important;
  object-fit: contain !important;
}

.gn-app-shell .gn-brand > div:last-child,
.gn-solution-topbar .gn-solution-brand > div:last-child,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center{
  min-width: 0 !important;
  overflow: hidden !important;
}

.gn-app-shell .gn-brand h1,
.gn-app-shell .gn-brand p,
.gn-solution-topbar .gn-solution-brand h1,
.gn-solution-topbar .gn-solution-brand p,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center strong,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center span{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: min(420px, 34vw) !important;
}

.gn-app-shell .gn-topbar .gn-topbar-actions,
.gn-solution-topbar .gn-topbar-actions,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions{
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: 72vw !important;
  margin-left: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow: visible !important;
}

.gn-app-shell .gn-user-chip,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-user-chip{
  max-width: 220px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.gn-app-shell .gn-status-pill{
  max-width: 300px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.gn-app-shell .gn-solution-menu,
.gn-solution-topbar .gn-solution-menu,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-solution-menu,
.gn-app-shell .gn-language-switch,
.gn-app-shell .gn-logout-link,
.gn-front-admin-v3-body .gn-admin-clean-topbar .gn-button-danger,
.gn-app-shell .gn-admin-icon{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.gn-app-shell,
.gn-front-admin-v3-body .gn-admin-workspace,
.gn-solution-shell,
.gn-home-shell,
.gn-solutions-shell{
  padding-top: calc(var(--gn-topbar-min-height) + 42px) !important;
}

.gn-front-admin-v3-body .gn-admin-sidepanel{
  top: calc(var(--gn-topbar-min-height) + 36px) !important;
}

@media (max-width: 1120px){
  :root{
    --gn-topbar-logo-width: 132px;
    --gn-topbar-min-height: 76px;
  }
  .gn-app-shell .gn-brand h1,
  .gn-app-shell .gn-brand p,
  .gn-solution-topbar .gn-solution-brand h1,
  .gn-solution-topbar .gn-solution-brand p,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center strong,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center span{
    max-width: min(280px, 30vw) !important;
  }
  .gn-app-shell .gn-user-chip,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-user-chip{max-width: 170px !important;}
  .gn-app-shell .gn-status-pill{max-width: 230px !important;}
}

@media (max-width: 860px){
  :root{
    --gn-topbar-edge-gap: 10px;
    --gn-topbar-top-gap: 10px;
    --gn-topbar-logo-width: 128px;
    --gn-topbar-min-height: 126px;
  }
  .gn-app-shell .gn-topbar,
  .gn-solution-topbar.gn-topbar,
  .gn-front-admin-v3-body .gn-admin-clean-topbar.gn-topbar{
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .gn-app-shell .gn-topbar .gn-topbar-actions,
  .gn-solution-topbar .gn-topbar-actions,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-actions{
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
  .gn-app-shell .gn-brand h1,
  .gn-app-shell .gn-brand p,
  .gn-solution-topbar .gn-solution-brand h1,
  .gn-solution-topbar .gn-solution-brand p,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center strong,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-topbar-center span{
    max-width: calc(100vw - 180px) !important;
  }
}

@media (max-width: 560px){
  :root{
    --gn-topbar-logo-width: 118px;
    --gn-topbar-min-height: 170px;
  }
  .gn-app-shell .gn-user-chip,
  .gn-front-admin-v3-body .gn-admin-clean-topbar .gn-user-chip,
  .gn-app-shell .gn-status-pill{max-width: calc(100vw - 60px) !important;}
}

/* v1.0.115: Sneferu-style user profile menu.
   This replaces the standalone Logout button only. Do not change language, gear/settings,
   dashboard dropdown, or connection status behavior from the v1.0.114 safe topbar system. */
.gn-profile-menu{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  z-index:90!important;
}
.gn-profile-trigger{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border:0!important;
  border-radius:999px!important;
  background:#eef2f7!important;
  color:var(--gn-redion-navy)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  cursor:pointer!important;
  box-shadow:0 8px 20px rgba(3,3,56,.07)!important;
}
.gn-profile-trigger > span{
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
.gn-profile-trigger:hover,
.gn-profile-trigger:focus-visible,
.gn-profile-trigger[aria-expanded="true"]{
  background:#e7edf5!important;
  outline:2px solid rgba(3,3,56,.12)!important;
  outline-offset:2px!important;
}
.gn-profile-popover{
  position:absolute!important;
  top:calc(100% + 12px)!important;
  right:0!important;
  width:min(330px, calc(100vw - 28px))!important;
  background:#fff!important;
  border:1px solid rgba(3,3,56,.10)!important;
  border-radius:18px!important;
  box-shadow:0 22px 55px rgba(3,3,56,.16)!important;
  padding:14px!important;
  color:var(--gn-redion-navy)!important;
  text-align:left!important;
  z-index:9999!important;
}
.gn-profile-popover[hidden]{display:none!important;}
.gn-profile-head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:2px 0 12px!important;
  border-bottom:1px solid rgba(3,3,56,.10)!important;
}
.gn-profile-avatar{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef2f7!important;
  color:var(--gn-redion-navy)!important;
  font-size:14px!important;
  font-weight:900!important;
}
.gn-profile-head strong,
.gn-profile-head small{
  display:block!important;
  max-width:230px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gn-profile-head strong{font-size:15px!important;font-weight:900!important;margin-bottom:3px!important;}
.gn-profile-head small{font-size:12px!important;color:var(--gn-muted)!important;font-weight:800!important;}
.gn-profile-facts{
  display:grid!important;
  gap:8px!important;
  margin:12px 0!important;
}
.gn-profile-facts div{
  display:grid!important;
  grid-template-columns:110px 1fr!important;
  gap:12px!important;
  align-items:center!important;
}
.gn-profile-facts dt{
  margin:0!important;
  color:var(--gn-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
}
.gn-profile-facts dd{
  margin:0!important;
  color:var(--gn-redion-navy)!important;
  font-size:13px!important;
  font-weight:900!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gn-profile-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}
.gn-profile-actions a{
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 12px!important;
  border-radius:10px!important;
  border:1px solid rgba(3,3,56,.12)!important;
  background:#fff!important;
  color:#26344f!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:900!important;
}
.gn-profile-actions a:hover,
.gn-profile-actions a:focus-visible{
  background:#f8fafc!important;
  color:var(--gn-redion-navy)!important;
}
@media (max-width:640px){
  .gn-profile-popover{right:auto!important;left:50%!important;transform:translateX(-50%)!important;}
  .gn-profile-facts div{grid-template-columns:96px 1fr!important;}
  .gn-profile-actions{grid-template-columns:1fr!important;}
}



/* v1.0.117: Solution label, friendly duration selectors, and click-outside dropdown behavior.
   Keep this small override separate from the v1.0.114 safe topbar system. */
.gn-solution-menu summary{
  min-width: 108px !important;
}
.gn-duration-card .gn-duration-select,
.gn-duration-select.gn-number-input{
  width: 104px !important;
  min-width: 104px !important;
  padding: 10px 34px 10px 12px !important;
  text-align: left !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #ffffff !important;
  background-image: linear-gradient(45deg, transparent 50%, var(--gn-redion-red) 50%), linear-gradient(135deg, var(--gn-redion-red) 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  cursor: pointer !important;
}
.gn-duration-card .gn-duration-select:focus,
.gn-duration-select.gn-number-input:focus{
  border-color: rgba(3,3,56,.22) !important;
  box-shadow: 0 0 0 4px rgba(3,3,56,.08) !important;
}
@media (max-width:700px){
  .gn-duration-card .gn-duration-select,
  .gn-duration-select.gn-number-input{
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* v1.0.119: Duration dropdown option label fix.
   Shows numbers only both in the closed select and the opened native dropdown list. */
.gn-duration-card .gn-duration-select,
.gn-duration-select.gn-number-input{
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 10px 34px 10px 12px !important;
  border: 1px solid rgba(3, 3, 56, 0.16) !important;
  border-radius: 13px !important;
  background-color: #ffffff !important;
  color: var(--gn-redion-navy) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: linear-gradient(45deg, transparent 50%, var(--gn-redion-red) 50%), linear-gradient(135deg, var(--gn-redion-red) 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
}
.gn-icon-grid-actions .gn-duration-select,
.gn-icon-grid-actions .gn-duration-select.gn-number-input{
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
}
@media (max-width:700px){
  .gn-duration-card .gn-duration-select,
  .gn-duration-select.gn-number-input{
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
  }
}

/* v1.0.120 Clerk readiness UI */
.gn-clerk-modal[hidden] { display: none !important; }
.gn-clerk-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(3, 3, 56, 0.42);
  backdrop-filter: blur(8px);
}
.gn-clerk-dialog {
  position: relative;
  width: min(460px, 94vw);
  max-height: min(760px, 92vh);
  overflow: auto;
  border: 1px solid var(--gn-line);
  border-radius: 24px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 30px 90px rgba(3,3,56,.22);
  padding: 24px;
}
.gn-clerk-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--gn-line);
  background: #fff;
  color: var(--gn-text);
  font-weight: 900;
  cursor: pointer;
}
.gn-clerk-head { padding-right: 42px; margin-bottom: 14px; }
.gn-clerk-head strong { display: block; font-size: 18px; color: var(--gn-text); }
.gn-clerk-head span,
.gn-clerk-status { display: block; margin-top: 5px; color: var(--gn-muted); font-size: 13px; }
.gn-clerk-mount:empty { min-height: 40px; }
.gn-clerk-ready-status {
  border: 1px solid var(--gn-line);
  border-radius: 18px;
  background: rgba(3,3,56,.035);
  padding: 14px 16px;
  display: grid;
  gap: 4px;
}
.gn-clerk-ready-status strong { color: var(--gn-text); }
.gn-clerk-ready-status span { color: var(--gn-muted); font-size: 13px; }
.gn-clerk-ready-status.is-ready {
  border-color: rgba(31,145,86,.24);
  background: rgba(31,145,86,.08);
}


/* v1.0.121 organization control panel */
.gn-org-picker-card {
  display: flex;
  align-items: end;
  gap: 12px;
  margin-bottom: 18px;
}
.gn-org-picker-card label {
  flex: 1;
  font-weight: 900;
  color: var(--gn-text);
}
.gn-org-picker-card select,
.gn-org-edit-form input,
.gn-org-edit-form select,
.gn-org-edit-form textarea {
  width: 100%;
}
.gn-org-card-single {
  align-items: stretch;
}
.gn-org-empty-card {
  padding: 28px;
}
.gn-org-edit-form .gn-checkline {
  margin: 8px 0;
}
.gn-danger-text {
  color: var(--gn-danger);
}
.gn-copy-field textarea,
.gn-org-edit-form textarea[name="trigger_url_manual"] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .gn-org-picker-card { display: block; }
  .gn-org-picker-card .gn-button { margin-top: 10px; width: 100%; }
}


/* v1.0.123: Sneferu-inspired Genefy admin control panel polish.
   Keep v1.0.114 topbar owner untouched. This block only styles front admin modules. */
.gn-front-admin-v3-body{
  --gn-panel-line: rgba(3,3,56,.10);
  --gn-panel-soft: #f8fafc;
  --gn-panel-card: rgba(255,255,255,.98);
}
.gn-front-admin-v3-body .gn-admin-main-panel{
  gap:18px!important;
}
.gn-front-admin-v3-body .gn-admin-module,
.gn-front-admin-v3-body .gn-admin-hero-compact{
  border-radius:30px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(251,252,255,.96))!important;
  border:1px solid var(--gn-panel-line)!important;
  box-shadow:0 22px 70px rgba(3,3,56,.09)!important;
  padding:24px!important;
}
.gn-front-admin-v3-body .gn-module-head{
  padding-bottom:16px!important;
  border-bottom:1px solid rgba(3,3,56,.08)!important;
  margin-bottom:18px!important;
}
.gn-front-admin-v3-body .gn-module-head h2{
  letter-spacing:-.045em!important;
}
.gn-org-control-panel .gn-module-head{
  border-bottom:0!important;
  padding-bottom:0!important;
}
.gn-org-console-card{
  background:var(--gn-panel-card)!important;
  border:1px solid var(--gn-panel-line)!important;
  border-radius:24px!important;
  box-shadow:0 18px 55px rgba(3,3,56,.07)!important;
  padding:18px!important;
  box-sizing:border-box!important;
}
.gn-org-console-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:18px 0!important;
}
.gn-org-toolbar-main{
  display:flex!important;
  align-items:end!important;
  gap:14px!important;
  min-width:0!important;
}
.gn-field-label,
.gn-org-save-card label,
.gn-org-users-card label{
  display:grid!important;
  gap:7px!important;
  color:var(--gn-redion-navy)!important;
  font-weight:900!important;
}
.gn-field-label select,
.gn-org-save-card input,
.gn-org-save-card select,
.gn-org-save-card textarea,
.gn-code-textarea{
  width:100%!important;
  border:1px solid rgba(3,3,56,.14)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--gn-redion-navy)!important;
  padding:11px 12px!important;
  font:inherit!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
.gn-field-label select{
  min-width:220px!important;
}
.gn-org-toolbar-summary{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
.gn-org-toolbar-summary strong{
  color:var(--gn-redion-navy)!important;
  font-size:18px!important;
  line-height:1.1!important;
}
.gn-org-toolbar-summary span{
  color:var(--gn-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
}
.gn-org-toolbar-actions,
.gn-org-overview-actions,
.gn-org-save-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.gn-inline-form{margin:0!important;display:inline-flex!important}
.gn-org-overview-panel{
  display:grid!important;
  gap:16px!important;
  margin-bottom:18px!important;
}
.gn-org-overview-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.gn-org-overview-head h3{
  margin:9px 0 4px!important;
  color:var(--gn-redion-navy)!important;
  font-size:26px!important;
  line-height:1!important;
}
.gn-org-overview-head p,
.gn-org-empty-panel p{
  margin:0!important;
  color:var(--gn-muted)!important;
  font-weight:800!important;
}
.gn-org-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  min-height:24px!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  background:#f1f5f9!important;
  color:#334155!important;
}
.gn-org-status-badge.is-active{background:#ecfdf5!important;color:#166534!important}
.gn-org-status-badge.is-inactive{background:#fff7ed!important;color:#9a3412!important}
.gn-org-status-badge.is-danger{background:#fef2f2!important;color:#991b1b!important}
.gn-org-metric-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.gn-org-metric-grid article{
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border:1px solid rgba(3,3,56,.09)!important;
  border-radius:18px!important;
  padding:14px!important;
  min-width:0!important;
}
.gn-org-metric-grid span{
  display:block!important;
  color:var(--gn-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  margin-bottom:7px!important;
}
.gn-org-metric-grid strong{
  display:block!important;
  color:var(--gn-redion-navy)!important;
  font-size:16px!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
.gn-code-label{
  display:grid!important;
  gap:8px!important;
  font-weight:900!important;
  color:var(--gn-redion-navy)!important;
}
.gn-code-textarea{
  min-height:96px!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:12px!important;
  resize:vertical!important;
}
.gn-org-console-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.gn-org-card-title{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-bottom:16px!important;
}
.gn-org-card-title h3{
  margin:0 0 4px!important;
  color:var(--gn-redion-navy)!important;
  font-size:22px!important;
  line-height:1.1!important;
}
.gn-org-card-title p{
  margin:0!important;
  color:var(--gn-muted)!important;
  font-weight:750!important;
}
.gn-org-card-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  background:#eef2f7!important;
  font-size:18px!important;
  flex:0 0 38px!important;
}
.gn-org-form-grid{
  display:grid!important;
  gap:12px!important;
}
.gn-org-form-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.gn-org-check-grid{
  display:grid!important;
  gap:8px!important;
  background:#f8fafc!important;
  border:1px solid rgba(3,3,56,.08)!important;
  border-radius:18px!important;
  padding:12px!important;
}
.gn-org-check-grid code{
  color:var(--gn-redion-navy)!important;
  background:#fff!important;
  border:1px solid rgba(3,3,56,.10)!important;
  border-radius:8px!important;
  padding:2px 5px!important;
}
.gn-org-save-actions{
  justify-content:flex-start!important;
  padding-top:4px!important;
}
.gn-org-save-actions > form{display:inline-flex!important;margin:0!important}
.gn-org-users-card{
  position:sticky!important;
  top:calc(var(--gn-topbar-min-height) + 38px)!important;
}
.gn-org-usage-bar{
  height:10px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#e5e7eb!important;
  margin:8px 0 10px!important;
}
.gn-org-usage-bar span{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,var(--gn-redion-red),var(--gn-redion-navy))!important;
}
.gn-org-user-list{
  display:grid!important;
  gap:10px!important;
  margin-top:12px!important;
}
.gn-org-user-row,
.gn-org-user-empty{
  border:1px solid rgba(3,3,56,.09)!important;
  background:#fff!important;
  border-radius:16px!important;
  padding:11px 12px!important;
}
.gn-org-user-row{
  display:grid!important;
  gap:3px!important;
}
.gn-org-user-row strong{color:var(--gn-redion-navy)!important;overflow-wrap:anywhere!important}
.gn-org-user-row span,.gn-org-user-row small,.gn-org-user-empty{color:var(--gn-muted)!important;font-weight:750!important}
.gn-org-empty-panel{margin-bottom:18px!important}
.gn-org-empty-panel h3{margin:8px 0!important;color:var(--gn-redion-navy)!important;font-size:24px!important}
.gn-front-admin-v3-body .gn-admin-module .gn-button,
.gn-front-admin-v3-body .gn-admin-module button.gn-button,
.gn-front-admin-v3-body .gn-admin-module a.gn-button{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:16px!important;
  padding:10px 14px!important;
  border:1px solid rgba(3,3,56,.12)!important;
  background:#fff!important;
  color:var(--gn-redion-navy)!important;
  text-decoration:none!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.gn-front-admin-v3-body .gn-admin-module .gn-button-primary{
  background:#d8d8d8!important;
  color:#fff!important;
  border-color:#d8d8d8!important;
  min-width:220px!important;
}
.gn-front-admin-v3-body .gn-admin-module .gn-button-primary:hover,
.gn-front-admin-v3-body .gn-admin-module .gn-button-primary:focus-visible{
  background:linear-gradient(135deg,#bfc0c7,var(--gn-redion-navy))!important;
  border-color:transparent!important;
}
.gn-front-admin-v3-body .gn-admin-module .gn-button-danger{
  background:#fff5f5!important;
  border-color:#fecaca!important;
  color:#991b1b!important;
}
@media (max-width:1120px){
  .gn-org-console-toolbar,.gn-org-overview-head{display:grid!important;grid-template-columns:1fr!important}
  .gn-org-toolbar-main{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
  .gn-org-console-grid{grid-template-columns:1fr!important}
  .gn-org-users-card{position:relative!important;top:auto!important}
  .gn-org-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:640px){
  .gn-front-admin-v3-body .gn-admin-module{padding:16px!important;border-radius:22px!important}
  .gn-org-console-card{padding:14px!important;border-radius:20px!important}
  .gn-org-form-grid.two,.gn-org-metric-grid{grid-template-columns:1fr!important}
  .gn-field-label select{min-width:0!important}
}


/* v1.0.123: Sneferu-style Admin Form Polish
   This block intentionally does not touch the v1.0.114 safe topbar owner. */
.gn-front-admin-v3-body .gn-admin-main-panel,
.gn-front-admin-v3-body .gn-admin-module,
.gn-front-admin-v3-body .gn-admin-card,
.gn-front-admin-v3-body .gn-org-console-card{
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif!important;
}
.gn-front-admin-v3-body .gn-admin-module,
.gn-front-admin-v3-body .gn-admin-hero-compact{
  border-radius:28px!important;
  padding:22px!important;
  box-shadow:0 14px 40px rgba(15,23,42,.06)!important;
}
.gn-front-admin-v3-body .gn-module-head h2,
.gn-front-admin-v3-body .gn-admin-hero-compact h1{
  font-size:24px!important;
  line-height:1.12!important;
  letter-spacing:-.03em!important;
  margin:0 0 8px!important;
}
.gn-front-admin-v3-body .gn-module-head p,
.gn-front-admin-v3-body .gn-admin-hero-compact p,
.gn-front-admin-v3-body .gn-admin-note{
  font-size:14px!important;
  line-height:1.55!important;
  color:#64748b!important;
  font-weight:700!important;
}
.gn-org-console-card{
  border-radius:20px!important;
  padding:16px!important;
  background:#f8fafc!important;
  border:1px solid rgba(148,163,184,.28)!important;
  box-shadow:none!important;
}
.gn-org-console-toolbar{
  align-items:end!important;
  background:#fff!important;
  border-radius:22px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.05)!important;
}
.gn-org-toolbar-main{align-items:end!important;}
.gn-field-label,
.gn-org-save-card label,
.gn-org-users-card label{
  gap:7px!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.gn-field-label select,
.gn-org-save-card input,
.gn-org-save-card select,
.gn-org-save-card textarea,
.gn-code-textarea{
  min-height:44px!important;
  border:1px solid rgba(148,163,184,.45)!important;
  border-radius:14px!important;
  padding:11px 12px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:650!important;
  box-shadow:none!important;
}
.gn-org-save-card textarea,
.gn-code-textarea{font-weight:650!important;}
.gn-org-save-card input:focus,
.gn-org-save-card select:focus,
.gn-org-save-card textarea:focus,
.gn-code-textarea:focus{
  outline:2px solid rgba(3,3,56,.14)!important;
  border-color:rgba(3,3,56,.34)!important;
}
.gn-org-card-title{margin-bottom:14px!important;}
.gn-org-card-title-with-action{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:start!important;
}
.gn-org-card-title h3{
  font-size:18px!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  margin:0 0 4px!important;
}
.gn-org-card-title p{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:700!important;
  color:#64748b!important;
}
.gn-org-card-icon{
  width:38px!important;
  height:38px!important;
  flex-basis:38px!important;
  border-radius:14px!important;
  background:#e2e8f0!important;
}
.gn-org-form-section{
  display:grid!important;
  gap:12px!important;
  margin-top:14px!important;
  padding:14px!important;
  border:1px solid rgba(148,163,184,.26)!important;
  border-radius:20px!important;
  background:#fff!important;
}
.gn-org-form-section h4{
  margin:0!important;
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.gn-org-restore-section{
  background:#f8fafc!important;
  border-style:dashed!important;
}
.gn-org-form-grid{gap:12px!important;}
.gn-org-check-grid{
  background:#f8fafc!important;
  border-radius:16px!important;
  padding:10px 12px!important;
}
.gn-org-save-card label.gn-checkline{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  gap:9px!important;
  font-size:14px!important;
  color:#334155!important;
  font-weight:800!important;
}
.gn-org-save-card label.gn-checkline input{
  width:auto!important;
  min-width:16px!important;
  min-height:16px!important;
  height:16px!important;
  margin-top:2px!important;
  padding:0!important;
}
.gn-org-check-grid code{
  font-size:12px!important;
  line-height:1.4!important;
}
.gn-org-overview-panel{
  background:#fff!important;
  box-shadow:0 12px 34px rgba(15,23,42,.05)!important;
}
.gn-org-overview-head h3{
  font-size:20px!important;
  margin:8px 0 4px!important;
}
.gn-org-metric-grid{gap:10px!important;}
.gn-org-metric-grid article{
  border-radius:16px!important;
  padding:12px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
.gn-org-metric-grid span{font-size:10px!important;color:#64748b!important;}
.gn-org-metric-grid strong{font-size:14px!important;color:#0f172a!important;}
.gn-code-textarea{min-height:80px!important;}
.gn-org-console-grid{
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr)!important;
  gap:18px!important;
}
.gn-org-users-card{
  background:#fff!important;
  position:sticky!important;
}
.gn-front-admin-v3-body .gn-admin-module .gn-button,
.gn-front-admin-v3-body .gn-admin-module button.gn-button,
.gn-front-admin-v3-body .gn-admin-module a.gn-button{
  min-height:40px!important;
  border-radius:14px!important;
  padding:9px 13px!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.gn-front-admin-v3-body .gn-admin-module .gn-button-primary{
  background:#030338!important;
  border-color:#030338!important;
  color:#fff!important;
  min-width:0!important;
}
.gn-front-admin-v3-body .gn-admin-module .gn-button-primary:hover,
.gn-front-admin-v3-body .gn-admin-module .gn-button-primary:focus-visible{
  background:#1f245c!important;
  border-color:#1f245c!important;
}
.gn-org-top-save{white-space:nowrap!important;}
.gn-org-save-actions{
  justify-content:center!important;
  padding-top:12px!important;
}
.gn-org-save-actions .gn-button-primary{
  min-width:260px!important;
}
@media (max-width:1120px){
  .gn-org-card-title-with-action{grid-template-columns:38px minmax(0,1fr)!important;}
  .gn-org-top-save{grid-column:1 / -1!important;width:100%!important;}
  .gn-org-console-grid{grid-template-columns:1fr!important;}
}
@media (max-width:760px){
  .gn-org-form-grid.two,.gn-org-metric-grid{grid-template-columns:1fr!important;}
  .gn-org-console-card{padding:14px!important;border-radius:18px!important;}
  .gn-front-admin-v3-body .gn-module-head h2,
  .gn-front-admin-v3-body .gn-admin-hero-compact h1{font-size:22px!important;}
}


/* v1.0.124 Email sender panel */
.gn-mail-sender-status .gn-admin-mini-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:14px 0 0;}
.gn-mail-sender-status .gn-admin-mini-dl div{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:10px 12px;}
.gn-mail-sender-status .gn-admin-mini-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:800;margin-bottom:4px;}
.gn-mail-sender-status .gn-admin-mini-dl dd{margin:0;font-size:13px;color:#07002d;font-weight:700;word-break:break-word;}
.gn-admin-divider{border:0;border-top:1px solid rgba(15,23,42,.10);margin:8px 0 2px;}
.gn-checkline-compact{margin-top:6px;}
@media (max-width:760px){.gn-mail-sender-status .gn-admin-mini-dl{grid-template-columns:1fr;}}


/* v1.0.125 Clerk Auth Ready */
.gn-clerk-admin-form .gn-admin-fields textarea { min-height: 78px; resize: vertical; }
.gn-clerk-admin-form select { min-height: 48px; border-radius: 14px; border: 1px solid rgba(3,3,56,.14); padding: 0 14px; background: #fff; color: var(--gn-text); }
.gn-clerk-admin-form input[type="password"] { letter-spacing: .04em; }
.gn-clerk-admin-form .gn-gate-error { margin: 10px 0; }


/* v1.0.126 Clerk Script Load Fix */
.gn-clerk-status{word-break:break-word;}


/* Genefy v1.0.127: self-registration, sender profiles, and user management polish */
.gn-bulk-user-delete-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:14px 16px;}
.gn-user-select-line{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;margin:0 0 10px;}
.gn-mail-sender-form .gn-admin-card-title-row{margin-bottom:10px;}
.gn-admin-card.gn-mail-sender-form{margin-bottom:16px;}
.gn-status-mini.gn-status-approved{background:#e9f8ee;color:#166534;border-color:#bbf7d0;}
.gn-status-mini.gn-status-pending{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}


/* Genefy v1.0.128: verification SMTP defaults and diagnostics */
.gn-admin-note-inline{font-size:12px;color:#64748b;font-weight:500;}


/* v1.0.130: Remove visible personal email setup from Genesys Notify and replace it with a stable shift-ready summary. */
.gn-shift-ready-card {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.75fr);
  gap: 22px;
  align-items: stretch;
  width: 100%;
  margin-top: 0;
  padding: 2px;
}

.gn-shift-ready-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
}

.gn-shift-ready-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--gn-redion-navy), var(--gn-redion-red));
  box-shadow: 0 16px 34px rgba(3, 3, 56, 0.18);
  font-size: 26px;
  line-height: 1;
  margin-top: 4px;
}

.gn-shift-ready-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 10px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(22, 131, 74, 0.22);
  background: var(--gn-success-soft);
  color: var(--gn-success-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.gn-shift-ready-side {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  border: 1px solid rgba(3, 3, 56, 0.10);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(247,245,240,0.88));
  padding: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.95), 0 14px 34px rgba(3,3,56,0.06);
}

.gn-shift-ready-side strong {
  display: block;
  color: var(--gn-redion-navy);
  font-size: 17px;
  line-height: 1.25;
  margin: 0 0 8px;
}

.gn-shift-ready-side > span {
  color: var(--gn-muted);
  font-size: 13px;
  line-height: 1.55;
}

.gn-shift-ready-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.gn-shift-ready-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(22, 131, 74, 0.20);
  background: rgba(22, 131, 74, 0.08);
  color: var(--gn-success-dark);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.gn-agent-setup-card-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  background: transparent !important;
}

.gn-agent-setup-card-hidden.gn-agent-missing {
  animation: none !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  .gn-shift-ready-card {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .gn-shift-ready-main {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .gn-shift-ready-icon {
    width: 50px;
    height: 50px;
    border-radius: 18px;
    font-size: 23px;
  }
  .gn-shift-ready-side {
    padding: 15px;
    border-radius: 20px;
  }
  .gn-shift-ready-chips span {
    white-space: normal;
  }
}


/* v1.0.131: Remove redundant no-email-setup wording from shift-ready summary while keeping status chips and hidden alert-routing hooks stable. */
.gn-shift-ready-side {
  align-items: flex-start;
}

.gn-shift-ready-side .gn-shift-ready-chips {
  margin-top: 0;
}

.gn-org-form-grid small{display:block;margin-top:6px;color:#6b7280;font-size:12px;line-height:1.35}

/* v1.0.134 legal acceptance proof */
.gn-legal-accept{align-items:flex-start!important;text-align:left!important;line-height:1.35!important;background:#f8fafc;border:1px solid rgba(3,3,56,.10);border-radius:12px;padding:10px 12px!important;margin:2px 0 8px!important}
.gn-legal-accept a{color:var(--gn-redion-navy);font-weight:950;text-decoration:underline}
.gn-legal-proof-line code{background:#f8fafc;border:1px solid rgba(3,3,56,.10);border-radius:8px;padding:2px 6px;font-size:11px}

/* v1.0.135 retention, audit, cookie settings, and access-control polish */
.gn-cookie-open-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.gn-cookie-open-link:hover{text-decoration:none}
.gn-retention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:12px}
.gn-retention-grid>div{border:1px solid rgba(15,23,42,.10);border-radius:14px;background:rgba(255,255,255,.72);padding:12px;display:flex;flex-direction:column;gap:4px}
.gn-retention-grid strong{font-size:13px;color:#0f172a}
.gn-retention-grid span{font-size:12px;color:#475569;line-height:1.45}
.gn-audit-list{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto;padding-right:4px}
.gn-audit-list article{border:1px solid rgba(15,23,42,.10);border-radius:12px;background:rgba(248,250,252,.88);padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.gn-audit-list strong{font-size:13px;color:#0f172a}
.gn-audit-list span{font-size:12px;color:#64748b;line-height:1.4}
.gn-status-disabled{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}

/* v1.0.136 cookie settings reopen fix */
.gn-cookie-bar[hidden]{display:none!important}


/* v1.0.138 WordPress admin theme preview cleanup: no public visual changes. */


/* v1.0.139 password reset request flow */
.gn-auth-mini-copy{font-size:12px;line-height:1.45;color:#4b5573;margin:0 0 10px;text-align:left}
.gn-reset-request-form{display:grid;gap:10px}
.gn-reset-code-box{margin-top:12px;border:1px solid rgba(10,18,55,.12);border-radius:14px;background:#fff;padding:10px;text-align:left}
.gn-reset-code-box summary{cursor:pointer;font-weight:800;color:#07083f;font-size:12px}
.gn-reset-code-box form{display:grid;gap:10px;margin-top:10px}


/* v1.0.140 password reset resend countdown */
.gn-reset-resend-note{margin:0;font-size:11px;line-height:1.45;color:#5c647f;text-align:left;background:rgba(3,3,56,.04);border:1px solid rgba(3,3,56,.08);border-radius:12px;padding:8px 10px}
.gn-reset-resend-note[hidden]{display:none!important}
.gn-reset-resend-note strong{color:#07083f}
.gn-reset-request-form .gn-auth-main-btn:disabled{opacity:.68;cursor:not-allowed;filter:saturate(.75)}

/* v1.0.141 password reset emails now use verified SMTP sender */


/* v1.0.142 JSON Backup & Restore */
.gn-admin-card input[type="file"]{padding:.7rem;border:1px solid rgba(3,3,56,.14);border-radius:14px;background:#fff;width:100%;}
.gn-admin-card code{word-break:break-word;}


/* v1.0.144 Control Center tab workspace */
.gn-auto-module-tabs{position:sticky;top:92px;z-index:20;margin:0 0 18px;padding:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 28px rgba(15,23,42,.08);border-radius:18px;gap:8px;overflow-x:auto;scrollbar-width:thin}
.gn-auto-module-tabs button,.gn-request-filter-row button{white-space:nowrap;border:1px solid rgba(15,23,42,.12);background:#fff;color:#111827;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer;transition:.16s ease}
.gn-auto-module-tabs button:hover,.gn-request-filter-row button:hover{border-color:rgba(34,197,94,.38);box-shadow:0 8px 18px rgba(15,23,42,.08)}
.gn-auto-module-tabs button.is-active,.gn-request-filter-row button.is-active{background:#0b1226;color:#fff;border-color:#0b1226;box-shadow:0 10px 24px rgba(15,23,42,.18)}
.gn-admin-tab-hidden{display:none!important}
.gn-request-tools{display:grid;gap:12px;margin:0 0 18px;padding:14px}
.gn-request-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gn-filter-count{margin-left:auto;font-size:12px;font-weight:900;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 10px}
.gn-request-search-label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.04em}
.gn-request-search-label input{width:100%;border:1px solid #d9e1ef;border-radius:14px;padding:11px 13px;font-size:14px;text-transform:none;letter-spacing:0;font-weight:700;color:#0f172a;background:#fff}
.gn-front-admin-v3-body .gn-admin-main-panel{scroll-padding-top:150px}
.gn-front-admin-v3-body .gn-admin-module>.gn-module-head{margin-bottom:14px}
@media (max-width: 860px){.gn-auto-module-tabs{top:72px;border-radius:14px}.gn-filter-count{width:100%;margin-left:0;text-align:center}.gn-request-filter-row button{flex:1 1 auto}}


/* v1.0.145 Email branding BIMI note */
.gn-email-branding-card .gn-bimi-dns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;}
.gn-email-branding-card .gn-bimi-dns-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;}
.gn-email-branding-card .gn-bimi-dns-grid strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:4px;}
.gn-email-branding-card code{word-break:break-all;white-space:normal;}
@media(max-width:780px){.gn-email-branding-card .gn-bimi-dns-grid{grid-template-columns:1fr;}}


/* v1.0.146 Owner role and reset diagnostics */
.gn-owner-only-note{border:1px solid #fde68a;background:#fffbeb;color:#78350f;border-radius:14px;padding:12px 14px;margin:12px 0;font-weight:700}
.gn-profile-facts .gn-version-row dd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}

/* v1.0.147 Immutable Owner Bootstrap Lock */


/* v1.0.149 Organization edit panel deep-link focus */
.gn-admin-deep-link-focus {
  outline: 3px solid rgba(194, 28, 23, 0.22);
  outline-offset: 6px;
  transition: outline-color 0.2s ease;
}

/* v1.0.150 Role hierarchy scope lock */
/* v1.0.151 Live trigger link options */
.gn-scope-note{margin:12px 0;padding:12px 14px;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:rgba(255,255,255,.78);color:#334155;font-weight:700}.gn-scope-note strong{color:#05033d}.gn-role-readonly{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.12);font-weight:800;color:#0f172a}.gn-admin-disabled-row{opacity:.72}.gn-admin-sidepanel .gn-side-item[hidden]{display:none!important}


/* v1.0.152 Owner-only user activity dropdowns */
.gn-user-activity-dropdown{margin:14px 0 10px;border:1px solid rgba(3,3,56,.10);border-radius:16px;background:#f8fafc;overflow:hidden}.gn-user-activity-dropdown summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:900;color:#030338;display:flex;align-items:center;justify-content:space-between;gap:12px}.gn-user-activity-dropdown summary::-webkit-details-marker{display:none}.gn-user-activity-dropdown summary span{font-size:12px;color:#60708f;font-weight:800}.gn-user-activity-list{display:grid;gap:8px;padding:0 14px 14px}.gn-user-activity-item{border:1px solid rgba(3,3,56,.08);border-radius:14px;background:#fff;padding:10px 12px}.gn-user-activity-item strong{display:block;color:#030338;font-size:13px}.gn-user-activity-item span{display:block;margin-top:4px;color:#475569;font-size:12px;line-height:1.45}.gn-user-activity-dropdown[open] summary{border-bottom:1px solid rgba(3,3,56,.08);background:#fff}


/* v1.0.157: remove visible shift status chip card while keeping alert routing and hidden email hooks unchanged. */
.gn-shift-ready-card {
  grid-template-columns: 1fr;
}
.gn-shift-ready-main {
  max-width: 100%;
}



/* v1.0.159 Trigger-only user monitoring */
.gn-status-trigger_only { background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }
.gn-trigger-only-note { margin-top:8px; }
.gn-user-card-v2 .gn-role-readonly { margin-top:12px; }
