@easygov/react-components 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/easygov.css +1 -1
- package/dist/easygov.css.map +1 -1
- package/dist/easygov.d.mts +21 -1
- package/dist/easygov.mjs +1 -1
- package/dist/easygov.mjs.map +1 -1
- package/package.json +3 -3
package/dist/easygov.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../design-tokens/dist/eg-tokens.css","../src/ui/Button/Button.css","../src/icons/icon.css","../src/ui/Dropdown/Dropdown.css","../src/ui/TextLink/TextLink.css","../src/ui/Grid/Grid.css","../src/logos/logo.css","../src/ui/EasygovFooter/EasygovFooter.css","../src/ui/Input/Input.css","../src/ui/NavigationMenu/NavigationMenu.css","../src/ui/Select/Select.css","../src/ui/EasygovHeader/EasygovHeader.css"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\n:root {\n --eg-color-neutral-white: #ffffff;\n --eg-color-neutral-black-20: #d2d2d2;\n --eg-color-neutral-black-50: #8e8e8f;\n --eg-color-neutral-black-60: #777779;\n --eg-color-neutral-black-100: #1d1d1f;\n --eg-color-neutral-black-30: #bbbbbc;\n --eg-color-neutral-black-40: #a5a5a5;\n --eg-color-neutral-black-80: #4a4a4c;\n --eg-color-primary-royal-blue: #10069f;\n --eg-color-primary-dark-royal-blue: #140d79;\n --eg-color-primary-lila: #bbbbff;\n --eg-color-primary-lila-20: #f1f1ff;\n --eg-color-primary-dark-red: #a80927;\n --eg-space-0: 0px;\n --eg-space-12: 2px;\n --eg-space-25: 4px;\n --eg-space-50: 8px;\n --eg-space-75: 12px;\n --eg-space-100: 16px;\n --eg-space-125: 20px;\n --eg-space-150: 24px;\n --eg-space-200: 32px;\n --eg-border-radius-none: 0px;\n --eg-border-radius-xs: 4px;\n --eg-border-radius-s: 6px;\n --eg-border-weight-m: 2px;\n --eg-border-weight-l: 3px;\n --eg-icon-size-s: 16px;\n --eg-icon-size-m: 20px;\n --eg-icon-size-l: 24px;\n --eg-grid-breakpoint-s-max: 599px;\n --eg-grid-breakpoint-m-max: 839px;\n --eg-grid-breakpoint-xl-min: 1280px;\n --eg-grid-columns-mobile: 4;\n --eg-grid-columns-tablet: 8;\n --eg-grid-columns-desktop: 12;\n --eg-font-family-base: 'Noto Sans';\n --eg-font-size-625: 10px;\n --eg-font-size-750: 12px;\n --eg-font-size-875: 14px;\n --eg-font-size-1000: 16px;\n --eg-font-size-1125: 18px;\n --eg-font-line-height-0: 12px;\n --eg-font-line-height-1: 16px;\n --eg-font-line-height-2: 20px;\n --eg-font-line-height-3: 24px;\n --eg-font-weight-regular: 300;\n --eg-font-weight-semi-bold: 500;\n --eg-font-letter-spacing-none: 0px;\n --eg-grid-margin-m: var(--eg-space-150);\n --eg-grid-gutter-xs: var(--eg-space-100);\n --eg-grid-gutter-m: var(--eg-space-150);\n}\n",".eg-button {\n /* Per-variant stroke colour; the stroke itself is drawn as an inset shadow\n (see box-shadow below) so it never grows the box. */\n --eg-button-border-color: transparent;\n\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n gap: var(--eg-space-75);\n /* Horizontal padding is constant across sizes; vertical padding + font come\n from the size modifiers below. */\n padding-inline: var(--eg-space-125);\n border: none;\n /* Stroke drawn INSIDE the box, mirroring Figma's inside-aligned stroke, so\n the 2px border does not add to the height (a real `border` would add 4px).\n Size L = 24px line + 2×12px padding = exactly 48px. */\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-button-border-color);\n border-radius: var(--eg-border-radius-xs);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n outline: none;\n user-select: none;\n transition:\n background-color 150ms ease,\n box-shadow 150ms ease,\n color 150ms ease;\n}\n\n/* Figma \"Focussed\" state: a 2px ring just outside the button. The button keeps\n its 4px (radius-xs) corners; outline + 2px offset renders the ring at the\n larger 6px (radius-s) radius automatically. Mapped to keyboard focus. */\n.eg-button:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n.eg-button:disabled,\n.eg-button[data-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Sizes (from the Figma _M_Button master). Horizontal padding is shared; each\n size sets its vertical padding + type. Heights: L 48px, M 40px, S 36px. */\n.eg-button--size-l {\n padding-block: var(--eg-space-75);\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-button--size-m {\n padding-block: var(--eg-space-50);\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-button--size-s {\n padding-block: var(--eg-space-50);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* Icon sizes — square: uniform padding fills the remaining space around the 20px icon.\n Heights match their regular counterparts: L=48px, M=40px, S=36px.\n Both padding-inline and padding-block are set explicitly so the logical property\n from the base rule (padding-inline) is overridden by the same property, not by a\n physical shorthand, which avoids cascade ambiguity between logical and physical props. */\n.eg-button--size-icon-l { padding-block: 14px; padding-inline: 14px; line-height: 0; } /* (48 − 20) / 2 */\n.eg-button--size-icon-m { padding-block: 10px; padding-inline: 10px; line-height: 0; } /* (40 − 20) / 2 */\n.eg-button--size-icon-s { padding-block: 8px; padding-inline: 8px; line-height: 0; } /* (36 − 20) / 2 */\n\n/* Icons sit in a fixed 20px slot (Figma's icon frame) so the button width\n stays constant. The glyph renders at 16px (scale 0.8) and grows to fill the\n 20px slot on hover/focus — transform keeps it layout-shift free. */\n.eg-button svg {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n.eg-button:hover svg,\n.eg-button:focus-visible svg {\n transform: scale(1);\n}\n\n/* Primary */\n.eg-button--primary {\n background-color: var(--eg-color-primary-royal-blue);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-neutral-white);\n}\n.eg-button--primary:hover,\n.eg-button--primary:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--primary:disabled,\n.eg-button--primary[data-disabled] {\n background-color: var(--eg-color-neutral-black-50);\n --eg-button-border-color: var(--eg-color-neutral-black-50);\n color: var(--eg-color-neutral-black-20);\n}\n\n/* Secondary */\n.eg-button--secondary {\n background-color: var(--eg-color-neutral-white);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--secondary:hover,\n.eg-button--secondary:focus-visible {\n background-color: var(--eg-color-primary-lila);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--secondary:disabled,\n.eg-button--secondary[data-disabled] {\n background-color: var(--eg-color-neutral-black-20);\n --eg-button-border-color: var(--eg-color-neutral-black-50);\n color: var(--eg-color-neutral-black-50);\n}\n\n/* Critical */\n.eg-button--critical {\n background-color: var(--eg-color-primary-dark-red);\n --eg-button-border-color: var(--eg-color-primary-dark-red);\n color: var(--eg-color-neutral-white);\n}\n.eg-button--critical:hover,\n.eg-button--critical:focus-visible {\n background-color: var(--eg-color-neutral-white);\n --eg-button-border-color: var(--eg-color-primary-dark-red);\n color: var(--eg-color-primary-dark-red);\n}\n.eg-button--critical:focus-visible {\n outline-color: var(--eg-color-primary-dark-red);\n}\n.eg-button--critical:disabled,\n.eg-button--critical[data-disabled] {\n background-color: var(--eg-color-neutral-black-50);\n --eg-button-border-color: var(--eg-color-neutral-black-50);\n color: var(--eg-color-neutral-black-20);\n}\n\n/* Tertiary (no fill, no stroke) */\n.eg-button--tertiary {\n background-color: transparent;\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--tertiary:hover,\n.eg-button--tertiary:focus-visible {\n color: var(--eg-color-primary-royal-blue);\n text-decoration: underline;\n}\n.eg-button--tertiary:disabled,\n.eg-button--tertiary[data-disabled] {\n color: var(--eg-color-neutral-black-50);\n text-decoration: none;\n}\n","/* Shared icon styling. Color is inherited via `currentColor` (set `color` on\n the icon or any ancestor — e.g. through the consumer's `className`). Size is\n driven by the design-tokens `icon.size` scale (--eg-icon-size-*). */\n.eg-icon {\n display: inline-block;\n flex-shrink: 0;\n fill: currentColor;\n vertical-align: middle;\n}\n\n.eg-icon--size-s {\n width: var(--eg-icon-size-s);\n height: var(--eg-icon-size-s);\n}\n.eg-icon--size-m {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n}\n.eg-icon--size-l {\n width: var(--eg-icon-size-l);\n height: var(--eg-icon-size-l);\n}\n","/* ============================================================\n Dropdown (Base UI Combobox)\n\n Part map (Figma → CSS class):\n _M_DropdownTrigger → .eg-dropdown-trigger (Combobox.InputGroup)\n _M_DropdownItem → .eg-dropdown-item (Combobox.Item)\n _M_Droplist → .eg-droplist (Combobox.Popup)\n _C_Dropdown states → pseudo-classes + data-attributes below\n ============================================================ */\n\n/* ---- Label ---------------------------------------------------------- */\n\n.eg-dropdown-label {\n display: block;\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-750);\n line-height: var(--eg-font-line-height-1);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-dropdown-label[data-disabled] {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ---- Helper text ----------------------------------------------------- */\n\n.eg-dropdown-helper-text {\n display: block;\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* ---- Trigger / InputGroup ------------------------------------------- */\n\n.eg-dropdown-trigger {\n /* Per-state border colour and weight; drawn as inset shadow so the\n border never adds to the measured height (Figma strokes are inside). */\n --eg-dropdown-border-color: var(--eg-color-neutral-black-30);\n --eg-dropdown-border-weight: var(--eg-border-weight-m);\n\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--eg-space-50);\n background: var(--eg-color-neutral-white);\n border: none;\n box-shadow: inset 0 0 0 var(--eg-dropdown-border-weight)\n var(--eg-dropdown-border-color);\n border-radius: var(--eg-border-radius-xs);\n box-sizing: border-box;\n cursor: text;\n transition:\n box-shadow 150ms ease,\n outline-color 150ms ease;\n outline: none;\n}\n\n/* State=Hover: blue border */\n.eg-dropdown-trigger:hover {\n --eg-dropdown-border-color: var(--eg-color-primary-royal-blue);\n}\n\n/* State=Focussed: blue border + outer ring (keyboard focus only, no ring\n when popup is already open since the list provides visual feedback). */\n.eg-dropdown-trigger:has(.eg-dropdown-input:focus-visible):not(\n [data-popup-open]\n ) {\n --eg-dropdown-border-color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 3px;\n}\n\n/* State=Active (popup open): thicker blue border, no ring */\n.eg-dropdown-trigger[data-popup-open] {\n --eg-dropdown-border-weight: var(--eg-border-weight-l);\n --eg-dropdown-border-color: var(--eg-color-primary-royal-blue);\n}\n\n/* State=Error */\n.eg-dropdown-trigger[data-invalid] {\n --eg-dropdown-border-color: var(--eg-color-primary-dark-red);\n}\n\n/* State=Disabled */\n.eg-dropdown-trigger[data-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Sizes from _M_DropdownTrigger (heights: L=52px / M=40px / S=32px).\n padding-inline is symmetric so the caret aligns with item checkmarks. */\n.eg-dropdown-trigger--size-l {\n height: 52px;\n padding-inline: var(--eg-space-100);\n}\n.eg-dropdown-trigger--size-m {\n height: 40px;\n padding-inline: var(--eg-space-75);\n}\n.eg-dropdown-trigger--size-s {\n height: 32px;\n padding-inline: var(--eg-space-75);\n}\n\n/* Any icon from the icon library placed directly inside the trigger acts as\n the leading icon — no wrapper component needed. */\n.eg-dropdown-trigger > .eg-icon {\n flex-shrink: 0;\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-dropdown-trigger[data-disabled] > .eg-icon {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ---- Input (Combobox.Input) ----------------------------------------- */\n\n.eg-dropdown-input {\n flex: 1 0 0;\n min-width: 0;\n height: 100%;\n padding: 0 var(--eg-space-25);\n background: transparent;\n border: none;\n outline: none;\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-100);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.eg-dropdown-input::placeholder {\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-dropdown-trigger[data-disabled] .eg-dropdown-input {\n color: var(--eg-color-neutral-black-30);\n}\n.eg-dropdown-trigger[data-disabled] .eg-dropdown-input::placeholder {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* Font per size (inherited from parent .eg-dropdown-trigger--size-*) */\n.eg-dropdown-trigger--size-l .eg-dropdown-input {\n font-size: var(--eg-font-size-1125);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-dropdown-trigger--size-m .eg-dropdown-input {\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-dropdown-trigger--size-s .eg-dropdown-input {\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* ---- Toggle button (Combobox.Trigger — caret) ----------------------- */\n\n.eg-dropdown-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: var(--eg-color-neutral-black-100);\n transition: transform 150ms ease;\n}\n\n.eg-dropdown-trigger[data-disabled] .eg-dropdown-toggle {\n color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n}\n\n/* Rotate caret when popup is open */\n.eg-dropdown-trigger[data-popup-open] .eg-dropdown-toggle {\n transform: rotate(180deg);\n}\n\n/* ---- Popup / Droplist ----------------------------------------------- */\n\n.eg-droplist {\n background: var(--eg-color-neutral-white);\n /* Real border (not inset box-shadow) — the popup is a floating element\n so the 2px border does not affect any height constraint. Items fill\n the full content width and their border-radius clips cleanly against\n the popup's own border-radius + overflow:hidden. */\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-20);\n box-shadow: 0px 3px 40px -8px rgba(0, 0, 0, 0.2);\n border-radius: var(--eg-border-radius-s);\n /* Match trigger width exactly; Base UI Positioner provides --anchor-width */\n width: var(--anchor-width);\n min-width: var(--eg-droplist-min-width, 200px);\n padding-block: var(--eg-space-50);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.eg-droplist__list {\n display: flex;\n flex-direction: column;\n outline: none;\n}\n\n/* ---- Group label (Caption) ------------------------------------------ */\n\n.eg-dropdown-group-label {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75);\n padding: var(--eg-space-75) var(--eg-space-100);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n user-select: none;\n}\n\n/* ---- Item (Combobox.Item) ------------------------------------------- */\n\n.eg-dropdown-item {\n --eg-dropdown-item-bg: var(--eg-color-neutral-white);\n --eg-dropdown-item-color: var(--eg-color-neutral-black-60);\n\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--eg-space-75);\n padding: var(--eg-space-75) var(--eg-space-100);\n border-radius: var(--eg-border-radius-s);\n background: var(--eg-dropdown-item-bg);\n color: var(--eg-dropdown-item-color);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n cursor: pointer;\n outline: none;\n user-select: none;\n transition:\n background-color 100ms ease,\n color 100ms ease;\n}\n\n/* State=Hover / State=Focussed (keyboard-highlighted) */\n.eg-dropdown-item[data-highlighted] {\n --eg-dropdown-item-bg: var(--eg-color-primary-lila-20);\n --eg-dropdown-item-color: var(--eg-color-neutral-black-100);\n}\n\n/* Focus ring for keyboard navigation (Figma State=Focussed) */\n.eg-dropdown-item:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: -1px;\n}\n\n/* State=Selected: Royal Blue text */\n.eg-dropdown-item[data-selected] {\n --eg-dropdown-item-color: var(--eg-color-primary-royal-blue);\n --eg-dropdown-item-bg: var(--eg-color-neutral-white);\n}\n\n/* Selected + highlighted: keep Royal Blue text and restore Lila bg */\n.eg-dropdown-item[data-selected][data-highlighted] {\n --eg-dropdown-item-bg: var(--eg-color-primary-lila-20);\n --eg-dropdown-item-color: var(--eg-color-primary-royal-blue);\n}\n\n/* Disabled */\n.eg-dropdown-item[data-disabled] {\n --eg-dropdown-item-color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Any icon from the icon library placed directly inside an item acts as the\n leading icon — no wrapper component needed. */\n.eg-dropdown-item > .eg-icon {\n flex-shrink: 0;\n}\n\n/* Item text */\n.eg-dropdown-item__text {\n flex: 1 0 0;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Item indicator (checkmark, only visible when selected) */\n.eg-dropdown-item__indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-left: auto;\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* ---- Empty state -------------------------------------------------------- */\n\n/* Combobox.Empty's root <div> always stays in the DOM (screen reader live\n region). Collapse padding when it has no children so it takes no visual\n space while items are visible. */\n.eg-dropdown-empty:empty {\n padding: 0;\n}\n\n.eg-dropdown-empty {\n padding: var(--eg-space-75) var(--eg-space-100);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n color: var(--eg-color-neutral-black-60);\n text-align: center;\n}\n\n/* ---- Separator ---------------------------------------------------------- */\n\n.eg-dropdown-separator {\n height: 1px;\n margin: var(--eg-space-25) 0;\n background: var(--eg-color-neutral-black-20);\n}\n\n/* ---- Item checkbox (multi-select leading indicator) -------------------- */\n\n.eg-dropdown-item__checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n color: var(--eg-color-neutral-black-60);\n}\n\n/* Default state: unchecked icon visible, checked icon hidden.\n Scoped under .eg-dropdown-item for specificity 0-2-0, beating\n .eg-icon { display: inline-block } (0-1-0) regardless of load order. */\n.eg-dropdown-item .eg-dropdown-item__checkbox-icon--checked {\n display: none;\n}\n.eg-dropdown-item .eg-dropdown-item__checkbox-icon--unchecked {\n display: inline-block;\n}\n\n/* Selected state: swap icons and use Royal Blue (specificity 0-2-1) */\n.eg-dropdown-item[data-selected] .eg-dropdown-item__checkbox-icon--checked {\n display: flex;\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-dropdown-item[data-selected] .eg-dropdown-item__checkbox-icon--unchecked {\n display: none;\n}\n\n/* ---- Chips trigger (multi-select container) ---------------------------- */\n\n.eg-dropdown-chips-trigger {\n flex-wrap: nowrap;\n align-items: center;\n cursor: default;\n}\n\n/* ---- Chips list (chips + overflow, clips to available width) ----------- */\n\n.eg-dropdown-chips-list {\n display: flex;\n flex-wrap: nowrap;\n gap: var(--eg-space-25);\n align-items: center;\n overflow: hidden;\n flex: 0 1 auto;\n min-width: 0;\n}\n\n/* ---- Chip pill --------------------------------------------------------- */\n\n/* Base chip styles scoped under .eg-dropdown-chips-trigger for specificity\n 0-2-0, beating any conflicting single-class rules regardless of load order. */\n.eg-dropdown-chips-trigger .eg-dropdown-chip {\n --eg-chip-border-color: var(--eg-color-neutral-black-30);\n --eg-chip-bg: transparent;\n --eg-chip-color: var(--eg-color-neutral-black-60);\n --eg-chip-remove-hover-bg: var(--eg-color-neutral-black-20);\n\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-25);\n padding: 2px var(--eg-space-75);\n border: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-chip-border-color);\n border-radius: 9999px;\n background: var(--eg-chip-bg);\n color: var(--eg-chip-color);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n user-select: none;\n flex-shrink: 0;\n white-space: nowrap;\n transition:\n box-shadow 150ms ease,\n background-color 150ms ease,\n color 150ms ease;\n}\n\n/* Trigger hover / keyboard-focus / popup-open → Royal Blue chips */\n.eg-dropdown-trigger:hover .eg-dropdown-chip,\n.eg-dropdown-trigger:has(.eg-dropdown-input:focus-visible) .eg-dropdown-chip,\n.eg-dropdown-trigger[data-popup-open] .eg-dropdown-chip {\n --eg-chip-border-color: var(--eg-color-primary-royal-blue);\n --eg-chip-bg: var(--eg-color-primary-lila-20);\n --eg-chip-color: var(--eg-color-primary-royal-blue);\n --eg-chip-remove-hover-bg: var(--eg-color-primary-lila);\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip__label {\n white-space: nowrap;\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip__remove {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: inherit;\n flex-shrink: 0;\n border-radius: 2px;\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip__remove:hover {\n background: var(--eg-chip-remove-hover-bg);\n}\n\n.eg-dropdown-chips-trigger\n .eg-dropdown-chip[data-disabled]\n .eg-dropdown-chip__remove {\n pointer-events: none;\n}\n\n/* ---- Chip sizes — placed AFTER base chip block so same-specificity (0-2-0)\n cascade overrides the font/padding defaults above. ---- */\n\n/* S: base styles apply (font-size-875, line-height-2, 2px block padding) */\n\n.eg-dropdown-trigger--size-m .eg-dropdown-chip {\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n padding-block: var(--eg-space-25);\n}\n\n.eg-dropdown-trigger--size-l .eg-dropdown-chip {\n font-size: var(--eg-font-size-1125);\n line-height: var(--eg-font-line-height-3);\n padding-block: var(--eg-space-50);\n}\n\n/* ---- Chips overflow badge (\"+ N more\") — plain text, no border --------- */\n\n.eg-dropdown-chips-overflow {\n flex-shrink: 0;\n white-space: nowrap;\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n color: var(--eg-color-neutral-black-60);\n user-select: none;\n cursor: default;\n}\n","/* Per-variant text/outline colour, toggled by variant modifiers and disabled state. */\n.eg-text-link {\n --eg-text-link-color: var(--eg-color-primary-royal-blue);\n --eg-text-link-outline-color: var(--eg-color-primary-royal-blue);\n\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-50);\n\n /* Invisible border-radius so the focus outline renders at ~6px (4px + 2px offset). */\n border-radius: var(--eg-border-radius-xs);\n\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n\n color: var(--eg-text-link-color);\n text-decoration: underline;\n text-underline-position: from-font;\n\n cursor: pointer;\n outline: none;\n white-space: nowrap;\n transition: color 150ms ease;\n}\n\n/* Hover + Focus: remove underline */\n.eg-text-link:hover,\n.eg-text-link:focus-visible {\n text-decoration: none;\n}\n\n/* Figma \"Focussed\": 2px ring just outside the link, rendered at border-radius-s */\n.eg-text-link:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-text-link-outline-color);\n outline-offset: 2px;\n}\n\n.eg-text-link[aria-disabled=\"true\"] {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Icons sit in a fixed 20px slot; glyph renders at 16px (scale 0.8) and\n grows to fill the slot on hover/focus — transform keeps it layout-shift free. */\n.eg-text-link svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-text-link:hover svg,\n.eg-text-link:focus-visible svg {\n transform: scale(1);\n}\n\n/* Sizes (from _M_TextLink: L 24px height, S 20px height) */\n.eg-text-link--size-l {\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n\n.eg-text-link--size-s {\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* Each variant sets both the active colour and its disabled fallback.\n A single shared rule swaps to the disabled colour — no per-variant override needed. */\n.eg-text-link[aria-disabled=\"true\"] {\n --eg-text-link-color: var(--eg-text-link-color-disabled);\n}\n\n/* Primary */\n.eg-text-link--primary {\n --eg-text-link-color: var(--eg-color-primary-royal-blue);\n --eg-text-link-color-disabled: var(--eg-color-neutral-black-50);\n}\n\n/* Secondary */\n.eg-text-link--secondary {\n --eg-text-link-color: var(--eg-color-neutral-black-80);\n --eg-text-link-color-disabled: var(--eg-color-neutral-black-30);\n}\n\n/* Inverse (Figma \"On Dark\" type, for dark backgrounds e.g. the footer) */\n.eg-text-link--inverse {\n --eg-text-link-color: var(--eg-color-neutral-white);\n --eg-text-link-color-disabled: var(--eg-color-neutral-black-50);\n --eg-text-link-outline-color: var(--eg-color-neutral-white);\n}\n","/* ─── Container ───────────────────────────────────────────────────────────── */\n.eg-grid {\n display: grid;\n grid-template-columns: repeat(var(--eg-grid-columns-mobile), 1fr);\n column-gap: var(--eg-grid-gutter-xs);\n padding-inline: var(--eg-grid-margin-m);\n}\n\n/* Media queries can't read custom properties, so the breakpoint px values\n below must stay in sync with --eg-grid-breakpoint-s-max (599) / -xl-min (1280). */\n@media (min-width: 600px) {\n .eg-grid {\n grid-template-columns: repeat(var(--eg-grid-columns-tablet), 1fr);\n column-gap: var(--eg-grid-gutter-m);\n max-width: var(--eg-grid-breakpoint-m-max);\n margin-inline: auto;\n }\n}\n\n@media (min-width: 1280px) {\n .eg-grid {\n grid-template-columns: repeat(var(--eg-grid-columns-desktop), 1fr);\n max-width: var(--eg-grid-breakpoint-xl-min);\n }\n}\n\n/* ─── Item ────────────────────────────────────────────────────────────────── */\n.eg-grid__item {\n min-width: 0;\n}\n\n/* Mobile: 4 columns */\n.eg-grid__item--span-1 {\n grid-column: span 1;\n}\n.eg-grid__item--span-2 {\n grid-column: span 2;\n}\n.eg-grid__item--span-3 {\n grid-column: span 3;\n}\n.eg-grid__item--span-4 {\n grid-column: span 4;\n}\n\n/* Tablet: 8 columns */\n@media (min-width: 600px) {\n .eg-grid__item--span-tablet-1 {\n grid-column: span 1;\n }\n .eg-grid__item--span-tablet-2 {\n grid-column: span 2;\n }\n .eg-grid__item--span-tablet-3 {\n grid-column: span 3;\n }\n .eg-grid__item--span-tablet-4 {\n grid-column: span 4;\n }\n .eg-grid__item--span-tablet-5 {\n grid-column: span 5;\n }\n .eg-grid__item--span-tablet-6 {\n grid-column: span 6;\n }\n .eg-grid__item--span-tablet-7 {\n grid-column: span 7;\n }\n .eg-grid__item--span-tablet-8 {\n grid-column: span 8;\n }\n}\n\n/* Desktop: 12 columns */\n@media (min-width: 1280px) {\n .eg-grid__item--span-desktop-1 {\n grid-column: span 1;\n }\n .eg-grid__item--span-desktop-2 {\n grid-column: span 2;\n }\n .eg-grid__item--span-desktop-3 {\n grid-column: span 3;\n }\n .eg-grid__item--span-desktop-4 {\n grid-column: span 4;\n }\n .eg-grid__item--span-desktop-5 {\n grid-column: span 5;\n }\n .eg-grid__item--span-desktop-6 {\n grid-column: span 6;\n }\n .eg-grid__item--span-desktop-7 {\n grid-column: span 7;\n }\n .eg-grid__item--span-desktop-8 {\n grid-column: span 8;\n }\n .eg-grid__item--span-desktop-9 {\n grid-column: span 9;\n }\n .eg-grid__item--span-desktop-10 {\n grid-column: span 10;\n }\n .eg-grid__item--span-desktop-11 {\n grid-column: span 11;\n }\n .eg-grid__item--span-desktop-12 {\n grid-column: span 12;\n }\n}\n","/* Shared logo styling. Height is set inline via the `height` prop on BrandBase;\n width scales automatically from the viewBox aspect ratio. */\n.eg-logo {\n display: inline-block;\n flex-shrink: 0;\n width: auto;\n}\n",".eg-footer__top {\n background: var(--eg-color-primary-dark-royal-blue);\n}\n\n/* pt-64/pb-48/min-height-406 come straight from the Figma frame; there is no\n matching space token for them, so they stay literal. min-height keeps the\n default (desktop) footer pixel-matched while still growing for longer\n translated link labels. */\n.eg-footer__band {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: var(--eg-space-150);\n min-height: 406px;\n padding-block: 64px 48px;\n}\n\n/* TextLink renders with `white-space: nowrap`, so below the 1280px desktop\n width these columns wrap onto their own rows instead of shrinking past\n their content width and overlapping their neighbours. */\n.eg-footer__columns {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--eg-space-150);\n width: 100%;\n}\n\n/* No explicit min-width: the default `auto` resolves to each column's\n content-based minimum, which — thanks to TextLink's `white-space: nowrap`\n — already equals its widest link's full width. A fixed min-width smaller\n than that would let long labels overflow past the column instead of\n the row wrapping. */\n.eg-footer__column,\n.eg-footer__brand-column {\n display: flex;\n flex: 1 1 200px;\n}\n\n.eg-footer__column {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--eg-space-150);\n}\n\n.eg-footer__brand-column {\n justify-content: flex-end;\n}\n\n.eg-footer__social-links {\n display: flex;\n align-items: center;\n gap: var(--eg-space-100);\n color: var(--eg-color-neutral-white);\n}\n\n.eg-footer__social-links a {\n display: inline-flex;\n color: inherit;\n outline: none;\n}\n\n.eg-footer__social-links a:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-color-neutral-white);\n outline-offset: 2px;\n border-radius: var(--eg-border-radius-xs);\n}\n\n.eg-footer__legal {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--eg-space-200);\n width: 100%;\n}\n\n.eg-footer__partners {\n background: var(--eg-color-neutral-white);\n}\n\n/* 60px gap is a literal value in the Figma frame too — not bound to a variable. */\n.eg-footer__partners-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 60px;\n min-height: 150px;\n}\n","/* ─── Root wrapper ─────────────────────────────────────────────────────────── */\n.eg-input-field {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: var(--eg-space-50); /* L: 8px between label and frame */\n}\n\n/* M/S close the gap slightly */\n.eg-input-field--size-m,\n.eg-input-field--size-s {\n gap: var(--eg-space-25); /* 4px */\n}\n\n/* ─── Label ─────────────────────────────────────────────────────────────────── */\n.eg-input-field__label {\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n font-size: var(--eg-font-size-750);\n line-height: var(--eg-font-line-height-1);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-input-field[data-disabled] .eg-input-field__label {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ─── Input frame (the styled box) ─────────────────────────────────────────── */\n\n/* Local custom properties for state-driven border; never hardcode values here. */\n.eg-input-field__frame {\n --eg-input-border-color: var(--eg-color-neutral-black-30);\n --eg-input-border-weight: var(--eg-border-weight-m);\n\n display: flex;\n align-items: center;\n gap: var(--eg-space-50);\n padding-inline-start: var(--eg-space-100); /* 16px */\n padding-inline-end: var(--eg-space-50); /* 8px */\n border: none;\n /* Stroke drawn INSIDE the box (inside-aligned like Figma), so it never grows\n the frame height. Drive colour + weight via the local custom props above. */\n box-shadow: inset 0 0 0 var(--eg-input-border-weight) var(--eg-input-border-color);\n border-radius: var(--eg-border-radius-xs);\n background-color: var(--eg-color-neutral-white);\n box-sizing: border-box;\n width: 100%;\n position: relative;\n transition:\n box-shadow 150ms ease,\n outline-color 150ms ease;\n}\n\n/* Hover: blue 2px border when not focused */\n.eg-input-field__frame:hover:not([data-focused]) {\n --eg-input-border-color: var(--eg-color-primary-royal-blue);\n}\n\n/* Focussed: 2px blue border + outer focus ring.\n data-focused is set by the Input component's own onFocus/onBlur handlers\n because Base UI's data-focused requires Field.Root context. */\n.eg-input-field__frame[data-focused] {\n --eg-input-border-color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 3px;\n}\n\n/* Active (focused + filled): thicker 3px border; ring not needed while typing */\n.eg-input-field__frame[data-focused][data-filled] {\n --eg-input-border-weight: var(--eg-border-weight-l);\n outline: none;\n}\n\n/* Error: red 2px border; takes precedence over hover/focus via specificity */\n.eg-input-field--invalid .eg-input-field__frame {\n --eg-input-border-color: var(--eg-color-primary-dark-red);\n --eg-input-border-weight: var(--eg-border-weight-m);\n}\n\n/* Disabled: reset to grey border, remove hover/focus behaviour */\n.eg-input-field[data-disabled] .eg-input-field__frame {\n --eg-input-border-color: var(--eg-color-neutral-black-30);\n --eg-input-border-weight: var(--eg-border-weight-m);\n pointer-events: none;\n}\n\n/* ─── Sizes (from _M_InputField) ────────────────────────────────────────────── */\n/* Heights: L 48px, M 40px, S 36px (padding-block + line-height). */\n\n.eg-input-field--size-l .eg-input-field__frame {\n padding-block: var(--eg-space-75); /* 12px → 12 + 24 + 12 = 48px */\n}\n\n.eg-input-field--size-m .eg-input-field__frame,\n.eg-input-field--size-s .eg-input-field__frame {\n padding-block: var(--eg-space-50); /* 8px → M: 40px, S: 36px */\n}\n\n/* ─── Native <input> element ─────────────────────────────────────────────────── */\n.eg-input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n padding: 0 var(--eg-space-25); /* 4px either side of the text */\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-100);\n appearance: none;\n}\n\n.eg-input::placeholder {\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-input:disabled {\n color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n}\n\n/* Per-size font */\n.eg-input-field--size-l .eg-input {\n font-size: var(--eg-font-size-1125); /* 18px */\n line-height: var(--eg-font-line-height-3); /* 24px */\n}\n\n.eg-input-field--size-m .eg-input {\n font-size: var(--eg-font-size-1000); /* 16px */\n line-height: var(--eg-font-line-height-3); /* 24px */\n}\n\n.eg-input-field--size-s .eg-input {\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n}\n\n/* ─── Icon slots ─────────────────────────────────────────────────────────────── */\n\n/* Fixed 20px slot; icon glyph sits at 16px per Figma leading/trailing frames. */\n.eg-input-field__leading,\n.eg-input-field__trailing {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n}\n\n.eg-input-field__leading svg,\n.eg-input-field__trailing svg {\n width: var(--eg-icon-size-s); /* 16px */\n height: var(--eg-icon-size-s);\n flex-shrink: 0;\n color: var(--eg-color-neutral-black-100);\n}\n\n/* Error icon fills the full 20px slot */\n.eg-input-field--invalid .eg-input-field__trailing svg {\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m);\n color: var(--eg-color-primary-dark-red);\n}\n\n/* Disabled: grey icons */\n.eg-input-field[data-disabled] .eg-input-field__leading svg,\n.eg-input-field[data-disabled] .eg-input-field__trailing svg {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ─── Helper text ────────────────────────────────────────────────────────────── */\n.eg-input-field__helper {\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-input-field--invalid .eg-input-field__helper {\n color: var(--eg-color-primary-dark-red);\n}\n\n.eg-input-field[data-disabled] .eg-input-field__helper {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* Per-size helper text typography */\n.eg-input-field--size-l .eg-input-field__helper {\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n}\n\n.eg-input-field--size-m .eg-input-field__helper,\n.eg-input-field--size-s .eg-input-field__helper {\n font-size: var(--eg-font-size-750); /* 12px */\n line-height: var(--eg-font-line-height-1); /* 16px */\n}\n","/* ============================================================\n NavigationMenu — maps to Figma HeaderNav\n\n Three visual parts:\n .eg-nav-menu__trigger → _M_HeaderNavItem (top-level nav button)\n .eg-nav-menu__popup → _M_HeaderNavList (dropdown panel)\n .eg-nav-menu__link → _M_HeaderNavListItem (popup list item)\n ============================================================ */\n\n/* ── Root nav wrapper ─────────────────────────────────────── */\n.eg-nav-menu {\n position: relative;\n}\n\n/* ── Horizontal list ──────────────────────────────────────── */\n.eg-nav-menu__list {\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n /* Padding creates room for the 2px outline + 2px offset so focus rings\n aren't clipped by parent containers with overflow:hidden (e.g. the\n playground preview pane). */\n padding: 4px 4px;\n gap: var(--eg-space-50);\n}\n\n/* ── Nav item (li) ────────────────────────────────────────── */\n.eg-nav-menu__item {\n position: relative;\n}\n\n/* ── Trigger (_M_HeaderNavItem) ───────────────────────────── */\n/*\n Figma dimensions: 149 × 36 px\n Layout: flex, items-center, gap 8px, padding 0 12px, radius 4px\n Height 36 = 20px line-height + 2 × 8px padding-block\n No border variant — no box-shadow needed.\n*/\n.eg-nav-menu__trigger {\n /* Height = label's padding-block (8px each) + line-height (20px) = 36px.\n The trigger itself has no padding-block; height is driven by the label. */\n appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-50); /* 8px */\n padding-block: 0;\n padding-inline: var(--eg-space-75); /* 12px */\n border: none;\n border-radius: var(--eg-border-radius-xs); /* 4px */\n box-sizing: border-box;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular); /* 300 Light */\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n user-select: none;\n position: relative;\n transition:\n background-color 150ms ease,\n color 150ms ease;\n}\n\n/* Hover */\n.eg-nav-menu__trigger:hover {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* Keyboard focus */\n.eg-nav-menu__trigger:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* Active (popup is open) — Base UI sets [data-popup-open] */\n.eg-nav-menu__trigger[data-popup-open] {\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* Active + hover */\n.eg-nav-menu__trigger[data-popup-open]:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Active + focus */\n.eg-nav-menu__trigger[data-popup-open]:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* Disabled */\n.eg-nav-menu__trigger:disabled,\n.eg-nav-menu__trigger[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ── Anchor: top-level nav link (no dropdown, renders as <a>) ─ */\n/* Shares all trigger styles; adds text-decoration reset and a hover\n underline to signal it's a direct link (no dropdown). */\n.eg-nav-menu__anchor {\n text-decoration: none;\n}\n\n.eg-nav-menu__anchor:hover .eg-nav-menu__trigger-label,\n.eg-nav-menu__anchor:focus-visible .eg-nav-menu__trigger-label {\n box-shadow: inset 0 -2px 0 var(--eg-color-primary-royal-blue);\n}\n\n/* ── Trigger label (for bottom-border on active) ──────────── */\n/*\n Label padding-block drives the trigger's height: 8px + 20px + 8px = 36px.\n Active underline uses box-shadow (not border-bottom) so it never adds to\n the box height, keeping the trigger pixel-exact to Figma.\n*/\n.eg-nav-menu__trigger-label {\n display: inline-flex;\n align-items: center;\n padding-block: var(--eg-space-50); /* 8px — drives 36px trigger height */\n}\n\n/* Active: label underline via box-shadow (layout-neutral) */\n.eg-nav-menu__trigger[data-popup-open] .eg-nav-menu__trigger-label {\n box-shadow: inset 0 -2px 0 var(--eg-color-primary-royal-blue);\n}\n\n/* ── Icon slots (leading + trailing) ──────────────────────── */\n/*\n Figma wraps icons in a fixed 20px frame (icon.size.m) containing a 16px glyph.\n Scale trick: render at full 20px, use scale(0.8) so the glyph is 16px at rest,\n grows to 20px on hover/focus — no layout shift.\n*/\n.eg-nav-menu__trigger-icon,\n.eg-nav-menu__trigger-chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.eg-nav-menu__trigger-icon {\n position: relative;\n}\n\n.eg-nav-menu__trigger-icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-nav-menu__trigger:hover .eg-nav-menu__trigger-icon svg,\n.eg-nav-menu__trigger:focus-visible .eg-nav-menu__trigger-icon svg {\n transform: scale(1);\n}\n\n/* Trailing chevron rotates 180° when popup is open */\n\n.eg-nav-menu__trigger-chevron svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-nav-menu__trigger[data-popup-open] .eg-nav-menu__trigger-chevron svg {\n transform: scale(0.8) rotate(180deg);\n}\n\n.eg-nav-menu__trigger:hover .eg-nav-menu__trigger-chevron svg,\n.eg-nav-menu__trigger:focus-visible .eg-nav-menu__trigger-chevron svg {\n transform: scale(1) rotate(0deg);\n}\n\n.eg-nav-menu__trigger[data-popup-open]:hover .eg-nav-menu__trigger-chevron svg,\n.eg-nav-menu__trigger[data-popup-open]:focus-visible .eg-nav-menu__trigger-chevron svg {\n transform: scale(1) rotate(180deg);\n}\n\n/* ── Notification badge ───────────────────────────────────── */\n/*\n Absolute: top 2px, left 24px (overlaps the 20px icon slot).\n Figma: bg Dark Red, white text 10px/500, padding 2px, min-width 12px, radius 1000px.\n*/\n.eg-nav-menu__badge {\n /* Figma: 16×16px circle for single digit, pill for multi-digit.\n box-sizing: border-box ensures min-width/height include the 2px padding. */\n position: absolute;\n top: 2px;\n left: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 16px;\n min-height: 16px;\n padding: var(--eg-space-12) calc(var(--eg-space-12) * 2); /* 2px 4px */\n border-radius: 1000px;\n background-color: var(--eg-color-primary-dark-red);\n color: var(--eg-color-neutral-white);\n font-size: var(--eg-font-size-625); /* 10px */\n font-weight: var(--eg-font-weight-semi-bold); /* 500 */\n line-height: var(--eg-font-line-height-0); /* 12px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n text-align: center;\n white-space: nowrap;\n pointer-events: none;\n}\n\n/* ── Positioner (Base UI portal + positioning) ────────────── */\n.eg-nav-menu__positioner {\n z-index: 50;\n}\n\n/* ── Popup panel (_M_HeaderNavList) ───────────────────────── */\n/*\n Figma: bg white, border 1px neutral-black-20, radius 4px,\n padding 8px 0, shadow elevation-small (0 4px 16px -8px rgba(0,0,0,0.12))\n*/\n.eg-nav-menu__popup {\n background-color: var(--eg-color-neutral-white);\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-20);\n border-radius: var(--eg-border-radius-s);\n padding-block: var(--eg-space-50);\n padding-inline: 0;\n box-shadow: 0px 3px 40px -8px rgba(0, 0, 0, 0.2);\n min-width: 180px;\n}\n\n/* ── Viewport (wraps the active Content) ──────────────────── */\n.eg-nav-menu__viewport {\n overflow: hidden;\n}\n\n/* ── Content (per-item panel) ─────────────────────────────── */\n.eg-nav-menu__content {\n display: flex;\n flex-direction: column;\n}\n\n/* ── Link (_M_HeaderNavListItem) ──────────────────────────── */\n/*\n Figma: 197 × 44 px\n Layout: flex, items-center, gap 12px, padding 12px 16px, width 100%\n 44 = 20px line-height + 2 × 12px padding-block\n*/\n.eg-nav-menu__link {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75); /* 12px */\n padding-block: var(--eg-space-75); /* 12px */\n padding-inline: var(--eg-space-100); /* 16px */\n width: 100%;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular); /* 300 Light */\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n text-decoration: none;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n position: relative;\n transition: background-color 150ms ease;\n}\n\n/* Hover */\n.eg-nav-menu__link:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Keyboard focus — inset ring so it stays inside the viewport's overflow:hidden.\n The Figma ring uses border-radius-s (6px); we match that with border-radius\n on the focused state and draw the ring via inset box-shadow. */\n.eg-nav-menu__link:focus-visible {\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* Active (current page) — left border, no bg change */\n.eg-nav-menu__link--active {\n border-left: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n padding-inline-start: calc(var(--eg-space-100) - var(--eg-border-weight-m)); /* keep content aligned */\n}\n\n/* Focused + active */\n.eg-nav-menu__link--active:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* Hover + active */\n.eg-nav-menu__link--active:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* ── Link icon slots ──────────────────────────────────────── */\n.eg-nav-menu__link-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.eg-nav-menu__link-icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n}\n","/* ============================================================\n Select — nav-bar selection control built on Base UI Select\n\n Designed to sit alongside NavigationMenu items in a header.\n CSS structure mirrors .eg-nav-menu__trigger / .eg-nav-menu__link\n so both components are visually identical when placed side-by-side.\n\n Key structural decision (matches NavigationMenu):\n - .eg-select-trigger has padding-block: 0 — no vertical padding on the button\n - .eg-select-value has padding-block: 8px — the value span drives the 36px height\n - The active underline is drawn on .eg-select-value via box-shadow: inset 0 -2px 0\n This is layout-neutral (no height shift), identical to .eg-nav-menu__trigger-label\n ============================================================ */\n\n/* ---- Label (plain <label>, outside Select.Root) --------------------- */\n\n.eg-select-label {\n display: block;\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-750);\n line-height: var(--eg-font-line-height-1);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-select-label[data-disabled] {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ---- Helper text ---------------------------------------------------- */\n\n.eg-select-helper-text {\n display: block;\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* ---- Trigger -------------------------------------------------------- */\n/*\n Copied from .eg-nav-menu__trigger.\n padding-block: 0 on the button itself — height is driven by .eg-select-value\n below (8px top + 20px line-height + 8px bottom = 36px), identical to the way\n .eg-nav-menu__trigger-label drives the NavMenu button height.\n*/\n\n.eg-select-trigger {\n appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-50); /* 8px */\n padding-block: 0; /* height driven by .eg-select-value */\n padding-inline: var(--eg-space-75); /* 12px */\n border: none;\n box-shadow: none; /* explicit reset of any browser default */\n border-radius: var(--eg-border-radius-xs); /* 4px */\n box-sizing: border-box;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n user-select: none;\n position: relative;\n transition:\n background-color 150ms ease,\n color 150ms ease;\n}\n\n/* State=Hover */\n.eg-select-trigger:hover {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* State=Focussed (keyboard — identical to .eg-nav-menu__trigger:focus-visible) */\n.eg-select-trigger:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* State=Active (popup open) */\n.eg-select-trigger[data-popup-open] {\n color: var(--eg-color-primary-royal-blue);\n}\n\n.eg-select-trigger[data-popup-open]:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n.eg-select-trigger[data-popup-open]:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* State=Disabled */\n.eg-select-trigger:disabled,\n.eg-select-trigger[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ---- Value (selected text / placeholder) ---------------------------- */\n/*\n Mirrors .eg-nav-menu__trigger-label:\n - display inline-flex + align-items center drives the trigger's 36px height\n - padding-block: 8px provides the vertical space around the 20px text\n - box-shadow: inset 0 -2px 0 royal-blue draws the active underline at the\n bottom of this span without adding to the layout height\n*/\n\n.eg-select-value {\n display: inline-flex;\n align-items: center;\n padding-block: var(--eg-space-50); /* 8px — drives 36px trigger height */\n}\n\n/* Underline on hover, keyboard focus, and when popup is open —\n matches .eg-nav-menu__trigger[data-popup-open] .eg-nav-menu__trigger-label\n and .eg-nav-menu__anchor:hover .eg-nav-menu__trigger-label */\n.eg-select-trigger:hover .eg-select-value,\n.eg-select-trigger:focus-visible .eg-select-value,\n.eg-select-trigger[data-popup-open] .eg-select-value {\n box-shadow: inset 0 -2px 0 var(--eg-color-primary-royal-blue);\n}\n\n/* Placeholder: dimmer in resting state; inherits active colour on interaction */\n.eg-select-value[data-placeholder] {\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-select-trigger:hover .eg-select-value[data-placeholder],\n.eg-select-trigger:focus-visible .eg-select-value[data-placeholder],\n.eg-select-trigger[data-popup-open] .eg-select-value[data-placeholder] {\n color: inherit;\n}\n\n/* ---- Leading icon slot ---------------------------------------------- */\n/*\n Fixed 20px slot with scale trick: 16px glyph (scale 0.8) at rest, grows to\n 20px (scale 1) on hover/focus. Mirrors .eg-nav-menu__trigger-icon.\n*/\n\n.eg-select-trigger__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n overflow: hidden;\n position: relative;\n}\n\n.eg-select-trigger__icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-select-trigger:hover .eg-select-trigger__icon svg,\n.eg-select-trigger:focus-visible .eg-select-trigger__icon svg {\n transform: scale(1);\n}\n\n/* ---- Trailing chevron ----------------------------------------------- */\n/*\n Mirrors .eg-nav-menu__trigger-chevron:\n - 20px slot, scale(0.8) at rest → scale(1) on hover/focus\n - container rotates 180° when popup open (cleaner than stacking rotate + scale on svg)\n*/\n\n.eg-select-trigger__chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n overflow: hidden;\n transition: transform 150ms ease;\n}\n\n.eg-select-trigger__chevron svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n/* Hover / focus: grow glyph */\n.eg-select-trigger:hover .eg-select-trigger__chevron svg,\n.eg-select-trigger:focus-visible .eg-select-trigger__chevron svg {\n transform: scale(1) rotate(0deg);\n}\n\n/* Open: rotate container */\n.eg-select-trigger[data-popup-open] .eg-select-trigger__chevron {\n transform: rotate(180deg);\n}\n\n/* Open + hover/focus: full-size glyph inside rotated container */\n.eg-select-trigger[data-popup-open]:hover .eg-select-trigger__chevron svg,\n.eg-select-trigger[data-popup-open]:focus-visible .eg-select-trigger__chevron svg {\n transform: scale(1);\n}\n\n/* ---- Popup ---------------------------------------------------------- */\n/*\n Identical to .eg-nav-menu__popup:\n white bg, neutral-black-20 border, 6px radius, elevation shadow.\n Width anchors to --anchor-width (Base UI Positioner).\n*/\n\n.eg-select-popup {\n background: var(--eg-color-neutral-white);\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-20); /* 2px */\n border-radius: var(--eg-border-radius-s); /* 6px */\n padding-block: var(--eg-space-50); /* 8px */\n padding-inline: 0;\n box-shadow: 0px 3px 40px -8px rgba(0, 0, 0, 0.2);\n min-width: var(--anchor-width);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* ---- List ----------------------------------------------------------- */\n\n.eg-select-list {\n display: flex;\n flex-direction: column;\n outline: none;\n}\n\n/* ---- Group label (caption row, not selectable) ---------------------- */\n\n.eg-select-group-label {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75);\n padding: var(--eg-space-75) var(--eg-space-100); /* 12px 16px */\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n user-select: none;\n}\n\n/* ---- Item ----------------------------------------------------------- */\n/*\n Mirrors .eg-nav-menu__link exactly:\n flex row, gap 12px, padding 12px 16px, full width.\n 44px total: 12px + 20px line-height + 12px = 44px.\n\n Hover → lila-20 background (.eg-nav-menu__link:hover)\n Keyboard focus → inset box-shadow ring (.eg-nav-menu__link:focus-visible)\n Selected → Royal Blue text + left border (like .eg-nav-menu__link--active)\n*/\n\n.eg-select-item {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75); /* 12px */\n padding-block: var(--eg-space-75); /* 12px */\n padding-inline: var(--eg-space-100); /* 16px */\n width: 100%;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n cursor: pointer;\n outline: none;\n user-select: none;\n box-sizing: border-box;\n position: relative;\n transition: background-color 150ms ease;\n}\n\n/* State=Hover / keyboard highlight (mirrors .eg-nav-menu__link:hover) */\n.eg-select-item[data-highlighted] {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Keyboard focus ring — inset so it stays inside popup overflow:hidden.\n Mirrors .eg-nav-menu__link:focus-visible exactly. */\n.eg-select-item:focus-visible {\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m)\n var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* State=Selected: Royal Blue text + left accent border.\n Mirrors .eg-nav-menu__link--active. Compensate inline-start padding so\n text stays horizontally aligned with unselected items. */\n.eg-select-item[data-selected] {\n color: var(--eg-color-primary-royal-blue);\n border-left: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n padding-inline-start: calc(\n var(--eg-space-100) - var(--eg-border-weight-m)\n ); /* 16px - 2px = 14px keeps text in column */\n}\n\n/* Selected + highlighted */\n.eg-select-item[data-selected][data-highlighted] {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Selected + focused */\n.eg-select-item[data-selected]:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m)\n var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* State=Disabled */\n.eg-select-item[data-disabled] {\n color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Leading icon */\n.eg-select-item__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n}\n\n.eg-select-item__icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n}\n\n/* Item text — fills available width */\n.eg-select-item__text {\n flex: 1 1 0;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* ---- Separator ----------------------------------------------------- */\n\n.eg-select-separator {\n height: 1px;\n margin: var(--eg-space-25) 0; /* 4px */\n background: var(--eg-color-neutral-black-20);\n}\n","/* Component-scoped layout constants — Figma: Header (Desktop) (7801:2) */\n.eg-header {\n --eg-header-height: 80px;\n --eg-header-logo-nav-gap: 36px;\n}\n\n/* ── Root ──────────────────────────────────────────────────────────────────── */\n.eg-header {\n height: var(--eg-header-height);\n background-color: var(--eg-color-neutral-white);\n /* 1px hardcoded: Figma 7801:2 specs 1px, but design-tokens has no\n border-weight token below --eg-border-weight-m (2px). */\n border-bottom: 1px solid var(--eg-color-neutral-black-20);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n font-weight: var(--eg-font-weight-regular);\n line-height: var(--eg-font-line-height-2);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-100);\n position: relative;\n}\n\n/* ── Grid + content wrapper (Figma: \"Content (1280)\" / \"Header Content\") ───── */\n.eg-header__grid {\n height: 100%;\n}\n.eg-header__content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 100%;\n}\n\n/* ── Skip link — WCAG 2.4.1 ────────────────────────────────────────────────── */\n.eg-header__skip-link {\n position: absolute;\n top: -9999px;\n left: var(--eg-space-100);\n z-index: 9999;\n padding: var(--eg-space-25) var(--eg-space-50);\n background: var(--eg-color-neutral-white);\n color: var(--eg-color-neutral-black-100);\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-100);\n border-radius: var(--eg-border-radius-xs);\n text-decoration: none;\n font-size: var(--eg-font-size-875);\n}\n.eg-header__skip-link:focus-visible {\n top: var(--eg-space-50);\n}\n\n/* ── Left group: brand + nav ───────────────────────────────────────────────── */\n.eg-header__left {\n display: flex;\n align-items: center;\n gap: var(--eg-header-logo-nav-gap);\n overflow: hidden;\n}\n\n/* ── Brand / Logo ───────────────────────────────────────────────────────────── */\n.eg-header__brand {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ── Nav area — wraps NavigationMenu ─────────────────────────────────────── */\n.eg-header__nav {\n display: inline-flex;\n align-items: center;\n}\n\n/* ── Right group: menu cluster + Swiss logo ─────────────────────────────────── */\n.eg-header__right {\n display: flex;\n align-items: center;\n gap: var(--eg-space-150);\n flex-shrink: 0;\n}\n\n/* ── Right menu cluster: auth + language ───────────────────────────────────── */\n.eg-header__right-menu {\n display: flex;\n align-items: center;\n gap: var(--eg-space-50);\n}\n\n/* ── Swiss logo ────────────────────────────────────────────────────────────── */\n.eg-header__swiss-logo {\n flex-shrink: 0;\n}\n\n/* ── Skeleton shimmer ──────────────────────────────────────────────────────── */\n.eg-header__skeleton {\n border-radius: var(--eg-border-radius-xs);\n background: linear-gradient(\n 90deg,\n var(--eg-color-neutral-black-20) 25%,\n var(--eg-color-neutral-black-30, var(--eg-color-neutral-black-20)) 50%,\n var(--eg-color-neutral-black-20) 75%\n );\n background-size: 200% 100%;\n animation: eg-skeleton-shimmer 1.4s ease-in-out infinite;\n}\n.eg-header__skeleton--auth {\n width: 80px;\n height: 32px;\n}\n.eg-header__skeleton--nav {\n width: 120px;\n height: 28px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .eg-header__skeleton {\n animation: none;\n background: var(--eg-color-neutral-black-20);\n }\n}\n\n@keyframes eg-skeleton-shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n/* ── Visually hidden — aria-live regions ────────────────────────────────────── */\n.eg-header__sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../design-tokens/dist/eg-tokens.css","../src/ui/Button/Button.css","../src/icons/icon.css","../src/ui/Dropdown/Dropdown.css","../src/ui/TextLink/TextLink.css","../src/ui/Grid/Grid.css","../src/logos/logo.css","../src/ui/EasygovFooter/EasygovFooter.css","../src/ui/Input/Input.css","../src/ui/NavigationMenu/NavigationMenu.css","../src/ui/Select/Select.css","../src/ui/EasygovHeader/EasygovHeader.css"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\n:root {\n --eg-color-neutral-white: #ffffff;\n --eg-color-neutral-black-20: #d2d2d2;\n --eg-color-neutral-black-50: #8e8e8f;\n --eg-color-neutral-black-60: #777779;\n --eg-color-neutral-black-100: #1d1d1f;\n --eg-color-neutral-black-30: #bbbbbc;\n --eg-color-neutral-black-40: #a5a5a5;\n --eg-color-neutral-black-80: #4a4a4c;\n --eg-color-neutral-black-5: #f8f8f8;\n --eg-color-neutral-black-70: #616162;\n --eg-color-primary-royal-blue: #10069f;\n --eg-color-primary-dark-royal-blue: #140d79;\n --eg-color-primary-lila: #bbbbff;\n --eg-color-primary-lila-20: #f1f1ff;\n --eg-color-primary-dark-red: #a80927;\n --eg-color-status-error: #dd002a;\n --eg-color-status-success: #24a148;\n --eg-color-status-warning: #ffa300;\n --eg-color-status-info: #00bbdd;\n --eg-space-0: 0px;\n --eg-space-12: 2px;\n --eg-space-25: 4px;\n --eg-space-50: 8px;\n --eg-space-75: 12px;\n --eg-space-100: 16px;\n --eg-space-125: 20px;\n --eg-space-150: 24px;\n --eg-space-200: 32px;\n --eg-space-225: 36px;\n --eg-space-250: 40px;\n --eg-space-300: 48px;\n --eg-border-radius-none: 0px;\n --eg-border-radius-xs: 4px;\n --eg-border-radius-s: 6px;\n --eg-border-weight-m: 2px;\n --eg-border-weight-l: 3px;\n --eg-icon-size-s: 16px;\n --eg-icon-size-m: 20px;\n --eg-icon-size-l: 24px;\n --eg-grid-content-max-width-l: 1280px;\n --eg-grid-content-max-width-xl: 1280px;\n --eg-grid-breakpoint-s-max: 599px;\n --eg-grid-breakpoint-m-max: 839px;\n --eg-grid-breakpoint-xl-min: 1280px;\n --eg-grid-columns-s: 4;\n --eg-grid-columns-m: 8;\n --eg-grid-columns-l: 12;\n --eg-grid-columns-xl: 12;\n --eg-font-family-base: 'Noto Sans';\n --eg-font-size-625: 10px;\n --eg-font-size-750: 12px;\n --eg-font-size-875: 14px;\n --eg-font-size-1000: 16px;\n --eg-font-size-1125: 18px;\n --eg-font-line-height-0: 12px;\n --eg-font-line-height-1: 16px;\n --eg-font-line-height-2: 20px;\n --eg-font-line-height-3: 24px;\n --eg-font-weight-regular: 300;\n --eg-font-weight-semi-bold: 500;\n --eg-font-letter-spacing-none: 0px;\n --eg-color-semantic-surface-default: var(--eg-color-neutral-white);\n --eg-color-semantic-surface-subtle: var(--eg-color-neutral-black-5);\n --eg-color-semantic-surface-disabled: var(--eg-color-neutral-black-5);\n --eg-color-semantic-surface-brand: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-surface-brand-subtle: var(--eg-color-primary-lila-20);\n --eg-color-semantic-surface-brand-strong: var(--eg-color-primary-dark-royal-blue);\n --eg-color-semantic-surface-inverse: var(--eg-color-neutral-black-100);\n --eg-color-semantic-background-default: var(--eg-color-neutral-white);\n --eg-color-semantic-background-overlay: var(--eg-color-neutral-black-100);\n --eg-color-semantic-on-surface-primary: var(--eg-color-neutral-black-100);\n --eg-color-semantic-on-surface-strong: var(--eg-color-neutral-black-80);\n --eg-color-semantic-on-surface-secondary: var(--eg-color-neutral-black-70);\n --eg-color-semantic-on-surface-tertiary: var(--eg-color-neutral-black-50);\n --eg-color-semantic-on-surface-disabled: var(--eg-color-neutral-black-40);\n --eg-color-semantic-on-surface-on-brand: var(--eg-color-neutral-white);\n --eg-color-semantic-on-surface-brand: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-on-surface-on-inverse: var(--eg-color-neutral-white);\n --eg-color-semantic-on-surface-form-label: var(--eg-color-neutral-black-100);\n --eg-color-semantic-on-surface-form-placeholder: var(--eg-color-neutral-black-50);\n --eg-color-semantic-on-surface-form-filled: var(--eg-color-neutral-black-100);\n --eg-color-semantic-border-default: var(--eg-color-neutral-black-30);\n --eg-color-semantic-border-subtle: var(--eg-color-neutral-black-20);\n --eg-color-semantic-border-strong: var(--eg-color-neutral-black-100);\n --eg-color-semantic-border-brand: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-border-form-default: var(--eg-color-neutral-black-60);\n --eg-color-semantic-border-state-hover: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-border-state-focus: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-border-state-active: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-border-state-error: var(--eg-color-primary-dark-red);\n --eg-color-semantic-border-state-disabled: var(--eg-color-neutral-black-20);\n --eg-color-semantic-focus-ring: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-status-error: var(--eg-color-status-error);\n --eg-color-semantic-status-success: var(--eg-color-status-success);\n --eg-color-semantic-status-warning: var(--eg-color-status-warning);\n --eg-color-semantic-status-info: var(--eg-color-status-info);\n --eg-color-semantic-status-text-error: var(--eg-color-primary-dark-red);\n --eg-color-semantic-action-primary-surface: var(--eg-color-primary-royal-blue);\n --eg-color-semantic-action-primary-surface-hover: var(--eg-color-primary-lila-20);\n --eg-color-semantic-action-primary-on: var(--eg-color-neutral-white);\n --eg-color-semantic-action-secondary-surface-hover: var(--eg-color-primary-lila);\n --eg-color-semantic-action-critical-surface: var(--eg-color-primary-dark-red);\n --eg-color-semantic-action-critical-on: var(--eg-color-neutral-white);\n --eg-color-semantic-action-disabled-surface: var(--eg-color-neutral-black-50);\n --eg-color-semantic-action-disabled-surface-subtle: var(--eg-color-neutral-black-20);\n --eg-color-semantic-action-disabled-on: var(--eg-color-neutral-black-20);\n --eg-color-semantic-action-disabled-on-subtle: var(--eg-color-neutral-black-50);\n --eg-space-semantic-field-padding-inline-start: var(--eg-space-100);\n --eg-space-semantic-field-padding-inline-end: var(--eg-space-50);\n --eg-space-semantic-field-gap: var(--eg-space-50);\n --eg-space-semantic-field-label-gap: var(--eg-space-25);\n --eg-space-semantic-field-label-zone: var(--eg-space-150);\n --eg-space-semantic-field-text-zone: var(--eg-space-250);\n --eg-border-semantic-width-default: var(--eg-border-weight-m);\n --eg-border-semantic-width-active: var(--eg-border-weight-l);\n --eg-border-semantic-width-focus: var(--eg-border-weight-m);\n --eg-grid-margin-s: var(--eg-space-100);\n --eg-grid-margin-m: var(--eg-space-125);\n --eg-grid-margin-l: var(--eg-space-150);\n --eg-grid-margin-xl: var(--eg-space-150);\n --eg-grid-gutter-s: var(--eg-space-100);\n --eg-grid-gutter-m: var(--eg-space-125);\n --eg-grid-gutter-l: var(--eg-space-150);\n --eg-grid-gutter-xl: var(--eg-space-150);\n --eg-radius-semantic-field: var(--eg-border-radius-s);\n --eg-radius-semantic-button: var(--eg-border-radius-s);\n --eg-size-semantic-field-message-zone: var(--eg-space-225);\n --eg-size-semantic-field-height-l: var(--eg-space-300);\n --eg-size-semantic-field-height-m: var(--eg-space-250);\n --eg-size-semantic-field-height-s: var(--eg-space-225);\n}\n",".eg-button {\n /* Per-variant stroke colour; the stroke itself is drawn as an inset shadow\n (see box-shadow below) so it never grows the box. */\n --eg-button-border-color: transparent;\n\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n gap: var(--eg-space-75);\n /* Horizontal padding is constant across sizes; vertical padding + font come\n from the size modifiers below. */\n padding-inline: var(--eg-space-125);\n border: none;\n /* Stroke drawn INSIDE the box, mirroring Figma's inside-aligned stroke, so\n the 2px border does not add to the height (a real `border` would add 4px).\n Size L = 24px line + 2×12px padding = exactly 48px. */\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-button-border-color);\n border-radius: var(--eg-border-radius-xs);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n outline: none;\n user-select: none;\n transition:\n background-color 150ms ease,\n box-shadow 150ms ease,\n color 150ms ease;\n}\n\n/* Figma \"Focussed\" state: a 2px ring just outside the button. The button keeps\n its 4px (radius-xs) corners; outline + 2px offset renders the ring at the\n larger 6px (radius-s) radius automatically. Mapped to keyboard focus. */\n.eg-button:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n.eg-button:disabled,\n.eg-button[data-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Sizes (from the Figma _M_Button master). Horizontal padding is shared; each\n size sets its vertical padding + type. Heights: L 48px, M 40px, S 36px. */\n.eg-button--size-l {\n padding-block: var(--eg-space-75);\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-button--size-m {\n padding-block: var(--eg-space-50);\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-button--size-s {\n padding-block: var(--eg-space-50);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* Icon sizes — square: uniform padding fills the remaining space around the 20px icon.\n Heights match their regular counterparts: L=48px, M=40px, S=36px.\n Both padding-inline and padding-block are set explicitly so the logical property\n from the base rule (padding-inline) is overridden by the same property, not by a\n physical shorthand, which avoids cascade ambiguity between logical and physical props. */\n.eg-button--size-icon-l { padding-block: 14px; padding-inline: 14px; line-height: 0; } /* (48 − 20) / 2 */\n.eg-button--size-icon-m { padding-block: 10px; padding-inline: 10px; line-height: 0; } /* (40 − 20) / 2 */\n.eg-button--size-icon-s { padding-block: 8px; padding-inline: 8px; line-height: 0; } /* (36 − 20) / 2 */\n\n/* Icons sit in a fixed 20px slot (Figma's icon frame) so the button width\n stays constant. The glyph renders at 16px (scale 0.8) and grows to fill the\n 20px slot on hover/focus — transform keeps it layout-shift free. */\n.eg-button svg {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n.eg-button:hover svg,\n.eg-button:focus-visible svg {\n transform: scale(1);\n}\n\n/* Primary */\n.eg-button--primary {\n background-color: var(--eg-color-primary-royal-blue);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-neutral-white);\n}\n.eg-button--primary:hover,\n.eg-button--primary:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--primary:disabled,\n.eg-button--primary[data-disabled] {\n background-color: var(--eg-color-neutral-black-50);\n --eg-button-border-color: var(--eg-color-neutral-black-50);\n color: var(--eg-color-neutral-black-20);\n}\n\n/* Secondary */\n.eg-button--secondary {\n background-color: var(--eg-color-neutral-white);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--secondary:hover,\n.eg-button--secondary:focus-visible {\n background-color: var(--eg-color-primary-lila);\n --eg-button-border-color: var(--eg-color-primary-royal-blue);\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--secondary:disabled,\n.eg-button--secondary[data-disabled] {\n background-color: var(--eg-color-neutral-black-20);\n --eg-button-border-color: var(--eg-color-neutral-black-50);\n color: var(--eg-color-neutral-black-50);\n}\n\n/* Critical */\n.eg-button--critical {\n background-color: var(--eg-color-primary-dark-red);\n --eg-button-border-color: var(--eg-color-primary-dark-red);\n color: var(--eg-color-neutral-white);\n}\n.eg-button--critical:hover,\n.eg-button--critical:focus-visible {\n background-color: var(--eg-color-neutral-white);\n --eg-button-border-color: var(--eg-color-primary-dark-red);\n color: var(--eg-color-primary-dark-red);\n}\n.eg-button--critical:focus-visible {\n outline-color: var(--eg-color-primary-dark-red);\n}\n.eg-button--critical:disabled,\n.eg-button--critical[data-disabled] {\n background-color: var(--eg-color-neutral-black-50);\n --eg-button-border-color: var(--eg-color-neutral-black-50);\n color: var(--eg-color-neutral-black-20);\n}\n\n/* Tertiary (no fill, no stroke) */\n.eg-button--tertiary {\n background-color: transparent;\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-button--tertiary:hover,\n.eg-button--tertiary:focus-visible {\n color: var(--eg-color-primary-royal-blue);\n text-decoration: underline;\n}\n.eg-button--tertiary:disabled,\n.eg-button--tertiary[data-disabled] {\n color: var(--eg-color-neutral-black-50);\n text-decoration: none;\n}\n","/* Shared icon styling. Color is inherited via `currentColor` (set `color` on\n the icon or any ancestor — e.g. through the consumer's `className`). Size is\n driven by the design-tokens `icon.size` scale (--eg-icon-size-*). */\n.eg-icon {\n display: inline-block;\n flex-shrink: 0;\n fill: currentColor;\n vertical-align: middle;\n}\n\n.eg-icon--size-s {\n width: var(--eg-icon-size-s);\n height: var(--eg-icon-size-s);\n}\n.eg-icon--size-m {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n}\n.eg-icon--size-l {\n width: var(--eg-icon-size-l);\n height: var(--eg-icon-size-l);\n}\n","/* ============================================================\n Dropdown (Base UI Combobox)\n\n Part map (Figma → CSS class):\n _M_DropdownTrigger → .eg-dropdown-trigger (Combobox.InputGroup)\n _M_DropdownItem → .eg-dropdown-item (Combobox.Item)\n _M_Droplist → .eg-droplist (Combobox.Popup)\n _C_Dropdown states → pseudo-classes + data-attributes below\n ============================================================ */\n\n/* ---- Label ---------------------------------------------------------- */\n\n.eg-dropdown-label {\n display: block;\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-750);\n line-height: var(--eg-font-line-height-1);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-dropdown-label[data-disabled] {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ---- Helper text ----------------------------------------------------- */\n\n.eg-dropdown-helper-text {\n display: block;\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* ---- Trigger / InputGroup ------------------------------------------- */\n\n.eg-dropdown-trigger {\n /* Per-state border colour and weight; drawn as inset shadow so the\n border never adds to the measured height (Figma strokes are inside). */\n --eg-dropdown-border-color: var(--eg-color-neutral-black-30);\n --eg-dropdown-border-weight: var(--eg-border-weight-m);\n\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--eg-space-50);\n background: var(--eg-color-neutral-white);\n border: none;\n box-shadow: inset 0 0 0 var(--eg-dropdown-border-weight)\n var(--eg-dropdown-border-color);\n border-radius: var(--eg-border-radius-xs);\n box-sizing: border-box;\n cursor: text;\n transition:\n box-shadow 150ms ease,\n outline-color 150ms ease;\n outline: none;\n}\n\n/* State=Hover: blue border */\n.eg-dropdown-trigger:hover {\n --eg-dropdown-border-color: var(--eg-color-primary-royal-blue);\n}\n\n/* State=Focussed: blue border + outer ring (keyboard focus only, no ring\n when popup is already open since the list provides visual feedback). */\n.eg-dropdown-trigger:has(.eg-dropdown-input:focus-visible):not(\n [data-popup-open]\n ) {\n --eg-dropdown-border-color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 3px;\n}\n\n/* State=Active (popup open): thicker blue border, no ring */\n.eg-dropdown-trigger[data-popup-open] {\n --eg-dropdown-border-weight: var(--eg-border-weight-l);\n --eg-dropdown-border-color: var(--eg-color-primary-royal-blue);\n}\n\n/* State=Error */\n.eg-dropdown-trigger[data-invalid] {\n --eg-dropdown-border-color: var(--eg-color-primary-dark-red);\n}\n\n/* State=Disabled */\n.eg-dropdown-trigger[data-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Sizes from _M_DropdownTrigger (heights: L=52px / M=40px / S=32px).\n padding-inline is symmetric so the caret aligns with item checkmarks. */\n.eg-dropdown-trigger--size-l {\n height: 52px;\n padding-inline: var(--eg-space-100);\n}\n.eg-dropdown-trigger--size-m {\n height: 40px;\n padding-inline: var(--eg-space-75);\n}\n.eg-dropdown-trigger--size-s {\n height: 32px;\n padding-inline: var(--eg-space-75);\n}\n\n/* Any icon from the icon library placed directly inside the trigger acts as\n the leading icon — no wrapper component needed. */\n.eg-dropdown-trigger > .eg-icon {\n flex-shrink: 0;\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-dropdown-trigger[data-disabled] > .eg-icon {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ---- Input (Combobox.Input) ----------------------------------------- */\n\n.eg-dropdown-input {\n flex: 1 0 0;\n min-width: 0;\n height: 100%;\n padding: 0 var(--eg-space-25);\n background: transparent;\n border: none;\n outline: none;\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-100);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.eg-dropdown-input::placeholder {\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-dropdown-trigger[data-disabled] .eg-dropdown-input {\n color: var(--eg-color-neutral-black-30);\n}\n.eg-dropdown-trigger[data-disabled] .eg-dropdown-input::placeholder {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* Font per size (inherited from parent .eg-dropdown-trigger--size-*) */\n.eg-dropdown-trigger--size-l .eg-dropdown-input {\n font-size: var(--eg-font-size-1125);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-dropdown-trigger--size-m .eg-dropdown-input {\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n.eg-dropdown-trigger--size-s .eg-dropdown-input {\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* ---- Toggle button (Combobox.Trigger — caret) ----------------------- */\n\n.eg-dropdown-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: var(--eg-color-neutral-black-100);\n transition: transform 150ms ease;\n}\n\n.eg-dropdown-trigger[data-disabled] .eg-dropdown-toggle {\n color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n}\n\n/* Rotate caret when popup is open */\n.eg-dropdown-trigger[data-popup-open] .eg-dropdown-toggle {\n transform: rotate(180deg);\n}\n\n/* ---- Popup / Droplist ----------------------------------------------- */\n\n.eg-droplist {\n background: var(--eg-color-neutral-white);\n /* Real border (not inset box-shadow) — the popup is a floating element\n so the 2px border does not affect any height constraint. Items fill\n the full content width and their border-radius clips cleanly against\n the popup's own border-radius + overflow:hidden. */\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-20);\n box-shadow: 0px 3px 40px -8px rgba(0, 0, 0, 0.2);\n border-radius: var(--eg-border-radius-s);\n /* Match trigger width exactly; Base UI Positioner provides --anchor-width */\n width: var(--anchor-width);\n min-width: var(--eg-droplist-min-width, 200px);\n padding-block: var(--eg-space-50);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.eg-droplist__list {\n display: flex;\n flex-direction: column;\n outline: none;\n}\n\n/* ---- Group label (Caption) ------------------------------------------ */\n\n.eg-dropdown-group-label {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75);\n padding: var(--eg-space-75) var(--eg-space-100);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n user-select: none;\n}\n\n/* ---- Item (Combobox.Item) ------------------------------------------- */\n\n.eg-dropdown-item {\n --eg-dropdown-item-bg: var(--eg-color-neutral-white);\n --eg-dropdown-item-color: var(--eg-color-neutral-black-60);\n\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--eg-space-75);\n padding: var(--eg-space-75) var(--eg-space-100);\n border-radius: var(--eg-border-radius-s);\n background: var(--eg-dropdown-item-bg);\n color: var(--eg-dropdown-item-color);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n cursor: pointer;\n outline: none;\n user-select: none;\n transition:\n background-color 100ms ease,\n color 100ms ease;\n}\n\n/* State=Hover / State=Focussed (keyboard-highlighted) */\n.eg-dropdown-item[data-highlighted] {\n --eg-dropdown-item-bg: var(--eg-color-primary-lila-20);\n --eg-dropdown-item-color: var(--eg-color-neutral-black-100);\n}\n\n/* Focus ring for keyboard navigation (Figma State=Focussed) */\n.eg-dropdown-item:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: -1px;\n}\n\n/* State=Selected: Royal Blue text */\n.eg-dropdown-item[data-selected] {\n --eg-dropdown-item-color: var(--eg-color-primary-royal-blue);\n --eg-dropdown-item-bg: var(--eg-color-neutral-white);\n}\n\n/* Selected + highlighted: keep Royal Blue text and restore Lila bg */\n.eg-dropdown-item[data-selected][data-highlighted] {\n --eg-dropdown-item-bg: var(--eg-color-primary-lila-20);\n --eg-dropdown-item-color: var(--eg-color-primary-royal-blue);\n}\n\n/* Disabled */\n.eg-dropdown-item[data-disabled] {\n --eg-dropdown-item-color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Any icon from the icon library placed directly inside an item acts as the\n leading icon — no wrapper component needed. */\n.eg-dropdown-item > .eg-icon {\n flex-shrink: 0;\n}\n\n/* Item text */\n.eg-dropdown-item__text {\n flex: 1 0 0;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Item indicator (checkmark, only visible when selected) */\n.eg-dropdown-item__indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-left: auto;\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* ---- Empty state -------------------------------------------------------- */\n\n/* Combobox.Empty's root <div> always stays in the DOM (screen reader live\n region). Collapse padding when it has no children so it takes no visual\n space while items are visible. */\n.eg-dropdown-empty:empty {\n padding: 0;\n}\n\n.eg-dropdown-empty {\n padding: var(--eg-space-75) var(--eg-space-100);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n color: var(--eg-color-neutral-black-60);\n text-align: center;\n}\n\n/* ---- Separator ---------------------------------------------------------- */\n\n.eg-dropdown-separator {\n height: 1px;\n margin: var(--eg-space-25) 0;\n background: var(--eg-color-neutral-black-20);\n}\n\n/* ---- Item checkbox (multi-select leading indicator) -------------------- */\n\n.eg-dropdown-item__checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n color: var(--eg-color-neutral-black-60);\n}\n\n/* Default state: unchecked icon visible, checked icon hidden.\n Scoped under .eg-dropdown-item for specificity 0-2-0, beating\n .eg-icon { display: inline-block } (0-1-0) regardless of load order. */\n.eg-dropdown-item .eg-dropdown-item__checkbox-icon--checked {\n display: none;\n}\n.eg-dropdown-item .eg-dropdown-item__checkbox-icon--unchecked {\n display: inline-block;\n}\n\n/* Selected state: swap icons and use Royal Blue (specificity 0-2-1) */\n.eg-dropdown-item[data-selected] .eg-dropdown-item__checkbox-icon--checked {\n display: flex;\n color: var(--eg-color-primary-royal-blue);\n}\n.eg-dropdown-item[data-selected] .eg-dropdown-item__checkbox-icon--unchecked {\n display: none;\n}\n\n/* ---- Chips trigger (multi-select container) ---------------------------- */\n\n.eg-dropdown-chips-trigger {\n flex-wrap: nowrap;\n align-items: center;\n cursor: default;\n}\n\n/* ---- Chips list (chips + overflow, clips to available width) ----------- */\n\n.eg-dropdown-chips-list {\n display: flex;\n flex-wrap: nowrap;\n gap: var(--eg-space-25);\n align-items: center;\n overflow: hidden;\n flex: 0 1 auto;\n min-width: 0;\n}\n\n/* ---- Chip pill --------------------------------------------------------- */\n\n/* Base chip styles scoped under .eg-dropdown-chips-trigger for specificity\n 0-2-0, beating any conflicting single-class rules regardless of load order. */\n.eg-dropdown-chips-trigger .eg-dropdown-chip {\n --eg-chip-border-color: var(--eg-color-neutral-black-30);\n --eg-chip-bg: transparent;\n --eg-chip-color: var(--eg-color-neutral-black-60);\n --eg-chip-remove-hover-bg: var(--eg-color-neutral-black-20);\n\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-25);\n padding: 2px var(--eg-space-75);\n border: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-chip-border-color);\n border-radius: 9999px;\n background: var(--eg-chip-bg);\n color: var(--eg-chip-color);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n font-weight: var(--eg-font-weight-regular);\n user-select: none;\n flex-shrink: 0;\n white-space: nowrap;\n transition:\n box-shadow 150ms ease,\n background-color 150ms ease,\n color 150ms ease;\n}\n\n/* Trigger hover / keyboard-focus / popup-open → Royal Blue chips */\n.eg-dropdown-trigger:hover .eg-dropdown-chip,\n.eg-dropdown-trigger:has(.eg-dropdown-input:focus-visible) .eg-dropdown-chip,\n.eg-dropdown-trigger[data-popup-open] .eg-dropdown-chip {\n --eg-chip-border-color: var(--eg-color-primary-royal-blue);\n --eg-chip-bg: var(--eg-color-primary-lila-20);\n --eg-chip-color: var(--eg-color-primary-royal-blue);\n --eg-chip-remove-hover-bg: var(--eg-color-primary-lila);\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip__label {\n white-space: nowrap;\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip__remove {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: inherit;\n flex-shrink: 0;\n border-radius: 2px;\n}\n\n.eg-dropdown-chips-trigger .eg-dropdown-chip__remove:hover {\n background: var(--eg-chip-remove-hover-bg);\n}\n\n.eg-dropdown-chips-trigger\n .eg-dropdown-chip[data-disabled]\n .eg-dropdown-chip__remove {\n pointer-events: none;\n}\n\n/* ---- Chip sizes — placed AFTER base chip block so same-specificity (0-2-0)\n cascade overrides the font/padding defaults above. ---- */\n\n/* S: base styles apply (font-size-875, line-height-2, 2px block padding) */\n\n.eg-dropdown-trigger--size-m .eg-dropdown-chip {\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n padding-block: var(--eg-space-25);\n}\n\n.eg-dropdown-trigger--size-l .eg-dropdown-chip {\n font-size: var(--eg-font-size-1125);\n line-height: var(--eg-font-line-height-3);\n padding-block: var(--eg-space-50);\n}\n\n/* ---- Chips overflow badge (\"+ N more\") — plain text, no border --------- */\n\n.eg-dropdown-chips-overflow {\n flex-shrink: 0;\n white-space: nowrap;\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n color: var(--eg-color-neutral-black-60);\n user-select: none;\n cursor: default;\n}\n","/* Per-variant text/outline colour, toggled by variant modifiers and disabled state. */\n.eg-text-link {\n --eg-text-link-color: var(--eg-color-primary-royal-blue);\n --eg-text-link-outline-color: var(--eg-color-primary-royal-blue);\n\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-50);\n\n /* Invisible border-radius so the focus outline renders at ~6px (4px + 2px offset). */\n border-radius: var(--eg-border-radius-xs);\n\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n\n color: var(--eg-text-link-color);\n text-decoration: underline;\n text-underline-position: from-font;\n\n cursor: pointer;\n outline: none;\n white-space: nowrap;\n transition: color 150ms ease;\n}\n\n/* Hover + Focus: remove underline */\n.eg-text-link:hover,\n.eg-text-link:focus-visible {\n text-decoration: none;\n}\n\n/* Figma \"Focussed\": 2px ring just outside the link, rendered at border-radius-s */\n.eg-text-link:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-text-link-outline-color);\n outline-offset: 2px;\n}\n\n.eg-text-link[aria-disabled=\"true\"] {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Icons sit in a fixed 20px slot; glyph renders at 16px (scale 0.8) and\n grows to fill the slot on hover/focus — transform keeps it layout-shift free. */\n.eg-text-link svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-text-link:hover svg,\n.eg-text-link:focus-visible svg {\n transform: scale(1);\n}\n\n/* Sizes (from _M_TextLink: L 24px height, S 20px height) */\n.eg-text-link--size-l {\n font-size: var(--eg-font-size-1000);\n line-height: var(--eg-font-line-height-3);\n}\n\n.eg-text-link--size-s {\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* Each variant sets both the active colour and its disabled fallback.\n A single shared rule swaps to the disabled colour — no per-variant override needed. */\n.eg-text-link[aria-disabled=\"true\"] {\n --eg-text-link-color: var(--eg-text-link-color-disabled);\n}\n\n/* Primary */\n.eg-text-link--primary {\n --eg-text-link-color: var(--eg-color-primary-royal-blue);\n --eg-text-link-color-disabled: var(--eg-color-neutral-black-50);\n}\n\n/* Secondary */\n.eg-text-link--secondary {\n --eg-text-link-color: var(--eg-color-neutral-black-80);\n --eg-text-link-color-disabled: var(--eg-color-neutral-black-30);\n}\n\n/* Inverse (Figma \"On Dark\" type, for dark backgrounds e.g. the footer) */\n.eg-text-link--inverse {\n --eg-text-link-color: var(--eg-color-neutral-white);\n --eg-text-link-color-disabled: var(--eg-color-neutral-black-50);\n --eg-text-link-outline-color: var(--eg-color-neutral-white);\n}\n","/* ─── Container ───────────────────────────────────────────────────────────── */\n.eg-grid {\n display: grid;\n grid-template-columns: repeat(var(--eg-grid-columns-s), 1fr);\n column-gap: var(--eg-grid-gutter-s);\n padding-inline: var(--eg-grid-margin-s);\n}\n\n/* Media queries can't read custom properties, so the breakpoint px values\n below must stay in sync with --eg-grid-breakpoint-s-max (599) / -xl-min (1280). */\n@media (min-width: 600px) {\n .eg-grid {\n grid-template-columns: repeat(var(--eg-grid-columns-m), 1fr);\n column-gap: var(--eg-grid-gutter-m);\n padding-inline: var(--eg-grid-margin-m);\n max-width: var(--eg-grid-breakpoint-m-max);\n margin-inline: auto;\n }\n}\n\n@media (min-width: 1280px) {\n .eg-grid {\n grid-template-columns: repeat(var(--eg-grid-columns-xl), 1fr);\n column-gap: var(--eg-grid-gutter-xl);\n padding-inline: var(--eg-grid-margin-xl);\n max-width: var(--eg-grid-breakpoint-xl-min);\n }\n}\n\n/* ─── Item ────────────────────────────────────────────────────────────────── */\n.eg-grid__item {\n min-width: 0;\n}\n\n/* Mobile: 4 columns */\n.eg-grid__item--span-1 {\n grid-column: span 1;\n}\n.eg-grid__item--span-2 {\n grid-column: span 2;\n}\n.eg-grid__item--span-3 {\n grid-column: span 3;\n}\n.eg-grid__item--span-4 {\n grid-column: span 4;\n}\n\n/* Tablet: 8 columns */\n@media (min-width: 600px) {\n .eg-grid__item--span-tablet-1 {\n grid-column: span 1;\n }\n .eg-grid__item--span-tablet-2 {\n grid-column: span 2;\n }\n .eg-grid__item--span-tablet-3 {\n grid-column: span 3;\n }\n .eg-grid__item--span-tablet-4 {\n grid-column: span 4;\n }\n .eg-grid__item--span-tablet-5 {\n grid-column: span 5;\n }\n .eg-grid__item--span-tablet-6 {\n grid-column: span 6;\n }\n .eg-grid__item--span-tablet-7 {\n grid-column: span 7;\n }\n .eg-grid__item--span-tablet-8 {\n grid-column: span 8;\n }\n}\n\n/* Desktop: 12 columns */\n@media (min-width: 1280px) {\n .eg-grid__item--span-desktop-1 {\n grid-column: span 1;\n }\n .eg-grid__item--span-desktop-2 {\n grid-column: span 2;\n }\n .eg-grid__item--span-desktop-3 {\n grid-column: span 3;\n }\n .eg-grid__item--span-desktop-4 {\n grid-column: span 4;\n }\n .eg-grid__item--span-desktop-5 {\n grid-column: span 5;\n }\n .eg-grid__item--span-desktop-6 {\n grid-column: span 6;\n }\n .eg-grid__item--span-desktop-7 {\n grid-column: span 7;\n }\n .eg-grid__item--span-desktop-8 {\n grid-column: span 8;\n }\n .eg-grid__item--span-desktop-9 {\n grid-column: span 9;\n }\n .eg-grid__item--span-desktop-10 {\n grid-column: span 10;\n }\n .eg-grid__item--span-desktop-11 {\n grid-column: span 11;\n }\n .eg-grid__item--span-desktop-12 {\n grid-column: span 12;\n }\n}\n","/* Shared logo styling. Height is set inline via the `height` prop on BrandBase;\n width scales automatically from the viewBox aspect ratio. */\n.eg-logo {\n display: inline-block;\n flex-shrink: 0;\n width: auto;\n}\n",".eg-footer__top {\n background: var(--eg-color-primary-dark-royal-blue);\n}\n\n/* pt-64/pb-48/min-height-406 come straight from the Figma frame; there is no\n matching space token for them, so they stay literal. min-height keeps the\n default (desktop) footer pixel-matched while still growing for longer\n translated link labels. */\n.eg-footer__band {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: var(--eg-space-150);\n min-height: 406px;\n padding-block: 64px 48px;\n}\n\n/* TextLink renders with `white-space: nowrap`, so below the 1280px desktop\n width these columns wrap onto their own rows instead of shrinking past\n their content width and overlapping their neighbours. */\n.eg-footer__columns {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--eg-space-150);\n width: 100%;\n}\n\n/* No explicit min-width: the default `auto` resolves to each column's\n content-based minimum, which — thanks to TextLink's `white-space: nowrap`\n — already equals its widest link's full width. A fixed min-width smaller\n than that would let long labels overflow past the column instead of\n the row wrapping. */\n.eg-footer__column,\n.eg-footer__brand-column {\n display: flex;\n flex: 1 1 200px;\n}\n\n.eg-footer__column {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--eg-space-150);\n}\n\n.eg-footer__brand-column {\n justify-content: flex-end;\n}\n\n.eg-footer__social-links {\n display: flex;\n align-items: center;\n gap: var(--eg-space-100);\n color: var(--eg-color-neutral-white);\n}\n\n.eg-footer__social-links a {\n display: inline-flex;\n color: inherit;\n outline: none;\n}\n\n.eg-footer__social-links a:focus-visible {\n outline: var(--eg-border-weight-m) solid var(--eg-color-neutral-white);\n outline-offset: 2px;\n border-radius: var(--eg-border-radius-xs);\n}\n\n.eg-footer__legal {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--eg-space-200);\n width: 100%;\n}\n\n.eg-footer__partners {\n background: var(--eg-color-neutral-white);\n}\n\n/* 60px gap is a literal value in the Figma frame too — not bound to a variable. */\n.eg-footer__partners-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 60px;\n min-height: 150px;\n}\n","/* ─── Root wrapper ─────────────────────────────────────────────────────────── */\n.eg-input-field {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: var(--eg-space-50); /* L: 8px between label and frame */\n}\n\n/* M/S close the gap slightly */\n.eg-input-field--size-m,\n.eg-input-field--size-s {\n gap: var(--eg-space-25); /* 4px */\n}\n\n/* ─── Label ─────────────────────────────────────────────────────────────────── */\n.eg-input-field__label {\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n font-size: var(--eg-font-size-750);\n line-height: var(--eg-font-line-height-1);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-input-field[data-disabled] .eg-input-field__label {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ─── Input frame (the styled box) ─────────────────────────────────────────── */\n\n/* Local custom properties for state-driven border; never hardcode values here. */\n.eg-input-field__frame {\n --eg-input-border-color: var(--eg-color-neutral-black-30);\n --eg-input-border-weight: var(--eg-border-weight-m);\n\n display: flex;\n align-items: center;\n gap: var(--eg-space-50);\n padding-inline-start: var(--eg-space-100); /* 16px */\n padding-inline-end: var(--eg-space-50); /* 8px */\n border: none;\n /* Stroke drawn INSIDE the box (inside-aligned like Figma), so it never grows\n the frame height. Drive colour + weight via the local custom props above. */\n box-shadow: inset 0 0 0 var(--eg-input-border-weight) var(--eg-input-border-color);\n border-radius: var(--eg-border-radius-xs);\n background-color: var(--eg-color-neutral-white);\n box-sizing: border-box;\n width: 100%;\n position: relative;\n transition:\n box-shadow 150ms ease,\n outline-color 150ms ease;\n}\n\n/* Hover: blue 2px border when not focused */\n.eg-input-field__frame:hover:not([data-focused]) {\n --eg-input-border-color: var(--eg-color-primary-royal-blue);\n}\n\n/* Focussed: 2px blue border + outer focus ring.\n data-focused is set by the Input component's own onFocus/onBlur handlers\n because Base UI's data-focused requires Field.Root context. */\n.eg-input-field__frame[data-focused] {\n --eg-input-border-color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 3px;\n}\n\n/* Active (focused + filled): thicker 3px border; ring not needed while typing */\n.eg-input-field__frame[data-focused][data-filled] {\n --eg-input-border-weight: var(--eg-border-weight-l);\n outline: none;\n}\n\n/* Error: red 2px border; takes precedence over hover/focus via specificity */\n.eg-input-field--invalid .eg-input-field__frame {\n --eg-input-border-color: var(--eg-color-primary-dark-red);\n --eg-input-border-weight: var(--eg-border-weight-m);\n}\n\n/* Disabled: reset to grey border, remove hover/focus behaviour */\n.eg-input-field[data-disabled] .eg-input-field__frame {\n --eg-input-border-color: var(--eg-color-neutral-black-30);\n --eg-input-border-weight: var(--eg-border-weight-m);\n pointer-events: none;\n}\n\n/* ─── Sizes (from _M_InputField) ────────────────────────────────────────────── */\n/* Heights: L 48px, M 40px, S 36px (padding-block + line-height). */\n\n.eg-input-field--size-l .eg-input-field__frame {\n padding-block: var(--eg-space-75); /* 12px → 12 + 24 + 12 = 48px */\n}\n\n.eg-input-field--size-m .eg-input-field__frame,\n.eg-input-field--size-s .eg-input-field__frame {\n padding-block: var(--eg-space-50); /* 8px → M: 40px, S: 36px */\n}\n\n/* ─── Native <input> element ─────────────────────────────────────────────────── */\n.eg-input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n padding: 0 var(--eg-space-25); /* 4px either side of the text */\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-100);\n appearance: none;\n}\n\n.eg-input::placeholder {\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-input:disabled {\n color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n}\n\n/* Per-size font */\n.eg-input-field--size-l .eg-input {\n font-size: var(--eg-font-size-1125); /* 18px */\n line-height: var(--eg-font-line-height-3); /* 24px */\n}\n\n.eg-input-field--size-m .eg-input {\n font-size: var(--eg-font-size-1000); /* 16px */\n line-height: var(--eg-font-line-height-3); /* 24px */\n}\n\n.eg-input-field--size-s .eg-input {\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n}\n\n/* ─── Icon slots ─────────────────────────────────────────────────────────────── */\n\n/* Fixed 20px slot; icon glyph sits at 16px per Figma leading/trailing frames. */\n.eg-input-field__leading,\n.eg-input-field__trailing {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n}\n\n.eg-input-field__leading svg,\n.eg-input-field__trailing svg {\n width: var(--eg-icon-size-s); /* 16px */\n height: var(--eg-icon-size-s);\n flex-shrink: 0;\n color: var(--eg-color-neutral-black-100);\n}\n\n/* Error icon fills the full 20px slot */\n.eg-input-field--invalid .eg-input-field__trailing svg {\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m);\n color: var(--eg-color-primary-dark-red);\n}\n\n/* Disabled: grey icons */\n.eg-input-field[data-disabled] .eg-input-field__leading svg,\n.eg-input-field[data-disabled] .eg-input-field__trailing svg {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ─── Helper text ────────────────────────────────────────────────────────────── */\n.eg-input-field__helper {\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-input-field--invalid .eg-input-field__helper {\n color: var(--eg-color-primary-dark-red);\n}\n\n.eg-input-field[data-disabled] .eg-input-field__helper {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* Per-size helper text typography */\n.eg-input-field--size-l .eg-input-field__helper {\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n}\n\n.eg-input-field--size-m .eg-input-field__helper,\n.eg-input-field--size-s .eg-input-field__helper {\n font-size: var(--eg-font-size-750); /* 12px */\n line-height: var(--eg-font-line-height-1); /* 16px */\n}\n","/* ============================================================\n NavigationMenu — maps to Figma HeaderNav\n\n Three visual parts:\n .eg-nav-menu__trigger → _M_HeaderNavItem (top-level nav button)\n .eg-nav-menu__popup → _M_HeaderNavList (dropdown panel)\n .eg-nav-menu__link → _M_HeaderNavListItem (popup list item)\n ============================================================ */\n\n/* ── Root nav wrapper ─────────────────────────────────────── */\n.eg-nav-menu {\n position: relative;\n}\n\n/* ── Horizontal list ──────────────────────────────────────── */\n.eg-nav-menu__list {\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n /* Padding creates room for the 2px outline + 2px offset so focus rings\n aren't clipped by parent containers with overflow:hidden (e.g. the\n playground preview pane). */\n padding: 4px 4px;\n gap: var(--eg-space-50);\n}\n\n/* ── Nav item (li) ────────────────────────────────────────── */\n.eg-nav-menu__item {\n position: relative;\n}\n\n/* ── Trigger (_M_HeaderNavItem) ───────────────────────────── */\n/*\n Figma dimensions: 149 × 36 px\n Layout: flex, items-center, gap 8px, padding 0 12px, radius 4px\n Height 36 = 20px line-height + 2 × 8px padding-block\n No border variant — no box-shadow needed.\n*/\n.eg-nav-menu__trigger {\n /* Height = label's padding-block (8px each) + line-height (20px) = 36px.\n The trigger itself has no padding-block; height is driven by the label. */\n appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-50); /* 8px */\n padding-block: 0;\n padding-inline: var(--eg-space-75); /* 12px */\n border: none;\n border-radius: var(--eg-border-radius-xs); /* 4px */\n box-sizing: border-box;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular); /* 300 Light */\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n user-select: none;\n position: relative;\n transition:\n background-color 150ms ease,\n color 150ms ease;\n}\n\n/* Hover */\n.eg-nav-menu__trigger:hover {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* Keyboard focus */\n.eg-nav-menu__trigger:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* Active (popup is open) — Base UI sets [data-popup-open] */\n.eg-nav-menu__trigger[data-popup-open] {\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* Active + hover */\n.eg-nav-menu__trigger[data-popup-open]:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Active + focus */\n.eg-nav-menu__trigger[data-popup-open]:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* Disabled */\n.eg-nav-menu__trigger:disabled,\n.eg-nav-menu__trigger[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ── Anchor: top-level nav link (no dropdown, renders as <a>) ─ */\n/* Shares all trigger styles; adds text-decoration reset and a hover\n underline to signal it's a direct link (no dropdown). */\n.eg-nav-menu__anchor {\n text-decoration: none;\n}\n\n.eg-nav-menu__anchor:hover .eg-nav-menu__trigger-label,\n.eg-nav-menu__anchor:focus-visible .eg-nav-menu__trigger-label {\n box-shadow: inset 0 -2px 0 var(--eg-color-primary-royal-blue);\n}\n\n/* ── Trigger label (for bottom-border on active) ──────────── */\n/*\n Label padding-block drives the trigger's height: 8px + 20px + 8px = 36px.\n Active underline uses box-shadow (not border-bottom) so it never adds to\n the box height, keeping the trigger pixel-exact to Figma.\n*/\n.eg-nav-menu__trigger-label {\n display: inline-flex;\n align-items: center;\n padding-block: var(--eg-space-50); /* 8px — drives 36px trigger height */\n}\n\n/* Active: label underline via box-shadow (layout-neutral) */\n.eg-nav-menu__trigger[data-popup-open] .eg-nav-menu__trigger-label {\n box-shadow: inset 0 -2px 0 var(--eg-color-primary-royal-blue);\n}\n\n/* ── Icon slots (leading + trailing) ──────────────────────── */\n/*\n Figma wraps icons in a fixed 20px frame (icon.size.m) containing a 16px glyph.\n Scale trick: render at full 20px, use scale(0.8) so the glyph is 16px at rest,\n grows to 20px on hover/focus — no layout shift.\n*/\n.eg-nav-menu__trigger-icon,\n.eg-nav-menu__trigger-chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.eg-nav-menu__trigger-icon {\n position: relative;\n}\n\n.eg-nav-menu__trigger-icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-nav-menu__trigger:hover .eg-nav-menu__trigger-icon svg,\n.eg-nav-menu__trigger:focus-visible .eg-nav-menu__trigger-icon svg {\n transform: scale(1);\n}\n\n/* Trailing chevron rotates 180° when popup is open */\n\n.eg-nav-menu__trigger-chevron svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-nav-menu__trigger[data-popup-open] .eg-nav-menu__trigger-chevron svg {\n transform: scale(0.8) rotate(180deg);\n}\n\n.eg-nav-menu__trigger:hover .eg-nav-menu__trigger-chevron svg,\n.eg-nav-menu__trigger:focus-visible .eg-nav-menu__trigger-chevron svg {\n transform: scale(1) rotate(0deg);\n}\n\n.eg-nav-menu__trigger[data-popup-open]:hover .eg-nav-menu__trigger-chevron svg,\n.eg-nav-menu__trigger[data-popup-open]:focus-visible .eg-nav-menu__trigger-chevron svg {\n transform: scale(1) rotate(180deg);\n}\n\n/* ── Notification badge ───────────────────────────────────── */\n/*\n Absolute: top 2px, left 24px (overlaps the 20px icon slot).\n Figma: bg Dark Red, white text 10px/500, padding 2px, min-width 12px, radius 1000px.\n*/\n.eg-nav-menu__badge {\n /* Figma: 16×16px circle for single digit, pill for multi-digit.\n box-sizing: border-box ensures min-width/height include the 2px padding. */\n position: absolute;\n top: 2px;\n left: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 16px;\n min-height: 16px;\n padding: var(--eg-space-12) calc(var(--eg-space-12) * 2); /* 2px 4px */\n border-radius: 1000px;\n background-color: var(--eg-color-primary-dark-red);\n color: var(--eg-color-neutral-white);\n font-size: var(--eg-font-size-625); /* 10px */\n font-weight: var(--eg-font-weight-semi-bold); /* 500 */\n line-height: var(--eg-font-line-height-0); /* 12px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n text-align: center;\n white-space: nowrap;\n pointer-events: none;\n}\n\n/* ── Positioner (Base UI portal + positioning) ────────────── */\n.eg-nav-menu__positioner {\n z-index: 50;\n}\n\n/* ── Popup panel (_M_HeaderNavList) ───────────────────────── */\n/*\n Figma: bg white, border 1px neutral-black-20, radius 4px,\n padding 8px 0, shadow elevation-small (0 4px 16px -8px rgba(0,0,0,0.12))\n*/\n.eg-nav-menu__popup {\n background-color: var(--eg-color-neutral-white);\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-20);\n border-radius: var(--eg-border-radius-s);\n padding-block: var(--eg-space-50);\n padding-inline: 0;\n box-shadow: 0px 3px 40px -8px rgba(0, 0, 0, 0.2);\n min-width: 180px;\n}\n\n/* ── Viewport (wraps the active Content) ──────────────────── */\n.eg-nav-menu__viewport {\n overflow: hidden;\n}\n\n/* ── Content (per-item panel) ─────────────────────────────── */\n.eg-nav-menu__content {\n display: flex;\n flex-direction: column;\n}\n\n/* ── Link (_M_HeaderNavListItem) ──────────────────────────── */\n/*\n Figma: 197 × 44 px\n Layout: flex, items-center, gap 12px, padding 12px 16px, width 100%\n 44 = 20px line-height + 2 × 12px padding-block\n*/\n.eg-nav-menu__link {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75); /* 12px */\n padding-block: var(--eg-space-75); /* 12px */\n padding-inline: var(--eg-space-100); /* 16px */\n width: 100%;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular); /* 300 Light */\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n text-decoration: none;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n position: relative;\n transition: background-color 150ms ease;\n}\n\n/* Hover */\n.eg-nav-menu__link:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Keyboard focus — inset ring so it stays inside the viewport's overflow:hidden.\n The Figma ring uses border-radius-s (6px); we match that with border-radius\n on the focused state and draw the ring via inset box-shadow. */\n.eg-nav-menu__link:focus-visible {\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* Active (current page) — left border, no bg change */\n.eg-nav-menu__link--active {\n border-left: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n padding-inline-start: calc(var(--eg-space-100) - var(--eg-border-weight-m)); /* keep content aligned */\n}\n\n/* Focused + active */\n.eg-nav-menu__link--active:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m) var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* Hover + active */\n.eg-nav-menu__link--active:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* ── Link icon slots ──────────────────────────────────────── */\n.eg-nav-menu__link-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.eg-nav-menu__link-icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n}\n","/* ============================================================\n Select — nav-bar selection control built on Base UI Select\n\n Designed to sit alongside NavigationMenu items in a header.\n CSS structure mirrors .eg-nav-menu__trigger / .eg-nav-menu__link\n so both components are visually identical when placed side-by-side.\n\n Key structural decision (matches NavigationMenu):\n - .eg-select-trigger has padding-block: 0 — no vertical padding on the button\n - .eg-select-value has padding-block: 8px — the value span drives the 36px height\n - The active underline is drawn on .eg-select-value via box-shadow: inset 0 -2px 0\n This is layout-neutral (no height shift), identical to .eg-nav-menu__trigger-label\n ============================================================ */\n\n/* ---- Label (plain <label>, outside Select.Root) --------------------- */\n\n.eg-select-label {\n display: block;\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-750);\n line-height: var(--eg-font-line-height-1);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-select-label[data-disabled] {\n color: var(--eg-color-neutral-black-30);\n}\n\n/* ---- Helper text ---------------------------------------------------- */\n\n.eg-select-helper-text {\n display: block;\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n font-size: var(--eg-font-size-875);\n line-height: var(--eg-font-line-height-2);\n}\n\n/* ---- Trigger -------------------------------------------------------- */\n/*\n Copied from .eg-nav-menu__trigger.\n padding-block: 0 on the button itself — height is driven by .eg-select-value\n below (8px top + 20px line-height + 8px bottom = 36px), identical to the way\n .eg-nav-menu__trigger-label drives the NavMenu button height.\n*/\n\n.eg-select-trigger {\n appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--eg-space-50); /* 8px */\n padding-block: 0; /* height driven by .eg-select-value */\n padding-inline: var(--eg-space-75); /* 12px */\n border: none;\n box-shadow: none; /* explicit reset of any browser default */\n border-radius: var(--eg-border-radius-xs); /* 4px */\n box-sizing: border-box;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n user-select: none;\n position: relative;\n transition:\n background-color 150ms ease,\n color 150ms ease;\n}\n\n/* State=Hover */\n.eg-select-trigger:hover {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n}\n\n/* State=Focussed (keyboard — identical to .eg-nav-menu__trigger:focus-visible) */\n.eg-select-trigger:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n color: var(--eg-color-primary-royal-blue);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* State=Active (popup open) */\n.eg-select-trigger[data-popup-open] {\n color: var(--eg-color-primary-royal-blue);\n}\n\n.eg-select-trigger[data-popup-open]:hover {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n.eg-select-trigger[data-popup-open]:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n outline-offset: 2px;\n}\n\n/* State=Disabled */\n.eg-select-trigger:disabled,\n.eg-select-trigger[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ---- Value (selected text / placeholder) ---------------------------- */\n/*\n Mirrors .eg-nav-menu__trigger-label:\n - display inline-flex + align-items center drives the trigger's 36px height\n - padding-block: 8px provides the vertical space around the 20px text\n - box-shadow: inset 0 -2px 0 royal-blue draws the active underline at the\n bottom of this span without adding to the layout height\n*/\n\n.eg-select-value {\n display: inline-flex;\n align-items: center;\n padding-block: var(--eg-space-50); /* 8px — drives 36px trigger height */\n}\n\n/* Underline on hover, keyboard focus, and when popup is open —\n matches .eg-nav-menu__trigger[data-popup-open] .eg-nav-menu__trigger-label\n and .eg-nav-menu__anchor:hover .eg-nav-menu__trigger-label */\n.eg-select-trigger:hover .eg-select-value,\n.eg-select-trigger:focus-visible .eg-select-value,\n.eg-select-trigger[data-popup-open] .eg-select-value {\n box-shadow: inset 0 -2px 0 var(--eg-color-primary-royal-blue);\n}\n\n/* Placeholder: dimmer in resting state; inherits active colour on interaction */\n.eg-select-value[data-placeholder] {\n color: var(--eg-color-neutral-black-60);\n}\n\n.eg-select-trigger:hover .eg-select-value[data-placeholder],\n.eg-select-trigger:focus-visible .eg-select-value[data-placeholder],\n.eg-select-trigger[data-popup-open] .eg-select-value[data-placeholder] {\n color: inherit;\n}\n\n/* ---- Leading icon slot ---------------------------------------------- */\n/*\n Fixed 20px slot with scale trick: 16px glyph (scale 0.8) at rest, grows to\n 20px (scale 1) on hover/focus. Mirrors .eg-nav-menu__trigger-icon.\n*/\n\n.eg-select-trigger__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n overflow: hidden;\n position: relative;\n}\n\n.eg-select-trigger__icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n.eg-select-trigger:hover .eg-select-trigger__icon svg,\n.eg-select-trigger:focus-visible .eg-select-trigger__icon svg {\n transform: scale(1);\n}\n\n/* ---- Trailing chevron ----------------------------------------------- */\n/*\n Mirrors .eg-nav-menu__trigger-chevron:\n - 20px slot, scale(0.8) at rest → scale(1) on hover/focus\n - container rotates 180° when popup open (cleaner than stacking rotate + scale on svg)\n*/\n\n.eg-select-trigger__chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n overflow: hidden;\n transition: transform 150ms ease;\n}\n\n.eg-select-trigger__chevron svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n transform: scale(0.8);\n transition: transform 150ms ease;\n}\n\n/* Hover / focus: grow glyph */\n.eg-select-trigger:hover .eg-select-trigger__chevron svg,\n.eg-select-trigger:focus-visible .eg-select-trigger__chevron svg {\n transform: scale(1) rotate(0deg);\n}\n\n/* Open: rotate container */\n.eg-select-trigger[data-popup-open] .eg-select-trigger__chevron {\n transform: rotate(180deg);\n}\n\n/* Open + hover/focus: full-size glyph inside rotated container */\n.eg-select-trigger[data-popup-open]:hover .eg-select-trigger__chevron svg,\n.eg-select-trigger[data-popup-open]:focus-visible .eg-select-trigger__chevron svg {\n transform: scale(1);\n}\n\n/* ---- Popup ---------------------------------------------------------- */\n/*\n Identical to .eg-nav-menu__popup:\n white bg, neutral-black-20 border, 6px radius, elevation shadow.\n Width anchors to --anchor-width (Base UI Positioner).\n*/\n\n.eg-select-popup {\n background: var(--eg-color-neutral-white);\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-20); /* 2px */\n border-radius: var(--eg-border-radius-s); /* 6px */\n padding-block: var(--eg-space-50); /* 8px */\n padding-inline: 0;\n box-shadow: 0px 3px 40px -8px rgba(0, 0, 0, 0.2);\n min-width: var(--anchor-width);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* ---- List ----------------------------------------------------------- */\n\n.eg-select-list {\n display: flex;\n flex-direction: column;\n outline: none;\n}\n\n/* ---- Group label (caption row, not selectable) ---------------------- */\n\n.eg-select-group-label {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75);\n padding: var(--eg-space-75) var(--eg-space-100); /* 12px 16px */\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n font-weight: var(--eg-font-weight-regular);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-60);\n user-select: none;\n}\n\n/* ---- Item ----------------------------------------------------------- */\n/*\n Mirrors .eg-nav-menu__link exactly:\n flex row, gap 12px, padding 12px 16px, full width.\n 44px total: 12px + 20px line-height + 12px = 44px.\n\n Hover → lila-20 background (.eg-nav-menu__link:hover)\n Keyboard focus → inset box-shadow ring (.eg-nav-menu__link:focus-visible)\n Selected → Royal Blue text + left border (like .eg-nav-menu__link--active)\n*/\n\n.eg-select-item {\n display: flex;\n align-items: center;\n gap: var(--eg-space-75); /* 12px */\n padding-block: var(--eg-space-75); /* 12px */\n padding-inline: var(--eg-space-100); /* 16px */\n width: 100%;\n background-color: transparent;\n color: var(--eg-color-neutral-black-100);\n font-family: var(--eg-font-family-base);\n font-weight: var(--eg-font-weight-regular);\n font-size: var(--eg-font-size-875); /* 14px */\n line-height: var(--eg-font-line-height-2); /* 20px */\n letter-spacing: var(--eg-font-letter-spacing-none);\n cursor: pointer;\n outline: none;\n user-select: none;\n box-sizing: border-box;\n position: relative;\n transition: background-color 150ms ease;\n}\n\n/* State=Hover / keyboard highlight (mirrors .eg-nav-menu__link:hover) */\n.eg-select-item[data-highlighted] {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Keyboard focus ring — inset so it stays inside popup overflow:hidden.\n Mirrors .eg-nav-menu__link:focus-visible exactly. */\n.eg-select-item:focus-visible {\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m)\n var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* State=Selected: Royal Blue text + left accent border.\n Mirrors .eg-nav-menu__link--active. Compensate inline-start padding so\n text stays horizontally aligned with unselected items. */\n.eg-select-item[data-selected] {\n color: var(--eg-color-primary-royal-blue);\n border-left: var(--eg-border-weight-m) solid var(--eg-color-primary-royal-blue);\n padding-inline-start: calc(\n var(--eg-space-100) - var(--eg-border-weight-m)\n ); /* 16px - 2px = 14px keeps text in column */\n}\n\n/* Selected + highlighted */\n.eg-select-item[data-selected][data-highlighted] {\n background-color: var(--eg-color-primary-lila-20);\n}\n\n/* Selected + focused */\n.eg-select-item[data-selected]:focus-visible {\n background-color: var(--eg-color-primary-lila-20);\n outline: none;\n box-shadow: inset 0 0 0 var(--eg-border-weight-m)\n var(--eg-color-primary-royal-blue);\n border-radius: var(--eg-border-radius-s);\n}\n\n/* State=Disabled */\n.eg-select-item[data-disabled] {\n color: var(--eg-color-neutral-black-30);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Leading icon */\n.eg-select-item__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--eg-icon-size-m); /* 20px */\n height: var(--eg-icon-size-m); /* 20px */\n}\n\n.eg-select-item__icon svg {\n width: var(--eg-icon-size-m);\n height: var(--eg-icon-size-m);\n flex-shrink: 0;\n pointer-events: none;\n}\n\n/* Item text — fills available width */\n.eg-select-item__text {\n flex: 1 1 0;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* ---- Separator ----------------------------------------------------- */\n\n.eg-select-separator {\n height: 1px;\n margin: var(--eg-space-25) 0; /* 4px */\n background: var(--eg-color-neutral-black-20);\n}\n","/* Component-scoped layout constants — Figma: Header (Desktop) (7801:2) */\n.eg-header {\n --eg-header-height: 80px;\n --eg-header-logo-nav-gap: 36px;\n}\n\n/* ── Root ──────────────────────────────────────────────────────────────────── */\n.eg-header {\n height: var(--eg-header-height);\n background-color: var(--eg-color-neutral-white);\n /* 1px hardcoded: Figma 7801:2 specs 1px, but design-tokens has no\n border-weight token below --eg-border-weight-m (2px). */\n border-bottom: 1px solid var(--eg-color-neutral-black-20);\n font-family: var(--eg-font-family-base);\n font-size: var(--eg-font-size-875);\n font-weight: var(--eg-font-weight-regular);\n line-height: var(--eg-font-line-height-2);\n letter-spacing: var(--eg-font-letter-spacing-none);\n color: var(--eg-color-neutral-black-100);\n position: relative;\n}\n\n/* ── Grid + content wrapper (Figma: \"Content (1280)\" / \"Header Content\") ───── */\n.eg-header__grid {\n height: 100%;\n}\n.eg-header__content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 100%;\n}\n\n/* ── Skip link — WCAG 2.4.1 ────────────────────────────────────────────────── */\n.eg-header__skip-link {\n position: absolute;\n top: -9999px;\n left: var(--eg-space-100);\n z-index: 9999;\n padding: var(--eg-space-25) var(--eg-space-50);\n background: var(--eg-color-neutral-white);\n color: var(--eg-color-neutral-black-100);\n border: var(--eg-border-weight-m) solid var(--eg-color-neutral-black-100);\n border-radius: var(--eg-border-radius-xs);\n text-decoration: none;\n font-size: var(--eg-font-size-875);\n}\n.eg-header__skip-link:focus-visible {\n top: var(--eg-space-50);\n}\n\n/* ── Left group: brand + nav ───────────────────────────────────────────────── */\n.eg-header__left {\n display: flex;\n align-items: center;\n gap: var(--eg-header-logo-nav-gap);\n overflow: hidden;\n}\n\n/* ── Brand / Logo ───────────────────────────────────────────────────────────── */\n.eg-header__brand {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ── Nav area — wraps NavigationMenu ─────────────────────────────────────── */\n.eg-header__nav {\n display: inline-flex;\n align-items: center;\n}\n\n/* ── Right group: menu cluster + Swiss logo ─────────────────────────────────── */\n.eg-header__right {\n display: flex;\n align-items: center;\n gap: var(--eg-space-150);\n flex-shrink: 0;\n}\n\n/* ── Right menu cluster: auth + language ───────────────────────────────────── */\n.eg-header__right-menu {\n display: flex;\n align-items: center;\n gap: var(--eg-space-50);\n}\n\n/* ── Swiss logo ────────────────────────────────────────────────────────────── */\n.eg-header__swiss-logo {\n flex-shrink: 0;\n}\n\n/* ── Skeleton shimmer ──────────────────────────────────────────────────────── */\n.eg-header__skeleton {\n border-radius: var(--eg-border-radius-xs);\n background: linear-gradient(\n 90deg,\n var(--eg-color-neutral-black-20) 25%,\n var(--eg-color-neutral-black-30, var(--eg-color-neutral-black-20)) 50%,\n var(--eg-color-neutral-black-20) 75%\n );\n background-size: 200% 100%;\n animation: eg-skeleton-shimmer 1.4s ease-in-out infinite;\n}\n.eg-header__skeleton--auth {\n width: 80px;\n height: 32px;\n}\n.eg-header__skeleton--nav {\n width: 120px;\n height: 28px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .eg-header__skeleton {\n animation: none;\n background: var(--eg-color-neutral-black-20);\n }\n}\n\n@keyframes eg-skeleton-shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n/* ── Visually hidden — aria-live regions ────────────────────────────────────── */\n.eg-header__sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n"],"mappings":"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","names":[]}
|
package/dist/easygov.d.mts
CHANGED
|
@@ -263,6 +263,25 @@ interface SessionUser {
|
|
|
263
263
|
sub: string;
|
|
264
264
|
name: string;
|
|
265
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* Lifecycle status of the OIDC session, orthogonal to the `current` payload.
|
|
268
|
+
*
|
|
269
|
+
* A route guard must key off this — NOT `user === null` — because a null user is
|
|
270
|
+
* ambiguous: it occurs during logout, token renewal, and a silent-renew blip, none
|
|
271
|
+
* of which mean "genuinely logged out". Only `unauthenticated` is a settled
|
|
272
|
+
* logged-out state that is safe to react to with a login redirect.
|
|
273
|
+
*
|
|
274
|
+
* - `initializing` — initSession() has not resolved yet.
|
|
275
|
+
* - `authenticated` — a valid session is present.
|
|
276
|
+
* - `renewing` — the access token expired / a silent renew is running; the
|
|
277
|
+
* previous session is kept until the renew resolves.
|
|
278
|
+
* - `signing-in` — requireSession() issued a login redirect; navigation pending.
|
|
279
|
+
* - `signing-out` — signOut() issued a logout redirect; navigation pending.
|
|
280
|
+
* - `unauthenticated`— settled logged out. THE ONLY state that warrants a login redirect.
|
|
281
|
+
* - `no-auth` — no OIDC authority configured / UserManager construction failed.
|
|
282
|
+
*/
|
|
283
|
+
type AuthStatus = 'initializing' | 'authenticated' | 'renewing' | 'signing-in' | 'signing-out' | 'unauthenticated' | 'no-auth';
|
|
284
|
+
declare function getAuthStatus(): AuthStatus;
|
|
266
285
|
declare function requireSession(): void;
|
|
267
286
|
|
|
268
287
|
declare const dictionaries: {
|
|
@@ -310,6 +329,7 @@ interface EasygovSession {
|
|
|
310
329
|
accessToken: string | null;
|
|
311
330
|
}
|
|
312
331
|
declare function useEasygovSession(): EasygovSession;
|
|
332
|
+
declare function useEasygovAuthStatus(): AuthStatus;
|
|
313
333
|
interface EasygovHeaderProps {
|
|
314
334
|
readonly locale?: Locale;
|
|
315
335
|
readonly onLanguageChange?: (locale: Locale) => void;
|
|
@@ -323,4 +343,4 @@ interface RequireSessionProps {
|
|
|
323
343
|
}
|
|
324
344
|
declare function RequireSession({ children, fallback, loading, }: RequireSessionProps): React__default.JSX.Element;
|
|
325
345
|
|
|
326
|
-
export { BrandBase, BrandEasygov, BrandFacebook, BrandKdk, BrandLinkedin, type BrandProps, BrandSeg, BrandSgv, BrandSsv, BrandSwiss, BrandXing, BrandYoutube, Button, type ButtonProps, type DesktopSpan, Dropdown, DropdownChip, DropdownChipsOverflow, type DropdownChipsOverflowProps, DropdownChipsTrigger, type DropdownChipsTriggerProps, DropdownCollection, DropdownEmpty, DropdownGroup, DropdownGroupLabel, DropdownHelperText, type DropdownHelperTextProps, DropdownInput, DropdownItem, type DropdownItemProps, DropdownItemText, DropdownLabel, type DropdownLabelProps, DropdownList, DropdownPopup, type DropdownPopupProps, DropdownSeparator, DropdownToggle, DropdownTrigger, type DropdownTriggerProps, DropdownValue, EasygovFooter, EasygovHeader, type EasygovHeaderProps, type EasygovSession, Grid, GridItem, type GridItemProps, type GridProps, Input, type InputProps, type Locale, type MobileSpan, NavigationMenu, NavigationMenuAnchor, type NavigationMenuAnchorProps, NavigationMenuContent, type NavigationMenuContentProps, NavigationMenuItem, type NavigationMenuItemProps, NavigationMenuLink, type NavigationMenuLinkProps, NavigationMenuList, type NavigationMenuListProps, type NavigationMenuProps, NavigationMenuTrigger, type NavigationMenuTriggerProps, RequireSession, type RequireSessionProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectGroupLabel, type SelectGroupLabelProps, SelectHelperText, type SelectHelperTextProps, SelectItem, type SelectItemProps, SelectLabel, type SelectLabelProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, type SessionUser, type TabletSpan, TextLink, type TextLinkProps, buttonVariants, requireSession, textLinkVariants, useEasygovSession };
|
|
346
|
+
export { type AuthStatus, BrandBase, BrandEasygov, BrandFacebook, BrandKdk, BrandLinkedin, type BrandProps, BrandSeg, BrandSgv, BrandSsv, BrandSwiss, BrandXing, BrandYoutube, Button, type ButtonProps, type DesktopSpan, Dropdown, DropdownChip, DropdownChipsOverflow, type DropdownChipsOverflowProps, DropdownChipsTrigger, type DropdownChipsTriggerProps, DropdownCollection, DropdownEmpty, DropdownGroup, DropdownGroupLabel, DropdownHelperText, type DropdownHelperTextProps, DropdownInput, DropdownItem, type DropdownItemProps, DropdownItemText, DropdownLabel, type DropdownLabelProps, DropdownList, DropdownPopup, type DropdownPopupProps, DropdownSeparator, DropdownToggle, DropdownTrigger, type DropdownTriggerProps, DropdownValue, EasygovFooter, EasygovHeader, type EasygovHeaderProps, type EasygovSession, Grid, GridItem, type GridItemProps, type GridProps, Input, type InputProps, type Locale, type MobileSpan, NavigationMenu, NavigationMenuAnchor, type NavigationMenuAnchorProps, NavigationMenuContent, type NavigationMenuContentProps, NavigationMenuItem, type NavigationMenuItemProps, NavigationMenuLink, type NavigationMenuLinkProps, NavigationMenuList, type NavigationMenuListProps, type NavigationMenuProps, NavigationMenuTrigger, type NavigationMenuTriggerProps, RequireSession, type RequireSessionProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectGroupLabel, type SelectGroupLabelProps, SelectHelperText, type SelectHelperTextProps, SelectItem, type SelectItemProps, SelectLabel, type SelectLabelProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, type SessionUser, type TabletSpan, TextLink, type TextLinkProps, buttonVariants, getAuthStatus, requireSession, textLinkVariants, useEasygovAuthStatus, useEasygovSession };
|