/* Control Tower — the top bar of every page (end to end) + the batch dropdown, the « New batch » form, toasts.
   Self-contained (gn- prefix, explicit fonts and colours) so it looks the same over Eden's page and the file-prod pages. */
.gn-host { position: sticky; top: 0; z-index: 45; }
.gn { background: #fff; border-bottom: 1px solid #E6E3E7; font-family: Figtree, 'Geist', system-ui, sans-serif; color: #201A21; box-shadow: 0 1px 0 rgba(32, 26, 33, .03); }
.gn a { text-decoration: none; color: inherit; }
.gn-top { display: flex; align-items: center; gap: 14px; padding: 10px 24px 6px; max-width: 1440px; margin: 0 auto; }
.gn-logo { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 17px; letter-spacing: -.01em; }
.gn-logo svg { display: block; }
.gn-sw .sw-box { font-family: inherit; }
.gn-sp { flex: 1; }
.gn-k { font: 500 10.5px 'JetBrains Mono', ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; color: #6D5F6F; margin-right: 6px; }
.gn-lot { display: inline-flex; align-items: center; }
.gn-lotbtn { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border: 1px solid #CFC9D1; border-radius: 9px; background: #fff; font: 600 13.5px Figtree, system-ui, sans-serif; color: #201A21; cursor: pointer; min-width: 190px; justify-content: space-between; }
.gn-lotbtn i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.gn-lotbtn .cv { color: #6D5F6F; font-size: 11px; margin-left: auto; }
.gn-new { height: 34px; padding: 0 12px; border: 1px solid #E6E3E7; border-radius: 9px; background: #fff; font: 500 13px Figtree, system-ui, sans-serif; color: #201A21; cursor: pointer; }
.gn-new:hover, .gn-lotbtn:hover { border-color: #A39BA4; }
.gn-flow { display: flex; align-items: stretch; gap: 0; padding: 6px 24px 10px; max-width: 1440px; margin: 0 auto; overflow-x: auto; }
.gn-step { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 6px; align-items: baseline; padding: 6px 10px; border-radius: 9px; border: 1.5px solid transparent; white-space: nowrap; min-width: 0; }
.gn-step b { grid-row: span 2; font: 700 13px 'JetBrains Mono', monospace; align-self: center; }
.gn-step .l { font-size: 13px; font-weight: 600; }
.gn-step .c { font: 500 11px 'JetBrains Mono', monospace; color: #6D5F6F; }
.gn-step.gestion b { color: #5F8F1A; } .gn-step.oto b { color: #1E7FD8; } .gn-step.off b { color: #C2640A; } .gn-step.console b { color: #7A5F86; }
.gn-step:hover { background: #F6F6F6; }
.gn-step.on.gestion { background: #F1F7E6; border-color: #5F8F1A; } .gn-step.on.oto { background: #EAF2FC; border-color: #1E7FD8; } .gn-step.on.off { background: #FBF0E3; border-color: #C2640A; } .gn-step.on.console { background: #F3EEF5; border-color: #7A5F86; }
.gn-arr { align-self: center; color: #CFC9D1; padding: 0 1px; }
.gn-sep { width: 1px; background: #E6E3E7; margin: 4px 10px; }
/* Eden's tokens for the pieces drawn in his style on other pages (the batches card, the menus, the form) */
.eden-scope { --bg: #f4f3ef; --surface: #fcfcfb; --surface-2: #f0efeb; --border: #e3e2dc; --ink: #0b0b0b; --ink-2: #52514e; --ink-3: #8a8984; --accent: #6fa32a; --accent-soft: #e4f2c3; --brand-lime: #d5f098; --accent-2: #7a5f86; --accent-2-soft: #f3eef5; --track: #e6e5e0; --good: #0ca30c; --warning: #fab219; --warning-ink: #8a5b00; --critical: #d03b3b; --pending: #c6c5bf; --font-geist-sans: Figtree, 'Geist', system-ui, sans-serif; --font-geist-mono: 'JetBrains Mono', ui-monospace, monospace; font-family: var(--font-geist-sans); color: var(--ink); }
.gn-batches { margin: 0 0 18px; }
.gn-batches .ex-card { background: var(--surface); }
.gn-lotmenu { position: fixed; z-index: 70; min-width: 340px; max-width: calc(100vw - 16px); background: #fff; border: 1px solid #E6E3E7; border-radius: 12px; box-shadow: 0 16px 44px -12px rgba(32, 26, 33, .38); padding: 6px; display: flex; flex-direction: column; }
.gn-lotmenu > button { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; text-align: left; padding: 8px 10px; border: 0; background: none; border-radius: 8px; font: 13.5px Figtree, system-ui, sans-serif; color: #201A21; cursor: pointer; }
.gn-lotmenu > button:hover { background: #F6F6F6; }
.gn-lotmenu > button.on { background: #F3EEF5; }
.gn-lotmenu .nm { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gn-lotmenu .nm i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex: none; }
.gn-lotmenu .ex-muted { font-size: 12px; white-space: nowrap; }
.gn-mfoot { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #E6E3E7; margin-top: 4px; padding: 8px 6px 2px; }
.gn-mfoot button { border: 0; background: none; font: 600 13px Figtree, system-ui, sans-serif; color: #201A21; cursor: pointer; padding: 4px 6px; border-radius: 6px; }
.gn-mfoot button:hover { background: #F6F6F6; }
.gn-mfoot a { font-size: 12.5px; color: #6D5F6F; text-decoration: underline; text-underline-offset: 3px; }
.gn-modal { position: fixed; inset: 0; z-index: 80; background: rgba(11, 11, 11, .35); display: grid; place-items: center; padding: 16px; }
.gn-mbox { width: min(980px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--surface); border-radius: 14px; border: 1px solid var(--border); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .45); }
.gn-in { border: 1px solid var(--border); border-radius: 8px; padding: 7px 10px; font: 13.5px var(--font-geist-sans); color: var(--ink); background: #fff; }
.gn-toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 90; background: #201A21; color: #fff; padding: 10px 16px; border-radius: 10px; font: 13.5px Figtree, system-ui, sans-serif; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .5); max-width: calc(100vw - 32px); }
.gn-toast a { color: #D5F098; }
.gn-wl { margin-left: 10px; border: 1px solid #E6E3E7; border-radius: 8px; background: #fff; padding: 3px 9px; font: 600 12.5px Figtree, system-ui, sans-serif; cursor: pointer; color: #201A21; }
@media (max-width: 760px) {
  .gn-top { padding: 8px 12px 4px; gap: 8px; flex-wrap: wrap; }
  .gn-logo span, .gn-sw .sw-box .k { display: none; }
  .gn-lotbtn { min-width: 0; }
  .gn-new { display: none; }
  .gn-k { display: none; }
  .gn-flow { padding: 4px 12px 8px; }
  .gn-lotmenu { min-width: 0; left: 8px !important; right: 8px; }
}
