/* CSS Reset - https://andy-bell.co.uk/a-more-modern-css-reset/ */ *, *::before, *::after { box-sizing: border-box; } html { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; } body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; } body { min-height: 100vh; line-height: 1.5; } h1, h2, h3, h4, button, input, label { line-height: 1.1; } h1, h2, h3, h4 { text-wrap: balance; } a:not([class]) { text-decoration-skip-ink: auto; color: currentColor; } img, picture { max-width: 100%; } input, button, textarea, select { font: inherit; } textarea:not([rows]) { min-height: 10em; } :target { scroll-margin-block: 5ex; }
body.app *, body.app *:after, body.app *:before { box-sizing: border-box; }
html, body, input, textarea, select, button { margin: 0; padding: 0; color: var(--color-dark); font-family: "manrope", sans-serif; font-size: 16px; line-height: 1.4em; text-align: left; }
html { overflow-y: scroll; }

/* Fonts */
@font-face {
	font-family: "bitter";
	src: url("../fonts/Bitter.ttf");
	font-weight: 400 700;
  font-style: normal;
	font-synthesis: none;
	font-display: swap;
}
@font-face {
	font-family: "bitter";
	src: url("../fonts/Bitter-Italic.ttf");
	font-weight: 400 700;
  font-style: italic;
	font-synthesis: none;
	font-display: swap;
}
@font-face {
	font-family: "manrope";
	src: url("../fonts/Manrope.ttf");
	font-weight: 400 700;
  font-style: normal;
	font-synthesis: none;
	font-display: swap;
}

/* Color Palette */
:root {
	--color-focus: #00A8A3;
	--color-dark: #333333;
	--color-primary: #5D2A68;
	--color-light-primary: #8F42A1;
	--color-dark-primary: #451C4F;
	--color-purple: #422699;
	--color-light-purple: #5b3ac9;
	--color-white-purple: #e5e3f9;
	--color-turquoise: #016d8a;
	--color-light-turquoise: #008eb2;
	--color-bright-red: #C71700;
	--color-red: #af0b00;
	--color-dark-red: #7D0A00;
	--color-orange: #AB5400;
	--color-light-orange: #d16500;
	--color-yellow: #FFD973;
	--color-green: #3D6938;
	--color-light-green: #51894a;
	--color-dark-green: #24471F;
	--color-dark-grey: #666666;
	--color-grey: #999999;
	--color-light-grey: #e5e5e5;
	--color-white: #FFF;
	--color-white-opacity0: rgba(255,255,255,0); --color-white-opacity10: rgba(255,255,255,0.1); --color-white-opacity20: rgba(255,255,255,0.2); --color-white-opacity30: rgba(255,255,255,0.3); --color-white-opacity40: rgba(255,255,255,0.4); --color-white-opacity50: rgba(255,255,255,0.5); --color-white-opacity60: rgba(255,255,255,0.6); --color-white-opacity70: rgba(255,255,255,0.7); --color-white-opacity80: rgba(255,255,255,0.8); --color-white-opacity90: rgba(255,255,255,0.9); --color-white-opacity100: rgba(255,255,255,1);
	--color-dark-opacity0: rgb(10, 49, 44,0); --color-dark-opacity5: rgb(10, 49, 44,0.05); --color-dark-opacity10: rgb(10, 49, 44,0.1); --color-dark-opacity20: rgb(10, 49, 44,0.2); --color-dark-opacity30: rgb(10, 49, 44,0.3); --color-dark-opacity40: rgb(10, 49, 44,0.4); --color-dark-opacity50: rgb(10, 49, 44,0.5); --color-dark-opacity60: rgb(10, 49, 44,0.6); --color-dark-opacity70: rgb(10, 49, 44,0.7); --color-dark-opacity80: rgb(10, 49, 44,0.8); --color-dark-opacity90: rgb(10, 49, 44,0.9); --color-dark-opacity100: rgb(10, 49, 44,1);
	--gradient-purple-blue: linear-gradient(150deg, #210d75, #384eba, #4d8eff);;
	--gradient-purple-blue-conic: conic-gradient(from 90deg at 50% 110%, #210d75, #2633ba, #4d8eff);
	--spacing-large: 3vw; --spacing-medium: 1.6vw; --spacing-small: 1.2rem;
	--negative-spacing-large: -3vw; --negative-spacing-medium: -1.6vw; --negative-spacing-small: -1.2rem;
	--border-radius-large: 12px; --border-radius-medium: 6px; --border-radius-small: 3px;
	--transition-fast: all 0.25s ease 0s; --transition-mid: all 0.5s ease 0s;
	--shadow-large: 0px 0.8px 2.8px rgba(0, 0, 0, 0.006), 0px 2px 6.7px rgba(0, 0, 0, 0.008), 0px 3.8px 12.5px rgba(0, 0, 0, 0.01), 0px 6.7px 22.3px rgba(0, 0, 0, 0.012), 0px 12.5px 41.8px rgba(0, 0, 0, 0.014), 0px 30px 100px rgba(0, 0, 0, 0.02);
	--shadow-medium: 0px 2.1px 3.4px var(--color-dark-opacity10), 0px 5.2px 8.7px rgba(0, 0, 0, 0.069), 0px 10.6px 17.7px rgba(0, 0, 0, 0.056), 0px 21.9px 36.5px rgba(0, 0, 0, 0.044), 0px 60px 100px rgba(0, 0, 0, 0.031);
	--shadow-small: 0px 0.2px 0.5px rgba(0, 0, 0, 0.024), 0px 0.5px 1.3px rgba(0, 0, 0, 0.035), 0px 1.2px 3px rgba(0, 0, 0, 0.046), 0px 4px 10px rgba(0, 0, 0, 0.07);
}

/* Skip To Content */
.skip { background: #333; display: inline-block; position: fixed; z-index: 9000; top: -46px; left: 0; height: 46px; padding: 10px 20px; border: 0; color: var(--color-white); text-decoration: none; font-weight: 800; }
	.skip:focus { top: 0; color: var(--color-white); }

/* Keyboard Navigation Outline */
body.app :focus:not(:focus-visible) { outline: none; }
body.app :focus-visible { outline: 2px solid var(--color-focus); }
/* For elements showing a white outline before transitioning to the focus color */
a:hover, button:hover, .k-wizard .k-step:hover, #panelbar li:hover { outline: 0 solid transparent; }
	a:focus-visible, button:focus-visible, .k-wizard .k-step.k-step-focus:focus-visible, #panelbar li#panelbar_pb_active { outline: 2px solid var(--color-focus); }

/* --- Flex Grid System --- */
body .grid-container{width: 100%;max-width:94%;margin-right:auto;margin-left:auto}body .grid-container.full-width{max-width:100%}body .grid-container.wide{width:94%}body .grid-container.width1400{width:1400px}body .grid-container.width1200{width:1200px}body .grid-container.width1000{width:1000px}body .grid-container.width800{width:800px}body .grid-container.width600{width:600px}body .grid-container.width440{width:440px}.row{display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap;align-items:stretch;}.row.reverse{flex-direction:row-reverse}.col.reverse{flex-direction:column-reverse}.col-xs,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{box-sizing:border-box;flex:0 0 auto}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.333%;max-width:8.333%}.col-xs-2{flex-basis:16.667%;max-width:16.667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.333%;max-width:33.333%}.col-xs-5{flex-basis:41.667%;max-width:41.667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.333%;max-width:58.333%}.col-xs-8{flex-basis:66.667%;max-width:66.667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.333%;max-width:83.333%}.col-xs-11{flex-basis:91.667%;max-width:91.667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-1{margin-left:8.333%}.col-xs-offset-2{margin-left:16.667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333%}.col-xs-offset-5{margin-left:41.667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333%}.col-xs-offset-8{margin-left:66.667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333%}.col-xs-offset-11{margin-left:91.667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}.fit-items-xs{flex-wrap:nowrap}@media only screen and (min-width:680px){.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{box-sizing:border-box;flex:0 0 auto}.col-sm{flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{flex-basis:8.333%;max-width:8.333%}.col-sm-2{flex-basis:16.667%;max-width:16.667%}.col-sm-3{flex-basis:25%;max-width:25%}.col-sm-4{flex-basis:33.333%;max-width:33.333%}.col-sm-5{flex-basis:41.667%;max-width:41.667%}.col-sm-6{flex-basis:50%;max-width:50%}.col-sm-7{flex-basis:58.333%;max-width:58.333%}.col-sm-8{flex-basis:66.667%;max-width:66.667%}.col-sm-9{flex-basis:75%;max-width:75%}.col-sm-10{flex-basis:83.333%;max-width:83.333%}.col-sm-11{flex-basis:91.667%;max-width:91.667%}.col-sm-12{flex-basis:100%;max-width:100%}.col-sm-offset-1{margin-left:8.333%}.col-sm-offset-2{margin-left:16.667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333%}.col-sm-offset-5{margin-left:41.667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333%}.col-sm-offset-8{margin-left:66.667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333%}.col-sm-offset-11{margin-left:91.667%}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}.fit-items-sm{flex-wrap:nowrap}}@media only screen and (min-width:980px){.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{box-sizing:border-box;flex:0 0 auto}.col-md{flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{flex-basis:8.333%;max-width:8.333%}.col-md-2{flex-basis:16.667%;max-width:16.667%}.col-md-3{flex-basis:25%;max-width:25%}.col-md-4{flex-basis:33.333%;max-width:33.333%}.col-md-5{flex-basis:41.667%;max-width:41.667%}.col-md-6{flex-basis:50%;max-width:50%}.col-md-7{flex-basis:58.333%;max-width:58.333%}.col-md-8{flex-basis:66.667%;max-width:66.667%}.col-md-9{flex-basis:75%;max-width:75%}.col-md-10{flex-basis:83.333%;max-width:83.333%}.col-md-11{flex-basis:91.667%;max-width:91.667%}.col-md-12{flex-basis:100%;max-width:100%}.col-md-offset-1{margin-left:8.333%}.col-md-offset-2{margin-left:16.667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333%}.col-md-offset-5{margin-left:41.667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333%}.col-md-offset-8{margin-left:66.667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333%}.col-md-offset-11{margin-left:91.667%}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}.fit-items-md{flex-wrap:nowrap}}@media only screen and (min-width:1300px){.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{box-sizing:border-box;flex:0 0 auto}.col-lg{flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{flex-basis:8.333%;max-width:8.333%}.col-lg-2{flex-basis:16.667%;max-width:16.667%}.col-lg-3{flex-basis:25%;max-width:25%}.col-lg-4{flex-basis:33.333%;max-width:33.333%}.col-lg-5{flex-basis:41.667%;max-width:41.667%}.col-lg-6{flex-basis:50%;max-width:50%}.col-lg-7{flex-basis:58.333%;max-width:58.333%}.col-lg-8{flex-basis:66.667%;max-width:66.667%}.col-lg-9{flex-basis:75%;max-width:75%}.col-lg-10{flex-basis:83.333%;max-width:83.333%}.col-lg-11{flex-basis:91.667%;max-width:91.667%}.col-lg-12{flex-basis:100%;max-width:100%}.col-lg-offset-1{margin-left:8.333%}.col-lg-offset-2{margin-left:16.667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333%}.col-lg-offset-5{margin-left:41.667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333%}.col-lg-offset-8{margin-left:66.667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333%}.col-lg-offset-11{margin-left:91.667%}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}.fit-items-lg{flex-wrap:nowrap}}
.row.gap { margin-right: -0.6rem; margin-left: -0.6rem; } .row.gap > * { padding-right: 0.6rem; padding-left: 0.6rem; } .row > * { flex-grow: 1; flex-shrink: 1; position: relative; } .row > .small { flex-grow: 0; } body .big-push-up { margin-top: 2.6rem !important; } body .push-up { margin-top: 1.2rem !important; } body .small-push-up { margin-top: 0.8rem !important; } body .big-push-down { margin-bottom: 2.4rem !important; } body .push-down { margin-bottom: 1.2rem !important; } body .small-push-down { margin-bottom: 0.8rem !important; }	body .hide { display: none; }

/* Heading */
h1, h2, h3, h4 { margin: 1rem 0 0; color: var(--color-dark); font-family: "bitter", serif; font-weight: 500; line-height: normal; }
h2:first-child, h3:first-child, h4:first-child { margin: 0; }
h1 { color: var(--color-white); font-size: 3rem; line-height: 1.2em; font-weight: 300; }
h2 { color: var(--color-purple); font-size: 1.8rem; line-height: 1.3em; font-weight: 300; }
h3 { color: var(--color-turquoise); font-size: 1.4rem; line-height: 1.3em; font-weight: 800; }
h4 { font-size: 1.1rem; line-height: 1.4em; }
.heading-upper { font-size: 0.7em; line-height: 1em; text-transform: uppercase; letter-spacing: 0.1em; }

/* Paragraph */
p { margin: 0.8rem 0 0; }
	p img { max-width: 100%; height: auto !important; }
	b, strong { font-weight: 700; }

/* Links / Buttons */
a, button { background: none; padding: 0; border: 0; color: var(--color-primary); font-weight: 800; text-decoration: none; cursor: pointer; transition: var(--transition-fast); }
	a:hover, button:hover { color: var(--color-dark-primary); text-decoration: none; outline: none; }
	a:focus, button:focus { outline: 1px dotted #ddd; }

/* Links / Buttons */
body .button, .k-wizard-buttons .k-button { display: inline-flex; align-items: center; gap: 0.2em; margin-top: 1rem; padding: var(--spacing-small); border: 0; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); font-size: 0.9rem; line-height: 1.4em; font-weight: 800; text-decoration: none; white-space: nowrap; }
body .button.big-button { padding: var(--spacing-medium); font-size: 1.2rem; line-height: 1.4em; }
body .button.full-width { justify-content: space-between; width: 100%; }
body .button.red { background: var(--color-red); }
body .button.green { background: var(--color-green); }
body .button.secondary { background: var(--color-light-grey); color: var(--color-dark); }
body .dark .button.secondary { background: var(--color-dark-opacity80); color: var(--color-white); }
body .button.compact, body .button.compact:hover { padding: 0.6rem 0.8rem; }
body .button.no-border, body .button.no-border:hover { border: 0; }
body .button:has(.k-icon) { gap: 0.6em; }
	body .button .k-icon { color: var(--color-white); transition: var(--transition-fast); transition-property: border, background, color; }
	body .button.secondary .k-icon { color: var(--color-primary); }
	/* Hover */
	body .button:hover { background: var(--color-light-primary); color: var(--color-white); text-decoration: none; }
	body .button.secondary:hover { background: var(--color-light-grey); color: var(--color-dark); }
	body .dark .button.secondary:hover { background: var(--color-dark-opacity50); }
	body .button.red:hover { background: var(--color-dark-red); }
/* Dark */
body .dark .button, .dark .k-wizard-buttons .k-button { background: var(--color-white-opacity10); color: var(--color-white); }
	body .dark .button:hover, .dark .k-wizard-buttons .k-button:hover { background: var(--color-white-opacity20); color: var(--color-white); }

/* Divider Text */
body.app .divider-text { justify-content: flex-start; position: relative; z-index: 10; }
body.app .divider-text.centered { text-align: center; }

	body.app .divider-text::before { content: ''; position: absolute; z-index: -10; top: 50%; left: 0; width: 100%; height: 1px; background: var(--color-light-grey); }
	body.app .divider-text.light-grey::before { background: var(--color-dark-opacity10); }
	body.app .dark .divider-text::before { background: var(--color-primary); }
	body.app .divider-text.reverse::before { background: var(--color-primary); }

		body.app .divider-text > * { display: inline-block; margin: 1.4em 0; padding: 0.4rem 1.4rem 0.4rem 0; background: var(--color-white); color: var(--color-dark); }
		body.app .divider-text > a, body.app .divider-text > button { color: var(--color-primary); }
		body.app .divider-text.light-grey > * { background: var(--color-light-grey); }
		body.app .dark .divider-text > * { background: var(--color-dark-primary); }
		body.app .divider-text.centered > * { padding: 0.4rem 1.4rem; }
		body.app .divider-text > h1 { margin: 0; }
			body.app .divider-text > a:hover, body.app .divider-text > button:hover { background: var(--color-white); color: var(--color-red); }
			body.app .divider-text.no-hover > a:hover, body.app .divider-text.no-hover > button:hover { background: var(--color-light-grey); }

/* Dark */
.dark, .dark h1, .dark h2, .dark h3, .dark h4 { color: var(--color-white); }

/* HR */
hr { background: var(--color-grey); display: inline-block; width: 100%; height: 1px; margin: 1.6rem 0 0; border: 0; }
.input-container hr { margin: 1rem 0 0; }

/* Image */
.fit-image { max-width: 100%; max-height: 100%; overflow: hidden; }
	.fit-image > img { object-fit: cover; object-position: center; width: 100%; height: 100%; }
	.fit-image.contain > img { object-fit: contain; }
	.fit-image.position-center > img { object-position: center; }

/* --- Header --- */

.header-container { position: relative; z-index: 0; background: var(--gradient-purple-blue); }
	header { position: relative; z-index: 50; width: 100%; }
		header .grid-container { display: flex; flex-flow: row; justify-content: center; }

			/* Logo */
			header .logo, .login .main-content .logo { display: inline-flex; align-items: center; height: 50px; max-width: 30vw; margin: 1rem 0; }
				header .logo img { max-width: 100%; max-height: 100%; margin: -0.4rem 0; color: var(--color-white); }
				header .logo h1 { margin: 0; color: var(--color-white); font-size: 1rem; font-size: 1.3rem; line-height: 1.4rem; }

			/* Menu - Secondary */
			header #menu-secondary { display: flex; align-items: center; margin: auto 0 auto auto; padding-left: 0; text-align: right; list-style: none; }
				header #menu-secondary a { display: flex; align-items: center; padding: 0.8rem 1rem; color: var(--color-white); font-size: 0.8rem; font-weight: 800; line-height: 1.4em; }
					header #menu-secondary span { padding: 0; }

			/* Menu - Primary */
			header #menu-primary { display: flex; align-items: center; justify-content: center; margin: 0; list-style: none; }
				header #menu-primary li { position: relative; }
					header #menu-primary li a { display: flex; align-items: center; position: relative; padding: 1.4vw 2vw; border-left: 1px solid var(--color-white-opacity20); color: var(--color-white); font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; transition: var(--transition-fast); overflow: hidden; }
					header #menu-primary li:last-child a { border-right: 1px solid var(--color-white-opacity20); }
					header #menu-primary > li > a::before { content: ''; opacity: 0; position: absolute; z-index: -10; bottom: -20px; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, #7AB0FF 0%, var(--color-white-opacity0) 100%); pointer-events: none; transition: var(--transition-mid); }
					header #menu-primary > li > a:hover::before { opacity: 0.2; bottom: 0; }
					header #menu-primary > li > a.active::before { opacity: 0.5; bottom: 0; background: linear-gradient(35deg, #9180E5 0%, var(--color-white-opacity0) 100%); }
						/* Submenus */
						header #menu-primary li ul { position: absolute; top: 100%; left: 0; width: 300px; max-width: 100vw; margin: 0; padding: 0; border-radius: var(--border-radius-small); list-style: none; opacity: 0; background: var(--color-primary); font-size: 0.8em; pointer-events: none; transition: all 0.4s ease 0s; }
						header #menu-primary > li:last-child ul, header #menu-primary > li:nth-last-child(2) ul { right: 0; left: inherit; }
							header #menu-primary li:hover > ul, header #menu-primary li.active > ul, header #menu-primary li:focus-visible > ul { top: 100%; opacity: 1; pointer-events: all; }
								header #menu-primary li ul li { margin: 0; padding: 0; border-top: 1px solid var(--color-dark-opacity40); }
								header #menu-primary li ul li:first-child { border-top: none; }
									header #menu-primary li ul li::before { display: none; }
										header #menu-primary li ul a { width: 100%; padding: 0.8rem; color: var(--color-white); font-size: 0.8rem; font-weight: 800; line-height: 1.2em; }
											header #menu-primary li ul a:hover { background: var(--color-dark-primary); }
												header #menu-primary > li > ul ul { display: none; top: -0.4rem !important; right: 100%; left: auto; padding: 0.4em 1em; }

/* --- Content --- */

.main-content { display: flex; flex-direction: column; position: relative; z-index: 5; }
.main-content.login { justify-content: center; min-height: 100vh; }

/* Flex Container */
.flex-container { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-content: stretch; }
.flex-container.inline { display: inline-flex; }
.flex-container.full-width { width: 100%; }
.flex-container.column { flex-flow: column; }
.flex-container.wrap { flex-flow: row wrap; }
.flex-container.gap { gap: 30px; }
.flex-container.gap.dense { gap: 15px; }
.align-start { align-items: flex-start; }
.align-center { align-items: center; }
.align-end { align-items: flex-end; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
	.flex-item { order: 0; flex: 1 1 auto; margin: 0; }
	.flex-item.full-width { width: 100%; }
	.flex-item.auto-width { flex-grow: 0 !important; flex-basis: auto !important; width: auto; }

body .no-margin { margin-top: 0 !important; }
body .pad-large { padding: var(--spacing-large); }
body .pad-medium { padding: var(--spacing-medium); }
body .pad-small { padding: var(--spacing-small); }

/* Page Title */
body .page-title.hide { position: absolute; opacity: 0; }
body .page-title { margin: 0; padding: 2rem 0; border-top: 1px solid var(--color-white-opacity20); }
	body .page-title h1 { margin: 0; padding: 0; }
	body .page-title a, body .page-title button { margin: auto 0; }
/* Action Bar */
body.app .action-bar { width: 100%; margin: 1.4rem 0 0; padding: 1.4rem 0 0; border-top: 1px solid var(--color-white-opacity20); }
/* Breadcrumbs */
.breadcrumbs { padding: var(--spacing-small); border-radius: var(--border-radius-small); border: 1px solid transparent; border-radius: var(--border-radius-small); background: linear-gradient(var(--color-light-grey), var(--color-light-grey)) padding-box, linear-gradient(120deg, var(--color-light-primary), var(--color-grey)) border-box; color: var(--color-dark-primary); font-size: 0.9rem; line-height: 1.4em; }
	.breadcrumbs a { color: var(--color-dark-primary); }

body .border-card { border: 1px solid var(--color-dark-opacity10); background: var(--color-white); }
body .border-card.full-height { height: 100%; }
body .border-card.overflow-auto { overflow: auto; }
body .border-card.overflow-auto.capped { max-height: 27rem; }
body .border-card.overflow-hidden { overflow: hidden; }
body .dark-card { background: var(--color-dark-primary); }

/* Maps */

.map-row { height: calc(100vh - 200px); }
	.map-row > div { height: 100%; }

		.map-row .map-item-list { height: 100%; overflow: auto; padding-bottom: 0; background: var(--color-dark-opacity5); }
			.map-row .map-item-list .hide-list { display: none; }
			.map-row .map-item-list .map-item { border-radius: var(--border-radius-small); transition: var(--transition-fast); }
				.map-row .map-item-list .map-item:hover { border: 1px solid var(--color-dark-opacity30); }
				.map-row .map-item-list .map-item.active { border: 1px solid var(--color-light-primary); }
					.map-row .map-item-list .map-item button strong { margin-right: auto; }
					.map-row .map-item-list .map-item button .map-item-detail-highlight { flex: 0 1 content; flex-flow: column; display: inline-flex; margin: -0.4rem 0; font-size: 0.7rem; font-weight: 500; line-height: 1.4em; text-align: right; white-space: nowrap; }
					.map-row .map-item-list .map-item button .map-item-detail-highlight.past-due { padding: 0.4rem 0.6rem; border-radius: var(--border-radius-large); background: var(--color-red); color: var(--color-white); }
						.map-row .map-item-list .map-item button .map-item-detail-highlight strong { display: inline-block; width: 100%; }
					.map-row .map-item-list .map-item button .k-i-arrow-chevron-down { transition: var(--transition-fast); }
						.map-row .map-item-list .map-item.active button .k-i-arrow-chevron-down { transform: rotate(-180deg); }
				.map-row .map-item-list .map-item-content { padding-top: 0; font-size: 0.8rem; line-height: 1.4em; }
					.map-row .map-item-list .map-item-content .map-item-detail { padding: 0.4rem 0; border-bottom: 1px solid var(--color-light-grey); font-size: 0.9rem; line-height: 1.4em; }
					.map-row .map-item-list .map-item-content .map-item-detail:last-of-type { border-bottom: 0; font-size: 0.8rem; line-height: 1.4em; }
					.map-row .map-item-list .map-item-content .button:not(:last-child) { margin-right: 1rem; }
			.map-row .map-item-list .sticky { position: sticky; bottom: 0; left: 0; margin: var(--negative-spacing-small); margin-top: 3rem; padding: var(--spacing-small); }
				.map-row .map-item-list .sticky::before { content: ''; position: absolute; z-index: -10; bottom: 0; left: 0; width: 100%; height: 140%; background: linear-gradient(0deg, var(--color-white-opacity100) 0%, var(--color-white-opacity70) 80%, var(--color-white-opacity0) 100%); pointer-events: none; }

		.map-container { height: 100%; overflow: hidden; cursor: pointer; }
			.map-container .trigger_showOnMap { position: absolute; top: 50%; left: 40%; width: 28px; height: 28px; color: var(--color-primary); }
			.map-container .trigger_showOnMap:nth-child(2) { top: 20%; left: 70%; }
			.map-container .trigger_showOnMap:nth-child(3) { top: 30%; left: 45%; }
			.map-container .trigger_showOnMap:nth-child(4) { top: 60%; left: 60%; }
			.map-container .trigger_showOnMap:nth-child(5) { top: 45%; left: 80%; }
				.map-container .trigger_showOnMap svg { filter: drop-shadow(0 0 4px var(--color-white)); }

/* Charts */
.k-chart text { font-family: inherit !important; }

/* --- Forms --- */

.form-wrapper { overflow: visible; scrollbar-width: none; }
.form-wrapper::-webkit-scrollbar { width: 0; }

/* Wizard */
#wizard { overflow: visible; }

	#wizard, #wizard .k-wizard-steps { margin: 1rem 0 0; padding: 0; background: none; }
	#wizard .k-stepper { margin: 0; padding: 0; border-radius: 3px 5px 0 0; background: var(--color-white); }
	main #wizard .k-stepper { margin: 0 0 1rem; border-bottom: 1px solid var(--color-dark-opacity10); border-radius: var(--border-radius-small); overflow: hidden; }

	#admin-review-checklist { display: flex; flex-flow: row wrap; align-items: center; margin: 0 0 1rem; padding: 0 0 1rem; border-bottom: 1px solid var(--color-dark-opacity10); border-radius: 0 0 5px 5px; background: var(--color-white); text-align: center; }
		#admin-review-checklist h3 { display: flex; align-items: center; gap: 1em; width: 100%; margin: 0; padding: 0 3% 0.6rem; color: var(--color-dark-opacity50); font-size: 0.8rem; font-weight: 500; text-align: left; text-transform: uppercase; letter-spacing: 0.1em; }
			#admin-review-checklist h3::before, #admin-review-checklist h3::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--color-light-grey); }
		#admin-review-checklist .input-container { display: inline-flex; flex: 1 1 auto; justify-content: center; margin: 0; text-align: center; }
			#admin-review-checklist .input-container label { padding: 0; border: 0; }
				#admin-review-checklist .input-container label span { display: none; }

		#wizard .k-stepper .k-step .k-step-link { flex-flow: column; justify-content: center; gap: 0.4em; position: relative; padding: 1rem 0; overflow: visible; }
		#wizard .k-stepper .k-step:not(.k-step-current):not(:last-child) .k-step-link { border-right: 1px solid var(--color-dark-opacity10); }
			#wizard .k-stepper .k-step { margin: 0; }
				#wizard .k-stepper .k-step-current .k-step-indicator { color: var(--color-white); }
					#wizard .k-stepper .k-step .k-step-indicator { border-color: var(--color-grey); background: var(--color-white); color: var(--color-dark); }
					#wizard .k-stepper .k-step-current .k-step-indicator { border-color: var(--color-red); background-color: var(--color-red); color: var(--color-white); }
					#wizard .k-stepper .k-step-done .k-step-indicator { border: 2px solid var(--color-dark-green); background-color: var(--color-white); color: var(--color-dark-green); }
				#wizard .k-stepper .k-step .k-step-label { max-width: inherit; margin: 0; color: var(--color-dark); font-size: 0.9em; line-height: 1.2em; text-align: left; transition: all 0.4s ease 0s; }
					#wizard .k-stepper .k-step:hover .k-step-label { opacity: 1; top: 90%; }
						#wizard .k-stepper .k-step .k-step-link .k-step-text { max-width: inherit; font-weight: 700; white-space: initial; }
				/* Active Tab */
				#wizard .k-stepper .k-step.k-step-current .k-step-link { background: var(--color-primary); }
					#wizard .k-stepper .k-step.k-step-current .k-step-link .k-step-indicator { border-color: var(--color-white-opacity40); background: var(--color-white-opacity10); }
					#wizard .k-stepper .k-step.k-step-current .k-step-link .k-step-text { color: var(--color-white); }

		#wizard .k-progressbar-horizontal { display: none; }

	#wizard .k-wizard-steps .k-wizard-step { padding: 1.6rem 2rem 2rem; border-radius: var(--border-radius-small); background: var(--color-white); }

	/* Buttons */
	#wizard .k-wizard-buttons { padding: 1rem 1.2rem; border-radius: var(--border-radius-small); background: var(--color-dark-primary); color: var(--color-white); }
		#wizard .k-wizard-buttons > span { display: flex; align-items: center; gap: 0.8em; }
			#wizard .k-wizard-buttons > span button { margin: 0; padding: 0.6rem 0.8rem; }

/* Fieldset */
fieldset { display: inline-block; position: relative; width: 100%; margin: 2rem 0 0.4rem; padding: 0 2rem 2rem; border: 1px solid var(--color-dark-opacity20); border-radius: var(--border-radius-medium); }
	fieldset legend { margin-left: -1.2rem; padding: 0 1em; color: var(--color-primary); font-size: 1.3rem; font-weight: 800; }
	fieldset .controls { position: absolute; top: 0; right: 1em; transform: translateY(-82%); }
		fieldset .controls .button { margin: 0; padding: 0.4em 0.8em; background: var(--color-white); }
			fieldset .controls .button:hover { background: var(--color-red); color: var(--color-white); }
				fieldset .controls .button .k-icon { color: var(--color-red); }
					fieldset .controls .button:hover .k-icon { color: var(--color-white); }

/* Headings */
.form-wrapper h2 { margin: 1.2rem 0 0.2rem; }
.form-wrapper h3 { margin: 1rem 0 0.2rem; }
.form-wrapper h4 { margin: 0.2rem 0 0; }

/* Containers */
.input-container { display: inline-block; width: 100%; position: relative; margin-top: 1rem; }
.input-container.auto-width { width: auto; }
	.input-container label, .input-container strong { display: block; margin-top: 0.4rem; font-weight: 800; }
	.input-container label.hide { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
	.input-container p { font-size: 0.9em; line-height: 1.2em; }
	.input-container li strong, .input-container p strong, .input-container span strong { display: inline; margin-top: 0; font-size: 1em; }
/* Lineup */
.input-container.lineup, .row .input-container.lineup { display: flex; flex-flow: row wrap; align-items: center; gap: 0.5rem 0.8rem; }
	.input-container.lineup strong { width: 100%; }
	.input-container.lineup > label:first-child:not(.radio-container):not(.checkbox-container) { width: 100%; margin: 0; }
	.input-container.lineup > p { display: inline-block; width: 100%; margin: 0; }
		.input-container.lineup > p > em { display: inline-block; width: 100%; line-height: 1.4em; }
/* Row Specific */
.row .input-container { display: block; width: initial; }
/* Totals */
.input-container .total { display: inline-block; margin-top: 0.4em; padding: 0.8em; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); font-size: 1.1em; font-weight: 800; line-height: 1.4em; }

/* Inputs */
input, textarea, select { width: 100%; margin-top: 0.6rem; padding: 0.8rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: var(--color-white); font-size: 1rem; line-height: 1.4em; appearance: none; }
textarea { resize: vertical; }
body input.k-textbox[data-role*="maskedtextbox"] { padding: 0.8rem; }
select { margin-top: 0; }
.input-container.no-margin { margin-top: 0; }
.input-container.no-margin:has(.hide) input { margin-top: 0; }
body .big-input input[type="text"], body .big-input select, .big-input textarea { padding: 1.2em; border-radius: 8px; font-size: 1.1em; }
input::placeholder, textarea::placeholder, select::placeholder { color: #000; }
/* Select */
body .select-container { position: relative; margin-top: 0.6rem; }
body .input-container.medium .select-container { max-width: 400px; }
body .input-container.small .select-container { max-width: 200px; }
	body .select-container > span.k-icon { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); color: var(--color-dark); pointer-events: none; }
	body .grid-filters .select-container > span.k-icon { top: 50%; }
		body select { padding-right: 30px; cursor: pointer; }
	body select optgroup { background: var(--color-light-grey); text-transform: none; }
/* Radio and Checkbox */
body .radio-container, body .checkbox-container { display: flex; align-items: flex-start; gap: 8px; padding: 0.9em 1em; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: var(--color-white); font-weight: 400; line-height: 1.4em; cursor: pointer; transition: var(--transition-fast); cursor: pointer; }
	body .radio-container:hover, body .checkbox-container:hover { border: 1px solid var(--color-primary); }
		body input.k-radio, body input.k-checkbox { flex-shrink: 0; width: 20px; height: 20px; border: 1px solid #ccc; background: var(--color-white); }
		body input.k-radio { border-radius: 50%; }
			body input.k-radio:checked, body .k-radio.k-checked, body input.k-checkbox:checked, body input.k-checkbox.k-checked { border: 1px solid var(--color-primary); color: var(--color-primary); }
	/* Bigger is Better, Sometimes */
	body .big-input label.checkbox-container, body .big-input label.radio-container { align-items: flex-start; font-size: 1.1em; }
		body .big-input label.checkbox-container input, body .big-input label.radio-container input { margin-right: 0.4rem; padding: 0.7rem; }
	/* Smaller */
	body .input-container.small-input .radio-container, body .input-container.small-input .checkbox-container { gap: 0.6em; padding: 0.4rem 0.6rem 0.4rem 0.4rem; }
		body .input-container.small-input label.checkbox-container, body .input-container.small-input label.radio-container { align-items: flex-start; }
			body .input-container.small-input label.checkbox-container input, body .input-container.small-input label.radio-container input { padding: 0.2rem; }
				.k-radio::before, .k-checkbox::before { color: var(--color-primary); line-height: 1em; }
				.input-container.small-input .k-radio::before { width: 6px; height: 6px; }
/* File Upload */
body input[type="file"] { background: none; cursor: pointer; }
body .file-upload input[type="text"] { padding: 0.4rem 0 0; border: 0; border-radius: 0; background: none; }
/* Big Upload */
html body .input-container .big-file-upload { position: relative; display: flex; gap: 10px; flex-direction: column; justify-content: center; align-items: center; padding: 20px; border-radius: var(--border-radius-medium); border: 2px dashed var(--color-grey); cursor: pointer; transition: background 0.2s ease-in-out, border 0.2s ease-in-out; }
	html body .input-container .big-file-upload:hover, html body .input-container .drop-container.drag-active { border: 2px dashed var(--color-light-primary); }
		html body .input-container .big-file-upload .drop-title { font-size: 1.2rem; font-weight: bold; text-align: center; transition: color .2s ease-in-out; }
			html body .input-container .file-upload input[type="file"] { width: 100%; padding: 0.6rem; border-radius: var(--border-radius-small); border: 1px solid; background: none; font-size: 0.9rem; }
			html body .input-container .file-upload input[type="file"]::file-selector-button { margin-right: 20px; border: var(--color-dark-opacity50); background: var(--color-primary); padding: 10px 20px; border-radius: var(--border-radius-small); color: #fff; cursor: pointer; transition: background 0.2s ease-in-out; }

/* Number with Symbol */
body .input-container.type { position: relative; }
	body .input-container.type .character-container { display: inline-block; position: relative; }
	/* Monetary */
	body .input-container:has(.k-i-dollar) input { padding: 0.8rem 0.8rem 0.8rem 1.8rem; }
	.input-container:has(.k-i-dollar) .k-i-dollar { position: absolute; bottom: 1rem; left: 10px; }
	body .input-container.type.monetary input { padding-left: 1.8rem; }
	/* Percent Symbol */
	body .input-container.type.percent span.percent-symbol { position: absolute; bottom: 0.2rem; right: 2.2rem; transform: translateY(-50%); }
	body .input-container.type.percent input { padding-right: 0.4rem; }
/* Input Sizing */
body .input-container.small input { max-width: 100px; }
	body .input-container input.small { max-width: 84px; }
body .input-container.medium input { max-width: 184px; }
	body .input-container input.medium { max-width: 154px; }
	body .input-container input[type="date"].medium { max-width: 170px; }
body .input-container .k-datepicker { max-width: 200px; }

/* Date / Time */
body.app .input-container .k-datetimepicker { width: 100%; min-width: 120px; margin-top: 0.6rem; }
	body.app .input-container .k-datetimepicker .k-picker-wrap { padding-right: 4.4rem; border: 0; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); }
		body.app .input-container .k-datetimepicker .k-picker-wrap input { margin: 0; padding: 0.8rem; border: 1px solid var(--color-grey); border-right: 0; border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); line-height: 1.4em; }
		body.app .input-container .k-datetimepicker .k-picker-wrap .k-select { display: flex; align-items: center; justify-content: space-evenly; width: 4.4rem; border: 0; }
			body.app .input-container .k-datetimepicker .k-picker-wrap .k-select .k-link { display: inline-flex; width: auto; padding: 1em 0.4em; color: var(--color-white); }
			body.app .input-container .k-datetimepicker .k-picker-wrap .k-select .k-link:first-child { border-right: 1px solid var(--color-white-opacity20); }
		body.app .k-calendar-container, body.app .k-list-scroller { border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: var(--color-white); font-size: 0.8em !important; line-height: 1.4em !important; }
/* Date */
body.app .input-container .k-datepicker { width: 100%; min-width: 80px; margin-top: 0.6rem; }
	body.app .input-container .k-datepicker .k-picker-wrap { padding-right: 2.8rem; border: 0; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); }
		body.app .input-container .k-datepicker .k-picker-wrap input { margin: 0; padding: 0.8rem 0.4rem; border: 1px solid var(--color-grey); border-right: 0; border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); line-height: 1.4em; }
		body.app .input-container .k-datepicker .k-picker-wrap .k-select { display: flex; align-items: center; justify-content: space-evenly; width: 2.8rem; border: 0; cursor: pointer; }
			body.app .input-container .k-datepicker .k-picker-wrap .k-select .k-link { display: inline-flex; width: auto; padding: 1em 0.4em; color: var(--color-white); }
			body.app .input-container .k-datepicker .k-picker-wrap .k-select .k-link:first-child { border-right: 1px solid var(--color-white-opacity20); }
/* Date Picker */
body.app .k-calendar-container .k-calendar .k-content th, body.app .k-calendar-container .k-calendar .k-header { border-color: var(--color-grey); }
body.app .k-calendar-container .k-calendar .k-content td { border-top: 1px solid var(--color-white); border-bottom: 1px solid var(--color-white); transition: var(--transition-fast); }
	body.app .k-calendar-container .k-calendar .k-content td.k-today a { position: relative; }
		body.app .k-calendar-container .k-calendar .k-content td.k-today a::before { content: ""; position: absolute; top: 10%; left: 10%; width: 80%; height: 80%; border: 1px solid var(--color-gold); border-radius: 3px; color: var(--color-dark); }
		body.app .k-calendar-container .k-calendar .k-content td.k-range-mid { background: var(--color-dark-green); color: var(--color-white); }
			body.app .k-calendar-container .k-calendar .k-content .k-state-hover { background: var(--color-dark-opacity5); }
			body.app .k-calendar-container .k-calendar .k-content td.k-state-selected { background: var(--color-primary); color: var(--color-white); }
/* Time Picker */
body.app .k-list-scroller ul li { margin: 0; padding: 0.4em !important; cursor: pointer; }
	body.app .k-list-scroller ul li:hover { background: var(--color-dark-opacity5); }
		body.app .k-list-scroller ul li::before { display: none; }

/* Search */
body.app .search-container { flex: 1 1 240px !important; align-self: center !important; }
	body.app .k-autocomplete { width: 100%; padding: 0; border: 0; }
		body.app .k-autocomplete > .k-i-close { right: 1rem; transform: translateY(-30%); color: var(--color-dark-grey); }
		body.app search .k-autocomplete > .k-i-close { right: 50px; }
	body.app .search-container input { padding: 0.6rem 48px 0.6rem 0.8rem; border: 2px solid transparent; background: var(--color-dark-opacity5); color: var(--color-dark); }
	body.app .search-container:has(label.hide) input { margin: 0; }
		body.app .search-container input::placeholder, body.app .search-container input::-webkit-input-placeholder { opacity: 0.8; color: var(--color-dark); }
	body.app .search-container button { display: inline-flex; position: absolute; z-index: 2; right: 0.4em; top: inherit; bottom: 0.4rem; padding: 0.6rem; border-radius: var(--border-radius-small); color: var(--color-dark); }
		body.app .search-container button:hover { background: var(--color-primary); color: var(--color-white); }
			body.app .search-container button::before { content: ''; display: inline-block; position: absolute; z-index: 0; top: 20%; left: 0; width: 1px; height: 60%; background: var(--color-dark-opacity20); }
				body.app .search-container button:hover::before { background: none; }

/* Optional / Required */
span.optional { color: var(--color-dark-opacity70); font-weight: 500; }
.required::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }

/* aria-described-by */
.ps { display: inline-block; width: 100%; font-size: 0.8em; font-style: italic; }
input + .ps { padding: 1em 0 0; }

/* Read Only */
.input-container.read-only label { color: var(--color-dark-opacity70); }
input:read-only, textarea:read-only { background: var(--color-dark-opacity10); cursor: not-allowed; }
textarea:read-only { overflow: visible; }
body .read-only .radio-container, body .read-only .radio-container:hover, body .read-only .checkbox-container, body .read-only .checkbox-container:hover { border: 1px solid var(--color-grey); background: var(--color-dark-opacity5); cursor: not-allowed; }
	body .radio-container input.k-radio:disabled, body .checkbox-container input.k-checkbox:disabled { background: var(--color-dark-opacity5); }

/* Messaging */
.messaging .input-container { margin: 0; justify-content: flex-end; }
	.messaging .input-container textarea { height: 140px; max-height: 60vh; margin: 0; padding: 0.8rem 1rem; border: 0; }
		.messaging .input-container .submit-button { justify-content: center; }

.messaging .history-item { padding: 1.6rem 0; border-bottom: 1px solid var(--color-white-opacity10); color: var(--color-white); font-size: 0.85em; line-height: 1.2rem; }
.message-center .messaging .history-item { font-size: 1em; }
	.messaging .history-item h4 { display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; margin: 0; color: var(--color-white); font-size: 1.1em; font-weight: 800; }
		.messaging .history-item h4 .note-timestamp { padding: 0.4em 0.8em; border-radius: 30px; background: var(--color-dark-opacity30); color: var(--color-white); font-size: 0.8em; font-weight: 500; letter-spacing: 0.05em; }
	.messaging .history-item p { margin-top: 0.8rem; }

/* Submit Box */
#submit-box { margin-top: 2rem; padding: 1rem; border-radius: var(--border-radius-medium); background: var(--color-dark-primary); }
#submit-box.sticky { position: sticky; bottom: 1em; box-shadow: var(--shadow-medium); }
	#submit-box .input-container { max-width: 300px; margin-top: auto; font-size: 0.85rem; }
		#submit-box .input-container label, #submit-box .input-container label { margin-top: 0; }
		#submit-box .input-container input, #submit-box .input-container select { padding: 0.6rem 0.8rem; border: 0; font-size: 0.85rem; }
	#submit-box .button { margin: 0; padding: 1.4em 2em; border: 0; background: var(--color-white-opacity10); color: var(--color-white); }
	#submit-box .button:first-child { margin: 0 0 0 auto; }
		#submit-box .button:hover { background: var(--color-white-opacity20); color: var(--color-white); }
	#submit-box .button.secondary { background: none; }
		#submit-box .button.secondary .k-icon { color: var(--color-white); }

/* --- Panelbar --- */

.k-panelbar { border: none; }
	.k-panelbar li { margin: 1rem 0 0.4rem; padding: 0; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); transition: all 0.4s ease 0s; }
		.k-panelbar li.k-state-active { margin: 3rem 0 0.4rem; padding: 0 0 2em; border: 1px solid var(--color-primary); }
			.k-panelbar li::before { display: none; }
			.k-panelbar li .k-header { padding: 1.4rem; border: 0; transition: all 0.4s ease 0s; }
				.k-panelbar li.k-state-active .k-header { margin-top: -1.2em; padding: 0 2rem; }
					.k-panelbar li .k-header .panelbar-block-title { margin-left: -1.2rem; padding: 0 1em; background: var(--color-light-grey); color: var(--color-primary); font-size: 1.3rem; font-weight: 800; }
					.k-panelbar li .k-header .k-panelbar-collapse.k-icon, .k-panelbar li .k-header .k-panelbar-expand.k-icon { right: 2rem; width: 2em; height: 2em; margin-top: -1em; padding: 0; border-radius: 50%; background: var(--color-white); transition: all 0.4s ease 0s; }
						.k-panelbar li:hover .k-header .k-panelbar-collapse.k-icon, .k-panelbar li:hover .k-header .k-panelbar-expand.k-icon { background: var(--color-red); color: var(--color-white); }
						.k-panelbar li.k-state-active .k-header .k-panelbar-collapse.k-icon, .k-panelbar li.k-state-active .k-header .k-panelbar-expand.k-icon { transform: rotate(-180deg); background: var(--color-primary); color: var(--color-white); }
							.k-panelbar li.k-state-active .k-header .k-panelbar-collapse.k-icon:hover, .k-panelbar li.k-state-active .k-header .k-panelbar-expand.k-icon:hover { background: var(--color-red); color: var(--color-white); }
								.k-panelbar li .k-header .k-panelbar-collapse.k-icon::before, .k-panelbar li .k-header .k-panelbar-expand.k-icon::before { content: '\e015'; }
			.k-panelbar li .k-content { padding: 0 2rem; border: 0; }
				.k-panelbar li .controls { position: absolute; top: 50%; transform: translateY(-50%); right: 4em; opacity: 0; transition: all 0.3s ease 0.2s; }
					.k-panelbar li.k-state-active .controls { margin: 0 -0.4rem; right: 5em; opacity: 1; }
						.k-panelbar li .controls .button { margin: 0 0.4rem; border-radius: var(--border-radius-small); background: var(--color-primary); color: var(--color-white); line-height: 1.2em; }
							.k-panelbar li .controls .button:hover { background: var(--color-red); }
								.k-panelbar li .controls .button .k-icon { color: var(--color-white); }

/* Tabs */

body.app .k-tabstrip, body.app .k-tabstrip:focus { border: 0; box-shadow: none; background: none; }

	/* Tab Nav */
	body.app .k-tabstrip .k-tabstrip-items { display: flex; flex-flow: row; gap: 1rem; padding: 1rem; border: 2px solid transparent; border-radius: var(--border-radius-medium); background: linear-gradient(var(--color-white-opacity90), var(--color-white-opacity80)) padding-box, linear-gradient(120deg, var(--color-light-primary), var(--color-grey)) border-box; overflow: hidden; }

		body.app .k-tabstrip .k-tabstrip-items .k-item { flex: 1; border: 2px solid var(--color-dark-opacity10); border-radius: var(--border-radius-medium); background: var(--color-white-opacity50); overflow: visible; text-align: center; transition: var(--transition-fast); }
			body.app .k-tabstrip .k-tabstrip-items .k-item:hover { border: 2px solid var(--color-dark-opacity30); background: var(--color-white-opacity90); }
			body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active { margin-bottom: 0; border: 2px solid var(--color-light-primary); border-bottom: 2px solid var(--color-primary); background: var(--color-light-primary); color: var(--color-white); }
				body.app .k-tabstrip .k-tabstrip-items .k-item:before { display: none; }

				body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link { display: flex; flex-flow: row wrap; align-items: center; gap: 0.4rem; position: relative; z-index: 10; width: 100%; padding: var(--spacing-small); color: var(--color-dark-primary); font-size: 1.2rem; }
					body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active span.k-link { color: var(--color-white); }
						body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link::before { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border-right: 14px solid transparent; border-top: 0px solid var(--color-light-primary); border-left: 14px solid transparent; transition: var(--transition-fast); }
							body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active span.k-link::before { border-top: 8px solid var(--color-primary); }
						body.app .k-tabstrip .k-tabstrip-items .k-item .k-loading { display: none; }

	/* Tab Content */
	body.app .k-tabstrip .k-content { margin: 0; padding: 2em 0; border: 0; overflow: visible !important; }

	/* Admin Recommendation */
	.admin-recommendation { display: inline-flex; align-items: center; gap: 0.2rem; font-weight: 800; white-space: nowrap; }
	.admin-recommendation.approve { color: var(--color-green); }
	.admin-recommendation.deny { color: var(--color-red); }
	.admin-recommendation.pending { color: var(--color-orange); }
		.admin-recommendation.pending .k-icon { width: 16px; height: 16px; border-radius: 16px; background: var(--color-orange); color: var(--color-white); font-size: 12px; }

	/* --- Grid --- */

	body.app .k-grid:not(table) { position: relative; width: 100%; border: 0; background: none; }
	body.app .k-grid table { width: 100%; border-collapse: collapse; }
		body.app .k-grid .k-grid-toolbar { padding: 0.4rem; border-bottom: none; border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0; background: var(--color-purple); }
			body .k-grid .k-grid-toolbar .k-grid-search { float: none; border: 0; border-radius: var(--border-radius-small); background: #fff; overflow: hidden; }
			body.app .k-grid .k-grid-header-wrap { border: 0; border-bottom: 0; }
				body.app .k-grid .k-grid-content table { background: var(--color-white-opacity70); }
					body.app .k-grid th, body.app .k-grid td { padding: 1.2rem 0.8rem; border: 0; font-size: 0.9rem; line-height: 1.2em; }
						body.app .k-grid-header th.k-header > *, body.app .k-grid tr td > * { float: none; display: inline-flex; position: relative; margin: 0; padding: 0; color: var(--color-dark); line-height: 1.2em; vertical-align: middle; white-space: initial; text-decoration: none; overflow: visible; }
						body.app .k-grid tr td > a { color: var(--color-primary); }

	/* Header */
	body.app .k-grid-header { position: sticky; z-index: 10; top: 0; border: 2px solid transparent; border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0; background: var(--color-light-purple); }
	body.app .k-grid:has(.k-grid-toolbar) .k-grid-header { border-top: 0; border-radius: 0; }
		body.app .k-grid-header th.k-header { color: var(--color-dark-grey); font-size: 0.8rem; font-weight: 800; vertical-align: middle; }
		body.app .k-grid-header th.k-header[data-role="columnsorter"] { cursor: pointer; }
			body.app .k-grid-header th.k-header a { color: var(--color-white); }
			body.app .k-grid-header th.k-header .k-i-icon { margin-top: -3px; }
		.k-popup { background: var(--color-white); }
			.k-popup .k-widget > span { border-radius: var(--border-radius-medium); border-color: var(--color-grey); }

	/* Body */
	body.app .k-grid-content { border: 2px solid var(--color-dark-opacity10); border-top: 0; border-radius: 0 0 var(--border-radius-medium) var(--border-radius-medium); }
		body.app .k-grid tr { transition: all 0.03s ease 0s; }
		body.app .k-grid tr.k-alt, body.app .k-grid tbody tr:hover, body.app .k-grid tbody tr.k-state-hover { background: var(--color-white-opacity50); }
		body.app .k-grid tbody tr:hover, body.app .k-grid tbody tr.k-state-hover { background: var(--color-white); }
			body.app .k-grid tr:not(:last-child) td { border-bottom: 2px solid var(--color-dark-opacity10); transition: var(--transition-fast); }
			body.app .k-grid tr td[data-field="Notes"] .td-layout { overflow: visible; }
				body.app .k-grid tr td[data-field="Notes"] span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
			body.app .k-grid tr:hover td { border-bottom: 2px solid var(--color-light-primary); }

	/* Sorting */
	body.app .grid-filters { align-items: stretch; margin-bottom: 1.4vw; border-radius: var(--border-radius-medium); }
		body.app .grid-filters > .title-block, body.app .grid-filters > h2 { align-self: flex-end; margin: 0 auto 0 0; }
			body.app .grid-filters > h2 span { display: inline-flex; gap: 0.4em; margin-left: 0.8rem; padding: 0.4rem 0.6rem; border-radius: var(--border-radius-small); background: var(--color-light-grey); font-size: 0.9rem; font-weight: 500; line-height: 1.4em; }
		body.app .grid-filters .input-container { width: auto; margin: 0 0.6rem 0 0; padding: 0 1.6rem 0 0; border-right: 1px solid var(--color-dark-opacity10); }
		body.app .grid-filters .input-container:last-child { border-right: 0; }
		body.app .grid-filters .input-container:has(.noUi-base) { flex: 1 1 auto; margin: 0; }
		body.app .grid-filters .input-container .k-slider-horizontal { width: 400px; max-width: 20vw; }
			body.app .grid-filters .input-container label:not(.radio-container):not(.checkbox-container), body.app .grid-filters .input-container > strong { top: 0; left: 0; transform: scale(1); margin: -5px 0 0.4rem; color: var(--color-dark-opacity80); font-size: 0.8rem; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.05em; }
			body.app .grid-filters .input-container label.radio-container, body.app .grid-filters .input-container label.checkbox-container { margin: -5px 0 0.4rem; padding: 0.5rem; border: 0; background: var(--color-dark-opacity5); font-size: 0.9rem; line-height: 1.4em; }
				body.app .grid-filters .input-container label.radio-container input, body.app .grid-filters .input-container label.checkbox-container input { border: 1px solid var(--color-dark-opacity20); background: var(--color-white); }
			body.app .grid-filters .input-container input { margin: 0; padding: 0.6em; border: none; background: var(--color-dark-opacity5); font-size: 0.9rem; }
			body.app .grid-filters .input-container select { margin: 0; padding: 0.6em 30px 0.6em 0.8em; border: none; background: var(--color-dark-opacity5); font-size: 0.9rem; }
				body.app .grid-filters .input-container select option { padding: 0; color: var(--color-dark); }
			body.app .grid-filters .input-container span.k-icon { margin: 0; color: var(--color-dark); }
			body.app .grid-filters .button { margin: 0; padding: 1.2rem 1vw; }
			body.app .grid-filters .button.compact { margin: 0; padding: 0.6rem 0.8rem; }

/* Dual Range */
.noUi-target, .noUi-target * { -webkit-touch-callout: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; -ms-touch-action: none; touch-action: none; -ms-user-select: none; -moz-user-select: none; user-select: none; } .noUi-target { position: relative; } .noUi-base, .noUi-connects { width: 100%; height: 100%; position: relative; z-index: 1; } .noUi-connects { overflow: hidden; z-index: 0; } .noUi-connect, .noUi-origin { will-change: transform; position: absolute; z-index: 1; top: 0; right: 0; height: 100%; width: 100%; transform-origin: 0 0; transform-style: flat; } .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { left: 0; right: auto; } .noUi-vertical .noUi-origin { top: -100%; width: 0; } .noUi-horizontal .noUi-origin { height: 0; } .noUi-handle { -webkit-backface-visibility: hidden; backface-visibility: hidden; position: absolute; } .noUi-touch-area { height: 100%; width: 100%; } .noUi-state-tap .noUi-connect, .noUi-state-tap .noUi-origin { transition: transform 0.3s; } .noUi-state-drag * { cursor: inherit !important; } .noUi-horizontal { min-width: 300px; max-width: calc(100% - 1.6rem); height: 10px; margin: 2px 1rem 26px 0.6rem; } .mileage-filter .noUi-horizontal { width: auto; } .noUi-horizontal .noUi-handle { width: 20px; height: 20px; right: -10px; top: -6px; border-radius: var(--border-radius-small); } .noUi-vertical { width: 18px; } .noUi-vertical .noUi-handle { width: 26px; height: 26px; right: -12px; top: -6px; } .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { left: -12px; right: auto; } .noUi-target { border: 1px solid #d3d3d3; border-radius: 4px; box-shadow: inset 0 1px 1px #f0f0f0, 0 3px 6px -5px #bbb; background: var(--color-white); } .noUi-connects { border-radius: 3px; } .noUi-connect { background: var(--color-primary); } .noUi-draggable { cursor: ew-resize; } .noUi-vertical .noUi-draggable { cursor: ns-resize; } .noUi-handle { border: 1px solid var(--color-dark-primary); border-radius: 3px; background: #fff; cursor: default; box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ebebeb, 0 3px 6px -3px #bbb; } .noUi-active { box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ddd, 0 3px 6px -3px #bbb; } .noUi-handle::before, .noUi-handle::after { content: ""; display: block; position: absolute; left: 7px; top: 50%; transform: translate(0, -50%); width: 1px; height: 8px; background: var(--color-dark-opacity30); } .noUi-handle:after { left: 10px; } .noUi-vertical .noUi-handle:before, .noUi-vertical .noUi-handle:after { width: 14px; height: 1px; left: 6px; top: 8px; } .noUi-vertical .noUi-handle:after { top: 17px; } [disabled] .noUi-connect { background: var(--color-dark-opacity30); } [disabled].noUi-target, [disabled].noUi-handle, [disabled] .noUi-handle { cursor: not-allowed; } .noUi-pips { position: absolute; font-size: 0.8rem; line-height: 1.4em; } .noUi-value { position: absolute; white-space: nowrap; text-align: center; } .noUi-value-sub { color: var(--color-grey); font-size: 10px; } .noUi-marker { position: absolute; background: var(--color-dark-opacity20); } .noUi-marker-sub { background: var(--color-dark-opacity40); } .noUi-marker-large { background: var(--color-dark-opacity40); } .noUi-pips-horizontal { padding: 12px 0 0; height: 28px; top: 100%; left: 0; width: 100%; } .noUi-value-horizontal { transform: translate(-50%, 50%); } .noUi-rtl .noUi-value-horizontal { transform: translate(50%, 50%); } .noUi-marker-horizontal.noUi-marker { margin-left: -1px; width: 1px; height: 3px; } .noUi-marker-horizontal.noUi-marker-sub { height: 10px; } .noUi-marker-horizontal.noUi-marker-large { height: 5px; } .noUi-pips-vertical { padding: 0 10px; height: 100%; top: 0; left: 100%; } .noUi-value-vertical { transform: translate(0, -50%); padding-left: 25px; } .noUi-rtl .noUi-value-vertical { transform: translate(0, 50%); } .noUi-marker-vertical.noUi-marker { width: 5px; height: 2px; margin-top: -1px; } .noUi-marker-vertical.noUi-marker-sub { width: 10px; } .noUi-marker-vertical.noUi-marker-large { width: 15px; } .noUi-tooltip { display: block; position: absolute; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: #fff; color: #000; padding: 0.2rem; font-size: 0.7rem; line-height: 1.4em; text-align: center; white-space: nowrap; } .noUi-horizontal .noUi-tooltip { opacity: 0; transform: translate(-50%, 6px); left: 50%; bottom: 120%; transition: transform 0.2s ease 0s; } .noUi-vertical .noUi-tooltip { transform: translate(0, -50%); top: 50%; right: 120%; } .noUi-horizontal .noUi-origin > .noUi-tooltip { transform: translate(50%, 0); left: auto; bottom: 10px; } .noUi-vertical .noUi-origin > .noUi-tooltip { -webkit-transform: translate(0, -18px); transform: translate(0, -18px); top: auto; right: 28px; }
/* Compact */
.compact .noUi-horizontal { height: 6px; }
.compact .noUi-horizontal .noUi-handle { width: 20px; height: 16px; right: -10px; top: -7px; cursor: e-resize; }
.compact .noUi-vertical { width: 18px; }
.compact .noUi-vertical .noUi-handle { width: 20px; height: 16px; right: -10px; bottom: -4px; }
.compact .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { left: -12px; right: auto; }
.compact .noUi-target { margin: 14px 1rem 26px 0.6rem; border: 1px solid #d3d3d3; border-radius: 4px; box-shadow: inset 0 1px 1px #f0f0f0, 0 3px 6px -5px #bbb; background: var(--color-white); }
.compact .noUi-handle::before, .compact .noUi-handle::after { left: 7px; top: 7px; height: 6px; width: 1px; }
.compact .noUi-handle:after { left: 10px; }
.compact .noUi-vertical .noUi-handle:before, .compact .noUi-vertical .noUi-handle:after { width: 14px; height: 1px; left: 6px; top: 14px; }
.compact .noUi-vertical .noUi-handle:after { top: 17px; }
.compact .noUi-pips { font-size: 0.7rem; line-height: 1.4em; }
.compact .noUi-pips-horizontal { padding: 6px 0 0; height: 30px; }
/* Customize */
.monetary .noUi-tooltip::before, .monetary .noUi-value::before { content: '$'; }
.noUi-horizontal .noUi-handle:hover .noUi-tooltip { opacity: 1; transform: translate(-50%, 0); }

	/* td layout */
	body .k-grid tr td .td-layout { display: flex; align-items: center; gap: 0.4em; }
	body .k-grid:has(button:nth-child(2)) tr td:last-child .td-layout { justify-content: flex-end; }
	body .k-grid tr td .td-layout.wrap { flex-flow: row wrap; }
	body .k-grid tr td .td-layout .input-container, body .k-grid .td-layout .input-container { margin: 0; }
		body .k-grid tr td .td-layout .input-container input, body .k-grid .td-layout .input-container select { margin: 0; padding: 0.4rem; }
	body .k-grid tr td .td-layout .input-container:has(.k-i-dollar) input { padding: 0.4rem 0.6rem 0.4rem 1.2rem; }
		body .k-grid tr td .td-layout .input-container:has(.k-i-dollar) .k-i-dollar { bottom: 50%; left: 6px; transform: translateY(50%); }
		body .k-grid tr td .td-layout .button { margin: -0.5rem 0; padding: 0.5rem 0.6rem; font-size: 0.8rem; line-height: 1.4em; white-space: nowrap; }
		body .k-grid tr td .td-layout hr { flex: 0 0 1px; height: 2.4em; margin: 0 6px; background: var(--color-grey); }

	/* Buttons */
	body.app tbody td .button { display: flex; align-items: center; gap: 0.4em; position: relative; text-align: left; white-space: nowrap; }
		body.app tbody td .button span.k-icon { flex: 0 0 auto; height: 1.4em; margin: -0.4em 0; font-size: 1.4em; }
	/* Status */
	body.app .k-grid tr td .status { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.6rem; border-radius: var(--border-radius-small); background: var(--color-dark-opacity5); font-size: 0.8rem; font-weight: 800; line-height: 1.4em; }
	body.app .k-grid tr td .status.requested { color: var(--color-orange); }
	body.app .k-grid tr td .status.in-process { color: var(--color-primary); }
	body.app .k-grid tr td .status.fulfilled { color: var(--color-green); }
		body.app .k-grid tr td .status::before { content: ''; width: 8px; height: 8px; background: var(--color-primary); border-radius: 8px; }
		body.app .k-grid tr td .status.requested::before { background: var(--color-orange); }
		body.app .k-grid tr td .status.fulfilled::before { background: var(--color-green); }
	/* Radio / Checkbox */
	body.app .k-grid tr td .input-container { margin: -0.5rem 0; }
		body.app .k-grid tr td label.radio-container, body.app .k-grid tr td label.checkbox-container { margin: 0; }
	/* Select */
	body.app .k-grid tr td .select-container { margin: -1.2vw 0; }
		body.app .k-grid tr td .select-container select { max-width: 96%; padding: 0.6rem 30px 0.6rem 0.4rem; border: 1px solid var(--color-dark-opacity5); background: var(--color-white); font-size: 0.9em; }
		body.app .k-grid tr td .select-container > span.k-icon { right: 18px; }
	/* Pager */
	body.app .k-pager-wrap { padding: 1em; }
		body.app .k-pager-wrap .k-link { border: 0; background: var(--color-dark-primary); color: var(--color-white); }
		body.app .k-pager-wrap .k-link.k-state-selected { background: var(--color-white); color: var(--color-dark); }
		body.app .k-pager-wrap .k-link.k-state-disabled { background: var(--color-dark-opacity30); }
			body.app .k-pager-wrap .k-link span { margin: 0; }

/* Modal */

/* Transition to blur */
body:has(.k-window) header, body:has(.k-window) main { transition: filter 0.2s ease 0s; }

/* Overlay */
body .k-overlay { background: var(--color-dark); transition: filter 0.2s ease 0s; }
body .k-window { max-width: 94%; border: 0; box-shadow: var(--shadow-large); background: var(--color-white); }
body .k-window:not([data-role="draggable"]) { position: fixed; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 680px; max-width: 94%; max-height: 80vh; padding-top: 0 !important; border-radius: var(--border-radius-medium); overflow: auto; overscroll-behavior: contain; }

	.k-window-titlebar { position: sticky; z-index: 10; top: 0; margin-top: 0 !important; padding: 1.4rem 1.8rem; border: 1px solid var(--color-white-opacity30); border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0; background: var(--color-dark-primary); color: var(--color-white); }
		.k-window-titlebar .k-window-title { font-size: 1.6rem; line-height: 1.4em; font-weight: 400; }
		.k-window-titlebar .k-window-actions { display: flex; right: 2em; gap: 0.4rem; }
			.k-window-titlebar .k-window-action { opacity: 1; width: 30px; height: 30px; margin: 0; padding: 0; border-radius: 50%; background: var(--color-primary) !important; color: var(--color-white); }
		body .k-window .k-window-content { width: 100%; max-width: 100%; margin: 0 auto; padding: 1.4rem 1.8rem; font-size: 0.9em; }
			.k-window-content h2:first-child { margin-top: 0; }
			.k-window-content h3 { font-size: 1.4rem; font-weight: 800; }
				.k-window-content h3 .admin-recommendation { margin-left: 0.4rem; padding: 0.4rem 0.6rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); font-size: 1rem; line-height: 1.4em; }
		body .k-window .k-dialog-buttongroup { border: 0; }
		/* Form */
		.k-window-content.form { font-size: 1em; }
			.k-window-content.form #submit-box { border-radius: 0; }
				.k-window-content.form #submit-box .button { padding: 1em 1.6em; }

	/* Remote Content */
	body .k-window header { display: none; }
	body .k-window main { padding-top: 0; }

	/* Connector */
	body .connector { text-align: center; align-self: flex-end; margin-bottom: 1em; }
	body .connector.small { max-width: 26px; padding: 0; }

/* Dialog */

body .k-window .k-dialog-buttongroup { padding: 1.4rem 1.8rem; }
	body .k-dialog-buttongroup .k-button { padding: 1.4em 2em; border: 0; border-radius: var(--border-radius-medium); background: var(--color-dark-opacity5); font-size: 0.9rem; line-height: 1.4em; font-weight: 800; }
	body .k-dialog-buttongroup .k-button.k-primary { background: var(--color-primary); color: var(--color-white); }

/* --- Screen | Dashboard --- */

.dashboard-section-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(480px, 100%), 1fr)); gap: 30px; }

	.dashboard-section-title h2 { margin-right: auto; }
	.tally { display: inline-flex; align-items: center; justify-content: center; height: 1.8em; margin: -0.3em 0 0 0.2em; padding: 0.6em; border-radius: 2rem; background: var(--color-yellow); font-size: 0.6em; font-weight: 800; line-height: 1.4em; text-shadow: 0 0 10px var(--color-white); vertical-align: middle; }

	.big-stat { flex-flow: row-reverse; justify-content: center; color: var(--color-green); }
	.big-stat:not(:last-child) { border-right: 2px solid var(--color-grey); }
	.big-stat.app-pending { color: var(--color-orange); }
	.big-stat.app-denied { color: var(--color-red); }
		.big-stat h2 { color: var(--color-dark); font-size: 1.2rem; line-height: 1.2em; font-weight: 500; text-align: left; text-transform: uppercase; letter-spacing: 0.05em; }
			.big-stat h2::first-line { font-weight: 800; }
		.big-stat .big-tally { display: flex; align-items: center; gap: 0.2em; font-size: 3.3rem; line-height: 1em; font-weight: 900; }
			.big-stat .big-tally .k-icon { width: 1.6em; height: 1.6em; border-radius: 1.4em; border-radius: var(--border-radius-large); background: var(--color-white); font-size: 0.6em; line-height: 1.4em; }

	.dashboard-section-item { position: relative; padding: 0.8rem 1rem; border: 1px solid var(--color-dark-opacity10); border-radius: var(--border-radius-medium); box-shadow: var(--shadow-small); background: var(--color-white-opacity40); }
		.dashboard-section-item > h3, .dashboard-section-item > strong { flex: 0 1 110px; margin: 0; color: var(--color-primary); font-size: 0.9rem; line-height: 1.2em; }
		.dashboard-section-item.long-titles > h3, .dashboard-section-item.long-titles > strong { flex: 1 1 auto; margin-right: auto; }
			.dashboard-section-item h3 > em, .dashboard-section-item strong > em { display: block; color: var(--color-dark-primary); font-size: 0.75rem; font-weight: 400; line-height: 1.4em; }
		.dashboard-section-item button { margin: 0; padding: 0.6rem 0.8rem; font-size: 0.8rem; line-height: 1.4em; }
		.dashboard-section-item button:has(span.hide) { padding: 0.4rem; border-radius: var(--border-radius-large); }
		.dashboard-section-item > span { padding: 0.6rem 0.8rem; border-radius: var(--border-radius-small); background: var(--color-dark-opacity5); font-size: 0.75rem; font-weight: 600; line-height: 1.4em; }
		.dashboard-section-item > span.amount { position: relative; z-index: 2; display: inline-flex; padding: 0.3rem 0.5rem; border: 1px solid transparent; border-radius: var(--border-radius-small); background: linear-gradient(var(--color-white), var(--color-white)) padding-box, linear-gradient(120deg, var(--color-light-primary), #7ebcdd) border-box; color: var(--color-dark-primary); font-size: 1rem; line-height: 1.4em; font-weight: 800; }
		.dashboard-section-item > span:last-of-type, .dashboard-section-item > p { margin-right: auto; }
		.dashboard-section-item .item-controls { margin-left: auto; }

	div:first-child > .dashboard-sidebar { height: 100%; padding: 0 30px 0 0; }
	div:last-child > .dashboard-sidebar { height: 100%; padding: 0 0 0 30px; }
		.dashboard-sidebar > section { margin-top: 30px; padding: 1rem 1.4rem 1.4rem; border: 1px solid var(--color-dark-opacity10); border-top: 2px solid var(--color-light-primary); border-radius: var(--border-radius-medium); background: var(--color-white-opacity20); }
		.dashboard-sidebar > section:first-child { margin-top: 0; }
			.dashboard-sidebar .dashboard-section-item { width: 100%; border: 2px solid var(--color-white); box-shadow: none; color: var(--color-dark); }
				.dashboard-sidebar .dashboard-section-item.selected { border: 2px solid var(--color-primary); border-bottom: 2px solid var(--color-dark-primary); background: var(--color-primary); color: var(--color-white); }
					.dashboard-sidebar .dashboard-section-item.selected strong, .dashboard-sidebar .dashboard-section-item.selected strong em { color: var(--color-white); }
					.dashboard-sidebar .dashboard-section-item > span.k-icon { margin-right: 0 !important; margin-left: auto; width: 2rem; height: 2rem; padding: 0; border-radius: 2rem; color: var(--color-dark); transition: transform 0.25s ease 0s; }
						.dashboard-sidebar .dashboard-section-item.selected > span { background: var(--color-dark-opacity20); }
						.dashboard-sidebar .dashboard-section-item.selected > span.k-icon { transform: translateX(20%); background: var(--color-yellow); }
			.dashboard-sidebar h2 { font-size: 1.5rem; line-height: 1.4em; }

/* --- Screen | Login --- */

/* Login Box */
body.login { background: var(--gradient-purple-blue-conic); }

	body .login .login-box { position: relative; }
		body .login .login-box > div { position: relative; }

		body .login-intro { position: relative; z-index: 20; height: 100%; border-right: 0; background: var(--color-primary); }
			body .login .login-box .logo img { max-width: 100%; }

		body .login .login-box .sign-in, body .login .login-box .forgot-password { min-height: 100%; box-shadow: var(--shadow-medium); }
		body .login .login-box .forgot-password { opacity: 0; position: absolute; z-index: 15; top: 0; left: 0; transform: translateY(20px); width: 100%; box-shadow: none; background: var(--color-white); pointer-events: none; transition: var(--transition-mid); }
			body .login .login-box .forgot-password.active { opacity: 1; transform: translateY(0); box-shadow: var(--shadow-medium); pointer-events: all; }
				body .login .login-box .sign-in .form-wrapper, body .login .login-box .forgot-password .form-wrapper { margin: 0; }
					body .login h1 { margin: 0; font-size: 1.8em; font-weight: 300; color: var(--color-dark-primary); }

		body .login-box .button.submit { width: 100%; justify-content: center; font-weight: 800; }
		body .login-box .button.submit.secondary { background: var(--color-light-grey); color: var(--color-dark-primary); text-shadow: 0 0 4px var(--color-white); }

/* 1240 */

@media only screen and (max-width: 1240px) {

	/* --- Content --- */

	/* Kendogrid */

	body.app .k-grid th, body.app .k-grid td { font-size: 0.9em; }
		body.app .k-grid-header th.k-header > *, body.app .k-grid tr td > * { white-space: nowrap; }

}

/* > 980 */

@media only screen and (min-width: 980px) {

	/* --- Type --- */

	a[href^="tel:"], a[href^="tel:"]:hover { color: inherit; cursor: pointer; text-decoration: none; font-weight: inherit; cursor: default; }
	body.app .k-grid td a[href^="tel:"], body.app .k-grid td a[href^="tel:"]:hover { background: none; color: var(--color-dark); }

}

/* 980 */

@media only screen and (max-width: 980px) {

	html, body { font-size: 15px; }

	/* Global */
	:root {
		--spacing-large: 2.6rem 3rem; --spacing-medium: 1.6rem 2rem; --spacing-small: 0.8rem 1.2rem;
		--negative-spacing-large: -2.6rem -3rem; --negative-spacing-medium: -1.6rem -2rem; --negative-spacing-small: -0.4rem -0.8rem;
	}

	/* --- Type --- */

	h1 { font-size: 2em; }
	h2 { font-size: 1.4em; }
	h3 { font-size: 1.2em; }

	/* --- Header --- */

	.header-container .grid-container { flex-flow: row wrap; max-width: 100%; margin: 0; }
		header .logo, .login .main-content .logo { height: 40px; max-width: 50vh; margin: 1rem 3vw; }
		.header-container #menu-primary { order: 1; width: 100vw; justify-content: flex-start; margin: 0 -4%; padding: 0; border-top: 1px solid var(--color-white-opacity20); }
			.header-container #menu-primary li a { padding: 1rem 3vw; }
			.header-container #menu-primary li:first-child a { border-left: 0; }

	/* --- Content --- */

	body .page-title { padding: 2rem 7vw; }

	/* Forms */

	input, textarea, select { font-size: 0.9em; }
	.big-input input, .big-input select, .big-input textarea { padding: 0.8em; font-size: 1em; }


	/* Kendogrid */

	/* TD */
	body.app .k-grid-content td .button, body.app .k-grid-content td a { gap: 0.6em; line-height: 1.4em; }

	/* Tabs */

	body.app .k-tabstrip .k-tabstrip-items { max-width: 100%; }
		body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link { font-size: 0.9em; }

	/* Wizard */
	#wizard .k-stepper .k-step:first-child .k-step-label { left: 0; }
		#wizard .k-stepper .k-step:first-child .k-step-label::before { left: 18px; }
	#wizard .k-stepper .k-step:last-child .k-step-label { right: 0; }
		#wizard .k-stepper .k-step:last-child .k-step-label::before { right: 12px; left: inherit; }

	/* --- Screen | Login --- */

	.login .grid-container .logo { padding: 1.4em 2em 0; }
		.login .grid-container .logo img { max-width: 100px; }

	body .login .login-box .sign-in, body .login .login-box .forgot-password { padding: 2em; }

}

/* 680 */

@media only screen and (max-width: 680px) {

	html, body { font-size: 14px; }

	body .grid-container { max-width: 86%; }

	.flex-container.gap { gap: 20px; }
	.flex-container.gap.dense { gap: 10px; }

	/* --- Type --- */

	h1 { font-size: 1.5em; }
	h2 { font-size: 1.3em; }
	h3 { font-size: 1.1em; }
	h4 { font-size: 1em; }

	.public h2 { font-size: 2em; }
	.public h3 { font-size: 1.6em; }

	/* --- Header --- */

	header { padding: 0; }

		header .grid-container > * { order: 0; }

		header .grid-container .menu-primary { order: 1; flex: 1 1 auto; padding: 1em 0 1em 1em; }
			.header-container #menu-primary li { flex: 1 1 auto; height: 100%; }
				.header-container #menu-primary li a { width: 100%; height: 100%; padding: 0.8rem 1.2rem; font-size: 0.8rem; line-height: 1.3em; text-align: center; }

		header .grid-container > .user { display: none; order: 1; flex-flow: column; width: 100vw; margin: 0 -7vw 1.2rem; padding: 2rem 7vw; background: var(--color-primary); font-size: 0.9em; color: var(--color-white); }
			header .grid-container .user > div { flex-flow: column; align-items: flex-start; justify-content: center; }
			header .grid-container > .user .user-menu { justify-content: flex-start; gap: 0; padding: 0; }
				header .grid-container > .user span { color: var(--color-white); font-size: 1.1rem; }
				header .grid-container > .user .user-menu a, header .grid-container > .user .user-menu a:hover { padding: 0.4em 0; border-right: 0; color: var(--color-white); font-size: 1.1rem; }
					header .grid-container > .user .secondary-menu a, header .grid-container > .user .secondary-menu a:hover { padding: 0.4em 0; border: 0; color: var(--color-white); font-size: 1.1rem; }

		header .grid-container > search { order: 2; width: 100%; margin: 0 0 1.2rem; }

		/* Menu - Toggle */
		body header .menu-toggle, body header .menu-toggle:hover { display: inline-flex; position: relative; margin-left: auto; overflow: visible !important; }
			body header .menu-toggle .tally { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: -0.7rem; right: -0.7rem; width: 1.2rem; height: 1.2rem; padding: 0; border-radius: var(--border-radius-large); font-size: 0.8rem; }

	/* --- Content --- */

	/* Page Title */
	body .page-title { padding: 1rem 7vw; }

	/* --- Grid --- */

	body.app .k-grid-toolbar { flex-flow: column; }
		body.app .k-grid-toolbar span.k-grid-search { width: 100%; }
		.grid-sorting .input-container { width: 100%; }
			.grid-sorting .input-container .select-container { flex: 1 1 auto; }

	/* --- Forms --- */

	body .account-search .shadow-card { padding: 1.4em; }

	/* Search */
	input, textarea, select, body.app .search-container input { font-size: 16px !important; }

	/* Tabs */

	body.app .k-tabstrip .k-tabstrip-items { flex-flow: column; }

	/* Wizard */
	#wizard .k-stepper { padding: 1vw 2vw; }
		#wizard .k-stepper .k-step-current .k-step-indicator { width: 1.8rem; height: 1.8rem; font-size: 0.9rem; }

	/* Submit Box */
	#submit-box .grid-container { flex-flow: column-reverse; }
		#submit-box .button { padding: 1em 1.4em; }

	/* --- Screen | Home --- */

	.feature-container { padding: 0; }
		.feature-container .feature { width: 100%; max-width: 400px; padding: 0 7% 2.4rem; }
			.feature-container .fit-image::before { top: auto; bottom: 0; height: 60px; background: linear-gradient(180deg, rgba(10,49,44,0) 0%, rgba(10,49,44,1) 100%); }
		.feature-container .fit-image { position: relative; height: 200px; }
			.feature-container .feature p { font-size: 1rem; }

	.audience .audience-block { flex: 1 0 100px; padding: 0.6rem; }
		.audience .fit-image { width: 80px; }

	/* --- Screen | Profile --- */

	.profile-details .profile-img-container { flex: 0 0 120px; width: 120px; height: 120px; }
	.profile-details .profile-location { flex: 1 1 100%; margin-top: 10px; }

	/* --- Screen | Housing Camps --- */

	.map-row { height: calc(100dvh - 136px); }
		.map-row .map-item-list-column { position: fixed; z-index: 10; top: calc(100dvh - 4.6rem); left: 2%; width: 96%; height: 4.6rem; border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; transition: var(--transition-mid); overflow: hidden; }
			.map-row .map-item-list-column.active { top: 14dvh; height: 86dvh; }
				.map-row .map-item-list { background: var(--color-white); overflow-y: auto; overflow-x: hidden; }
					.map-row .map-item-list-column .map-item-list .hide-list { margin-top: 0; }
						.map-row .map-item-list-column.active .map-item-list .hide-list { display: flex; justify-content: center; }
						body.app .search-container input { border: 2px solid var(--color-light-grey); }
					.map-row .map-item-list .sticky { margin-top: 3rem; }
						.map-row .map-item-list-column.active .map-item-list .sticky { margin-top: 1rem; transition: margin-top 0.5s ease 2s; }
							.map-row .map-item-list .sticky::before { display: none; }
					/* .map-row .map-item-list .sticky { position: relative; margin-top: 0; } */

	.map-row .map-item-list .map-item button > strong { font-size: 1rem; line-height: 1.1rem; }

}