@import url(https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);
/* ── Web fonts ───────────────────────────────────────────
   Declared here, in the always-loaded entry stylesheet, for the same reason
   the design tokens below are. With per-route CSS chunks, an @font-face that
   only lives in Hub.module.css / IndEvent.module.css / Guestiis shared.module.css
   is registered ONLY once one of those lazy routes has loaded. Routes that ship
   in the main bundle - /connect chief among them - set `--font-family:
   'DonerRegular'` but never loaded a stylesheet defining that face, so a cold
   load fell back to system sans-serif. It looked correct whenever /connect was
   reached by in-app navigation after visiting Hub, because @font-face is
   document-global once any loaded stylesheet defines it.
   Page-level copies still load after this one; duplicate identical faces are
   harmless. */
/* Inter, for the black-and-white redesign. Declared here for the same
   reason as the faces below: an @import that only lives in a lazy route's
   CSS chunk is not registered until that route has loaded. Variable axes
   are requested so the weight and optical-size steps the type scale uses
   are real instances rather than synthesised. */

@font-face {
	font-family: DonerRegular;
	src: url(/static/media/Doner-RegularText.ba9ab1d5394d74b3284f.otf) format("opentype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: DonerRegular;
	src: url(/static/media/Doner-RegularText.ba9ab1d5394d74b3284f.otf) format("opentype");
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: DonerRegular;
	src: url(/static/media/Doner-RegularDisplay.3dddc1e11ab2935c3dca.otf) format("opentype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: DonerRegular;
	src: url(/static/media/Doner-RegularDisplay.3dddc1e11ab2935c3dca.otf) format("opentype");
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}

/* ── Design tokens ───────────────────────────────────────────────
   These live here, in the always-loaded entry stylesheet, rather than only
   inside page-level CSS modules. Before the routes were code-split every
   stylesheet shipped in one bundle, so a :root block declared in (say)
   Hub.module.css happened to define these for every other page too. With
   per-route CSS chunks that no longer holds: a route whose chunk declares
   none of them would resolve var(--sub-bg-dark) to nothing and render
   transparent. Declaring the full set here guarantees every route has them.

   Page-level :root blocks still load after this one and win the cascade, so
   nothing that relied on a page overriding a token changes behaviour - this
   only fills the gaps. Values mirror components/Theme/theme.module.css. */
:root {
	--white: #ffffff;
	--black: #000000;
	--bg-dark: #01000D;
	--sub-bg-dark: #161824;
	--sub-bg-light: #f0f1f2;

	--accent-1: #0D7AC7;
	--past: #0D7AC788;
	--success-green: #3CA259;
	--cancelled-red: #ff2626;

	--text-primary: #ffffff;
	--text-secondary: rgb(151, 163, 180);
	--text-muted: rgb(120, 132, 150);
	--border-soft: #2d2f39;
	--border-softer: rgba(255, 255, 255, 0.08);

	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 16px;
	--radius-pill: 999px;

	--font-family: 'DonerRegular', sans-serif;

	/* Tag / category palette. */
	--blue: #56bae5;
	--blue_accent: #E1EAEE;
	--brown: #966014;
	--brown_accent: #f5efe8;
	--coffee: #be9546;
	--coffee_accent: #f9f4ed;
	--green: #61B63F;
	--green_accent: #DDF0D5;
	--grey: #9b9a9a;
	--grey_accent: #f5f5f5;
	--purple: #a927aa;
	--purple_accent: #f6e9f7;
	--red: #df0f36;
	--red_accent: #fce7eb;
}

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: fade all 1s
}

input:focus,
textarea:focus {
    outline: none;
}

::-webkit-scrollbar {
    display: none;
}

input[data-autocompleted] {
    background-color: transparent !important;
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
    -webkit-transition: background-color 0s 0s, color 0s 0s;
    transition: background-color 0s 0s, color 0s 0s;
    transition-delay: calc(infinity * 1s);
}

.table_data table {
    height: auto !important;
    max-height: 100% !important;
}

.css-1nmdiq5-menu {
    background-color: #21242d !important;
    position: absolute !important;
    z-index: 999999999999999999999 !important;
}






.MuiTextField-root {
    height: 100% !important;
    width: calc(100% + 2.5rem);
    margin: -5px -15px 0 -15px !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.MuiIconButton-root:not(.MuiPickersArrowSwitcher-button) {
    padding: 30px !important;
    margin: -30px !important;
}

.MuiTextField-root input {
    margin: 0 !important;
    padding-top: 5px !important;
}

.MuiSvgIcon-root:not(.MuiPickersArrowSwitcher-leftArrowIcon, .MuiPickersArrowSwitcher-rightArrowIcon) {
    display: none !important;
}

.MuiOutlinedInput-root {
    padding: 0 15px !important;
    color: white !important;
}

.MuiOutlinedInput-input {
	padding: 0 !important;
    font-weight: normal !important;
    line-height: normal !important;
    letter-spacing: normal !important;
    font-family: 'Comfortaa', sans-serif !important;
}

.MuiOutlinedInput-notchedOutline {
	border: none !important;
}


.pac-container {
    background-color: #161824 !important;
    background-color: var(--sub-bg-dark) !important;
    border: 1px solid #2d2f39 !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5) !important;
    padding: 0.35rem 0 !important;
    z-index: 1100 !important;
    margin-top: 6px !important;
}

.pac-container:after {
    display: none !important;
}

.pac-item {
    border-top: 1px solid rgba(45, 47, 57, 0.4) !important;
    color: #888 !important;
    padding: 0.65rem 1rem !important;
    font-size: 14px !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
}

.pac-item:first-child {
    border-top: none !important;
}

.pac-item:hover {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

.pac-item:hover,
.pac-item:hover > .pac-item-query {
    color: #ffffff !important;
    color: var(--white) !important;
}

.pac-item-query {
    color: #ffffff !important;
    color: var(--white) !important;
    font-size: 14px !important;
}

.pac-icon {
    display: none !important;
}

.pac-matched {
    color: #0D7AC7 !important;
    color: var(--accent-1) !important;
}

.css-b62m3t-container {
    width: 100%
}

/*.css-1nmdiq5-menu {
    background-color: #21242d !important;
    width: calc(100% + 52.5px) !important;
    left: -39.5px !important;
    display: block !important
}*/

.css-qr46ko {
    display: block !important
}

#react-select-2-input {
    color: white !important;
}

.css-d7l1ni-option {
    background-color: #21242d !important;
    cursor: pointer !important;
}

.css-d7l1ni-option:hover {
    background-color: white !important;
    color: #21242d !important;
}

#react-select-3-input {
    color: white !important;
}

.MuiInputBase-root {
    width: 100%
}

.shine-animation {
    background-color: rgba(1, 0, 13, 0.3);
    background: linear-gradient(
        135deg,
        rgba(1, 0, 13, 0.3) 0%,
        rgba(1, 0, 13, 0.1) 40%,
        rgba(80, 90, 92, 0.1) 50%,
        rgba(1, 0, 13, 0.3) 60%,
        rgba(1, 0, 13, 0.3) 100%
    );
    background-size: 400% 100%;
    background-position: 100% 50%;
    animation: animation-shine 5s 0s infinite;
}

.shine-animation-light {
    background-color: rgba(22, 24, 36, 0.3);
    background: linear-gradient(
        135deg,
        rgba(22, 24, 36, 0.3) 0%,
        rgba(22, 24, 36, 0.1) 40%,
        rgba(80, 90, 92, 0.3) 50%,
        rgba(22, 24, 36, 0.3) 60%,
        rgba(22, 24, 36, 0.3) 100%
    );
    background-size: 400% 100%;
    background-position: 100% 50%;
    animation: animation-shine 5s 0s infinite;
}


@keyframes animation-shine {
    0% {
        background-position: 100% 50%;
    }
    50% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}




@keyframes autofill {
  from {}
  to {}
}

.autofilled_input:-webkit-autofill {
  animation-name: autofill;
  animation-fill-mode: both;
  animation-duration: 0.1s;
}

.gsi-material-button {
    margin-top: 3rem;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-appearance: none;
    background-color: #f0f1f2;
    background-image: none;
    border: none;
    border-radius: 10px;
    box-sizing: border-box;
    color: #000000;
    cursor: pointer;
    font-family: 'DonerRegular', sans-serif;
    font-size: 14px;
    /*  height: 50px;*/
    letter-spacing: 0.25px;
    outline: none;
    overflow: hidden;
    padding: 15px;
    position: relative;
    text-align: center;
    transition: background-color .218s, border-color .218s, box-shadow .218s;
    vertical-align: middle;
    white-space: nowrap;
    width: auto;
    max-width: 100%;
    min-width: 100%;
}

.gsi-material-button .gsi-material-button-icon {
    height: 20px;
    margin-right: 12px;
    min-width: 20px;
    width: 20px;
}

.gsi-material-button .gsi-material-button-content-wrapper {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 100%;
    justify-content: center;
    position: relative;
    width: 100%;
}

.gsi-material-button .gsi-material-button-contents {
    font-family: 'DonerRegular', sans-serif;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
}

.gsi-material-button .gsi-material-button-state {
    transition: opacity .218s;
    bottom: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.gsi-material-button:disabled {
    cursor: default;
    background-color: #ffffff61;
}

.gsi-material-button:disabled .gsi-material-button-state {
    background-color: #1f1f1f1f;
}

.gsi-material-button:disabled .gsi-material-button-contents {
    opacity: 38%;
}

.gsi-material-button:disabled .gsi-material-button-icon {
    opacity: 38%;
}

.gsi-material-button:not(:disabled):active .gsi-material-button-state, 
.gsi-material-button:not(:disabled):focus .gsi-material-button-state {
    background-color: #001d35;
    opacity: 12%;
}





.my-dark-range .ant-picker {
  background: #01000D !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; /* always this border */

  padding: 10px !important;
  border-radius: 0 !important;
}

.my-dark-range .ant-picker:hover,
.my-dark-range .ant-picker:focus,
.my-dark-range .ant-picker:focus-within {
    border: none !important;
    border-bottom: solid 2px #0D7AC7 !important; /* prevent hover change */
    box-shadow: none !important;

}

/* Input text */
.my-dark-range .ant-picker .ant-picker-input > input {
  background: transparent !important;
  color: white !important;
  font-size: 16px !important;
  padding-bottom: .25rem !important
}




/* Icons */
.my-dark-range .ant-picker .ant-picker-suffix,
.my-dark-range .ant-picker .ant-picker-clear {
  color: white !important;
}

.ant-picker-panel-container {
    background: #161824 !important;
}

.ant-btn {
    background: #0D7AC7 !important
}
/* ── Google Places, inside a design-system drawer ─────────────────────
   The Places widget appends its list to <body>, so it lands outside the
   page surface that carries the --ds-* tokens and outside every CSS
   module. It gets one hook instead: the Drawer marks the body while it is
   open, and stamps the theme onto the same attribute.

   Scoped that way on purpose. The .pac-* rules above belong to the live
   pages and are still in use there; these only apply while one of the new
   drawers is on screen, so the two do not have to be reconciled before
   either can change.

   Values are literal rather than var(--ds-*) for the same reason the hook
   is needed at all - the tokens are not in scope on <body>. They mirror
   --ds-surface / --ds-line / --ds-fg and its steps, and the .menu the
   filter dropdowns are built from. */
body[data-ds-drawer] .pac-container {
	margin-top: 0.5rem !important;
	padding: 0.3125rem !important;
	border-radius: 10px !important;
	z-index: 1100 !important;
	font-family: inherit !important;
}

body[data-ds-drawer] .pac-container:after { display: none !important; }

body[data-ds-drawer] .pac-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0.4375rem 0.5rem !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 0.8125rem !important;
	line-height: 1.4 !important;
	cursor: pointer !important;
}

/* Google's own icon column, replaced by nothing. Every row in this list is
   a place, so a pin against all of them says nothing the list does not. */
body[data-ds-drawer] .pac-icon { display: none !important; }

/* The street line leads, the rest of the address follows it - which is the
   label-and-description shape every other rich menu row uses. */
body[data-ds-drawer] .pac-item-query {
	font-size: 0.8125rem !important;
	font-weight: 550 !important;
}

body[data-ds-drawer] .pac-matched { font-weight: 700 !important; }

/* ── Dark ── */
body[data-ds-drawer='dark'] .pac-container {
	background: #0a0a0b !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	box-shadow: 0 18px 56px rgba(0, 0, 0, 0.72) !important;
}
body[data-ds-drawer='dark'] .pac-item { color: rgba(255, 255, 255, 0.42) !important; }
body[data-ds-drawer='dark'] .pac-item-query { color: #ffffff !important; }
body[data-ds-drawer='dark'] .pac-item:hover,
body[data-ds-drawer='dark'] .pac-item-selected {
	background: rgba(255, 255, 255, 0.06) !important;
	color: rgba(255, 255, 255, 0.64) !important;
}
body[data-ds-drawer='dark'] .pac-matched { color: #ffffff !important; }

/* ── Light ── */
body[data-ds-drawer='light'] .pac-container {
	background: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.10) !important;
	box-shadow: 0 18px 56px rgba(0, 0, 0, 0.14) !important;
}
body[data-ds-drawer='light'] .pac-item { color: rgba(0, 0, 0, 0.42) !important; }
body[data-ds-drawer='light'] .pac-item-query { color: #000000 !important; }
body[data-ds-drawer='light'] .pac-item:hover,
body[data-ds-drawer='light'] .pac-item-selected {
	background: rgba(0, 0, 0, 0.04) !important;
	color: rgba(0, 0, 0, 0.62) !important;
}
body[data-ds-drawer='light'] .pac-matched { color: #000000 !important; }

/* -----------------------------------------------------
	Split Layout
------------------------------------------------------ */

.d6JFXAws {
	height: 100vh;
	width: 100%;
	display: grid;
	grid-template-columns: 44% 1fr;
	overflow: hidden;
	background-color: var(--bg-dark);
}

/* -----------------------------------------------------
	Left - Form Side
------------------------------------------------------ */

.eaMsaA8m {
	height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 3rem 4.5rem;
	z-index: 1;
}

.jYr2ZlA1 {
	width: 100%;
	max-width: 85%;
	display: flex;
	flex-direction: column;
}

.Sa0sxNr7 {
	width: 140px;
	margin-bottom: 3.5rem;
	opacity: 0;
	animation: sg56wroE 0.6s ease forwards 0.1s;
}

.u3auziyP {
	font-size: 34px;
	font-weight: 700;
	color: var(--white);
	line-height: 1.2;
	margin-bottom: 0.5rem;
	opacity: 0;
	animation: sg56wroE 0.6s ease forwards 0.15s;
}

.u3auziyP span {
	color: var(--accent-1);
}

.YIuNpWE3 {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.4);
	margin-bottom: 2.75rem;
	opacity: 0;
	animation: sg56wroE 0.6s ease forwards 0.2s;
}

/* -----------------------------------------------------
	Form
------------------------------------------------------ */

.DIxOimYO {
	display: flex;
	flex-direction: column;
	opacity: 0;
	animation: sg56wroE 0.6s ease forwards 0.25s;
}

.kLxTmPyl {
	margin-bottom: 1.35rem;
}

.GulVeGAN {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.45);
	margin-bottom: 0.5rem;
}

.ONumUjyc {
	width: 100%;
	height: 56px;
	padding: 0 1.15rem;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	display: flex;
	align-items: center;
	column-gap: 0.8rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ONumUjyc:focus-within {
	border-color: var(--accent-1);
	box-shadow: 0 0 0 3px rgba(13, 122, 199, 0.12);
}

.ONumUjyc i {
	color: rgba(255, 255, 255, 0.22);
	font-size: 15px;
	flex-shrink: 0;
	width: 16px;
	text-align: center;
	transition: color 0.2s ease;
}

.ONumUjyc:focus-within i {
	color: var(--accent-1);
}

.ONumUjyc input {
	flex: 1 1;
	background: none;
	border: none;
	outline: none;
	color: var(--white);
	font-size: 15px;
	font-family: var(--font-family);
	padding: 0;
}

.ONumUjyc input::placeholder {
	color: rgba(255, 255, 255, 0.18);
}

.ZoP67Zqt {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ZoP67Zqt i {
	color: rgba(255, 255, 255, 0.22);
	font-size: 14px;
	transition: color 0.2s ease;
}

.ZoP67Zqt:hover i {
	color: rgba(255, 255, 255, 0.45);
}

.N5t_izxz {
	align-self: flex-end;
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.3);
	font-size: 13px;
	font-family: var(--font-family);
	cursor: pointer;
	transition: color 0.2s ease;
	margin-top: 0.35rem;
}

.N5t_izxz:hover {
	color: var(--accent-1);
}

.ZzNElrte {
	width: 100%;
	height: 54px;
	margin-top: 2rem;
	background: var(--accent-1);
	border: none;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: filter 0.2s ease, transform 0.1s ease;
}

.ZzNElrte:hover {
	filter: brightness(1.12);
}

.ZzNElrte:active {
	transform: scale(0.98);
}

.ZzNElrte p {
	color: var(--white);
	font-size: 16px;
	font-weight: 600;
}

.VVF6j3Oj {
	width: 100%;
	height: 54px;
	margin-top: 2rem;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.MCUYmSEm {
	height: 22px;
}

/* -----------------------------------------------------
	Right - Visual Panel
------------------------------------------------------ */

.YXP1CMsy {
	height: 100%;
	position: relative;
	z-index: 1;
	background-color: var(--sub-bg-dark);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4rem;
	overflow: hidden;
}

.YXP1CMsy::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 30% 20%, rgba(13, 122, 199, 0.08) 0%, transparent 60%),
		radial-gradient(ellipse at 80% 80%, rgba(60, 162, 89, 0.04) 0%, transparent 50%);
	pointer-events: none;
}

/* Panel content */
.BduJM7mY {
	position: relative;
	z-index: 1;
	opacity: 0;
	animation: lgBmNEhP 0.8s ease forwards 0.5s;
}

.iWSMuHFc {
	font-size: 28px;
	font-weight: 700;
	color: var(--white);
	line-height: 1.25;
	margin-bottom: 0.75rem;
}

.iWSMuHFc span {
	color: var(--accent-1);
}

.VkWFVY5F {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.4);
	line-height: 1.6;
	margin-bottom: 2.5rem;
	max-width: 400px;
}

/* Banner image */
.ZXasEPPs {
	position: relative;
	margin-bottom: 2.5rem;
	opacity: 0;
	animation: hjuFtDHt 0.8s ease forwards 0.7s;
}

.C4nfwGVh {
	width: 100%;
	border-radius: 16px;
	display: block;
	box-shadow:
		0 20px 60px rgba(0, 0, 0, 0.4),
		0 0 0 1px rgba(255, 255, 255, 0.06);
}

.xtZOyDFJ {
	position: absolute;
	inset: 0;
	border-radius: 16px;
	pointer-events: none;
	background:
		linear-gradient(180deg, transparent 60%, rgba(22, 24, 36, 0.5) 100%);
}

/* Feature items */
.Q576iyKo {
	display: flex;
	gap: 1.5rem;
	opacity: 0;
	animation: lgBmNEhP 0.8s ease forwards 0.9s;
}

.ySpTZvqb {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.suZjmM9u {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 13px;
}

.FSCdU7bx {
	background: rgba(13, 122, 199, 0.12);
	color: var(--accent-1);
}

.JSfpHPTn {
	background: rgba(60, 162, 89, 0.12);
	color: var(--success-green);
}

.JTvoaebi {
	background: rgba(167, 139, 250, 0.12);
	color: #a78bfa;
}

.Ts8H3jqi {
	font-size: 13px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.55);
}

/* -----------------------------------------------------
	Error Banner
------------------------------------------------------ */

.dKmuovK4 {
	position: fixed;
	top: 1.25rem;
	left: 22%;
	transform: translateX(-50%);
	background: rgba(255, 60, 60, 0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: 0.6rem 1.5rem;
	border-radius: 8px;
	animation: dHYyBIrh 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 10;
}

.RoHMFrs7 {
	font-size: 13px;
	margin: 0;
	color: white;
	font-weight: 600;
	white-space: nowrap;
}

/* -----------------------------------------------------
	Animations
------------------------------------------------------ */

@keyframes sg56wroE {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes lgBmNEhP {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes hjuFtDHt {
	from { opacity: 0; transform: translateY(25px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes dHYyBIrh {
	from { transform: translate(-50%, -120%); opacity: 0; }
	to { transform: translate(-50%, 0); opacity: 1; }
}

/* -----------------------------------------------------
	Magic Link Sent State
------------------------------------------------------ */

.nT2pnIWj {
	display: flex;
	flex-direction: column;
	opacity: 0;
	animation: sg56wroE 0.6s ease forwards 0.1s;
}

.b5lzqCvj {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(13, 122, 199, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.75rem;
}

.b5lzqCvj i {
	font-size: 22px;
	color: var(--accent-1);
}

.OgYupc7W {
	color: var(--white);
	font-weight: 600;
}

.iIsuLCS0 {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin-top: 0.5rem;
	margin-bottom: 2rem;
}

.A6rr22vW {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.4);
}

.A6rr22vW i {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.2);
	width: 16px;
	text-align: center;
}

.DEGZnidN {
	align-self: flex-start;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	padding: 0.6rem 1.1rem;
	color: rgba(255, 255, 255, 0.45);
	font-size: 13px;
	font-family: var(--font-family);
	cursor: pointer;
	transition: all 0.2s ease;
}

.DEGZnidN i {
	font-size: 12px;
}

.DEGZnidN:hover {
	border-color: var(--accent-1);
	color: var(--accent-1);
}

/* -----------------------------------------------------
	Magic Link Verify Page
------------------------------------------------------ */

.wnjlvLxL {
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--bg-dark);
}

.ePaG0sVQ {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 380px;
	padding: 3rem;
	opacity: 0;
	animation: sg56wroE 0.6s ease forwards 0.1s;
}

.a4yhFfF6 {
	width: 120px;
	margin-bottom: 2.5rem;
}

.Chd5HRuN {
	height: 28px;
	margin-bottom: 1.5rem;
}

.fVLA3wfH {
	font-size: 24px;
	font-weight: 700;
	color: var(--white);
	margin: 0 0 0.5rem 0;
}

.to5VAnMX {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.4);
	line-height: 1.6;
	margin: 0;
}

.cZqohjLx {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(60, 162, 89, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}

.cZqohjLx i {
	font-size: 22px;
	color: var(--success-green);
}

.wHKlhcet {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(255, 60, 60, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}

.wHKlhcet i {
	font-size: 22px;
	color: #ff4444;
}

.yNA93F6Q {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	padding: 0.65rem 1.25rem;
	border-radius: 8px;
	background: var(--accent-1);
	color: var(--white);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: filter 0.2s ease;
}

.yNA93F6Q:hover {
	filter: brightness(1.12);
}

.yNA93F6Q i {
	font-size: 12px;
}

/* -----------------------------------------------------
	Media Queries
------------------------------------------------------ */

@media (max-width: 1024px) {
	.d6JFXAws {
		grid-template-columns: 50% 1fr;
	}

	.eaMsaA8m {
		padding: 3rem 3rem;
	}

	.YXP1CMsy {
		padding: 3rem;
	}

	.Q576iyKo {
		gap: 1rem;
	}
}

@media (max-width: 768px) {
	.d6JFXAws {
		grid-template-columns: 1fr;
		min-height: 100dvh;
		height: auto;
	}

	.YXP1CMsy {
		display: none;
	}

	.eaMsaA8m {
		padding: 3rem 2rem;
		min-height: 100dvh;
		justify-content: center;
	}

	.jYr2ZlA1 {
		max-width: 100%;
	}

	.wnjlvLxL {
		min-height: 100dvh;
		height: auto;
		padding: 2rem 1.25rem;
		box-sizing: border-box;
	}
}

@media (max-width: 480px) {
	.eaMsaA8m {
		padding: 2rem 1.5rem;
	}

	.u3auziyP {
		font-size: 28px;
	}

	.Sa0sxNr7 {
		width: 95px;
		margin-bottom: 2.5rem;
	}

	.ePaG0sVQ {
		padding: 2rem 1.5rem;
		max-width: 100%;
	}
}

/* "Continue with Google" - secondary sign-in, matched to the Guestii theme. */
.ieTdamix {
	width: 100%;
	height: 54px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	cursor: pointer;
	color: var(--white);
	font-family: var(--font-family);
	font-size: 15px;
	font-weight: 600;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.ieTdamix:hover {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.22);
}

.oVAH1baS {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* RESET & BASIC STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
  --white: #ffffff;
  --black: #000000;

  /* officefruit */
  --green: #61B63F;
  --green_accent: #DDF0D5;

  /* fruit */
  --red: #df0f36;
  --red_accent: #fce7eb;

  /* milk */
  --blue: #56bae5;
  --blue_accent: #E1EAEE;

  /* bread */
  --brown: #966014;
  --brown_accent: #f5efe8;

  /* coffee */
  --coffee: #be9546;
  --coffee_accent: #f9f4ed;

  /* cakes */
  --purple: #a927aa;
  --purple_accent: #f6e9f7;

  /* catering */
  --grey: #9b9a9a;
  --grey_accent: #f5f5f5;
}

/* NOTE: this is a global (unscoped) reset living in a CSS module that App.js
   imports eagerly, so it ships in main.css and applies to every route.
   It used to name "Loew" - a font with no @font-face anywhere in the repo -
   so every element fell back to the browser default. Lazy routes hid it:
   Hub.module.css / IndEvent.module.css redeclare `*` with the real family and,
   being later in the cascade at equal specificity, they won. Routes served from
   the main bundle alone (/connect) had nothing to override it. */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: var(--font-family);
}

body {
  margin: 0 auto;
}

input:focus {
    outline: none;
}

button {
  cursor: pointer;
  transition: .25s
}

/* START GENERAL */

.qVo8krg9 {
  font-size: 12px !important;
}

.TDqJX7Qb {
  font-size: 17.5px !important;
}

.xaN0Xdn7 {
  font-size: 35px !important;
}

.DxDMkkbv th {
  font-size: 12px !important;
  cursor: default;
}

.STIA01Dk p:not(.qVo8krg9),
.DxDMkkbv td {
  font-size: 15px !important;
  margin: 0
}

.STIA01Dk h1:not(.xaN0Xdn7),
.STIA01Dk h1:not(.TDqJX7Qb) {
  font-size: 30px;
}

.RUEhxzvh {
  height: 100vh;
  width: 100%;

  display: flex;
  align-items: center;
  justify-content:center
}

.STIA01Dk {
  height: 100%;
  width: 100%;
}

/* END GENERAL */


/* START SIDEBAR */

.vSiTV9eB {
  height: 100%;
  width: 75px;

  position: relative;
}

.CULybqbY {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translate(-50%, 20px);
}

.ROkBNBfH {
  height: auto;
  width: 100%;

  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.an7bJE9p {
  width: 100%;

  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-row-gap: 3rem;
  row-gap: 3rem;
}

.d8qfEjZT {
  width: 100%;
  height: 100%;
  padding: 15px 0;

  position: relative;
}

.hM8kT1E9,
.hM8kT1E9 i {
  background-color: #61B63F;
  background-color: var(--green);
  color: white;
}

.EVLEKORg {
  font-size: 30px;
  color: #000000;
  color: var(--black);

  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* END SIDEBAR */


/* START LOADING */

.J5A7RRYs {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.KsJosI0F {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.vNMolJuH span {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  margin: 0 5px;
  background-color: #000000;
  border-radius: 50%;
  transform: scale(0);
  animation: 1.2s infinite N9JeEX5J ease-in-out;
}
.vNMolJuH span:nth-child(1) {
  background-color: #61B63F;
  animation-delay: 0s;
}
.vNMolJuH span:nth-child(2) {
  background-color: #75C057;
  animation-delay: 0.2s;
}
.vNMolJuH span:nth-child(3) {
  background-color: #89C96F;
  animation-delay: 0.4s;
}
.vNMolJuH span:nth-child(4) {
  background-color: #B0DB9F;
  animation-delay: 0.6s;
}

@keyframes N9JeEX5J {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}

/* END LOADING */
.wSV7I9YS {
  height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #01000D;
}

.SEjZyqdc {
  width: 35%;
}
/* -----------------------------------------------------
   404 Not Found Page Styling
------------------------------------------------------ */

.eyykdgpV {
	height: 100vh;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: var(--bg-dark);
	color: var(--white);
	text-align: center;
	row-gap: 1.25rem;
	animation: WFOXajyg 0.8s ease-in-out;
}

.WqcLfo24 {
	font-size: 6rem;
	font-weight: 800;
	color: var(--accent-1);
	margin: 0;
}

.gJQ9ekuH {
	font-size: 1.75rem;
	font-weight: 600;
	margin: 0;
}

._AuSVpSE {
	font-size: 15px;
	max-width: 500px;
	line-height: 1.6;
	opacity: 0.8;
}

.kVjVHH3E {
	background-color: var(--accent-1);
	color: var(--white);
	border: none;
	border-radius: 10px;
	padding: 12.5px 0;
	width: 200px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 0.75rem;
	font-weight: 600;
	font-size: 15px;
	transition: background-color 0.3s ease, transform 0.25s ease;
}

.kVjVHH3E:hover {
	background-color: #3d90c7;
	transform: translateY(-2px);
}

.NJz_6lAD {
	font-size: 12px;
	margin-top: 2rem;
	opacity: 0.5;
}

/* Optional animated icon container */
.FsE9_mkR {
	font-size: 5rem;
	color: var(--accent-1);
	animation: KdmLBgVs 2s ease-in-out infinite;
}

/* Animations */
@keyframes WFOXajyg {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes KdmLBgVs {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

/* iPhone tuning - padding + smaller 404 so nothing touches the edges. */
@media (max-width: 480px) {
	.eyykdgpV {
		padding: 0 1.5rem;
		row-gap: 1rem;
		min-height: 100dvh;
		height: auto;
	}

	.WqcLfo24 {
		font-size: 4.5rem;
	}

	._AuSVpSE {
		font-size: 14px;
	}
}


/*# sourceMappingURL=main.4c72bd17.css.map*/