/* 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; scroll-behavior: smooth; } 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 { text-wrap: balance; } a:not([class]) { text-decoration-skip-ink: auto; } 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: "Montserrat", Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 00; line-height: 1.4em; text-align: left; }
body.public { font-size: 22px; line-height: 1.3em; }
html { overflow-y: scroll; }

/* Fonts */
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat.ttf"); font-weight: 400 900; font-synthesis: none; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat-Italic.ttf"); font-weight: 400 900; font-style: italic; font-synthesis: none; font-display: swap; }

/* Global */
:root {
	--color-focus: #4570c6;
	--color-dark: #212529;
	--color-darkest-primary: #00565F;
	--color-dark-primary: #07747F;
	--color-primary: #0993A0;
	--color-light-primary: #d1e2e8;
	--color-dark-secondary: #A8260F;
	--color-secondary: #c85345;
	--color-light-secondary: #db7267;
	--color-dark-green: #234747;
	--color-red: #C91A32;
	--color-dark-red: #960014;
	--color-orange: #c25400;
	--color-yellow: #ECBF65;
	--color-green: #117f38;
	--color-dark-grey: #6d686c;
	--color-grey: #ced4da;
	--color-light-grey: #F4F4F4;
	--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);
	--spacing-large: 2.6vw; --spacing-medium: 1.2vw; --spacing-small: 0.6rem;
	--negative-spacing-large: -2.6vw; --negative-spacing-medium: -1.6vw; --negative-spacing-small: -0.6rem;
	--border-radius-large: 2rem; --border-radius-medium-container: 0.8rem; --border-radius-medium: 0.6rem; --border-radius-small: 0.3rem;
	--transition-fast: all 0.25s ease 0s; --transition-mid: all 0.4s ease 0s;
	--shadow-soft: 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: 700; }
	.skip:focus-visible { top: 0; color: var(--color-white); }

/* Keyboard Navigation Outline */
body.app :focus-visible { outline: 2px solid var(--color-focus); }
/* For elements showing a white outline before transitioning to the focus color */
body.app a, button, body.app .k-wizard .k-step, body.app #panelbar li { outline: 2px solid transparent; }
	body.app a:focus-visible, body.app button:focus-visible, body.app .k-wizard .k-step.k-step-focus:focus-visible, body.app #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.wide{max-width:100%}body .grid-container.width1600{width:1600px}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}.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: -1rem; margin-left: -1rem; } .row.gap > * { padding-right: 1rem; padding-left: 1rem; } .row.gap.large { margin-right: -2rem; margin-left: -2rem; } .row.gap.large > * { padding-right: 2rem; padding-left: 2rem; } .row > * { flex-grow: 1; flex-shrink: 1; } .row > .small { flex-grow: 0; } body .push-up { margin-top: 2rem !important; }	body .push-down { margin-bottom: 2rem !important; } body .push-up.big-push { margin-top: 3rem !important; }body .push-down.big-push { margin-bottom: 3rem !important; } body .push-up.small-push { margin-top: 1rem !important; }body .push-down.small-push { margin-bottom: 1rem !important; }	body .hide { display: none; }

/* Heading */
h1, h2, h3, h4 { margin: 0.6rem 0; color: var(--color-darkest-primary); font-weight: 700; line-height: normal; }
h1:first-of-type, h2:first-of-type, h3:first-of-type, h4:first-of-type { margin-top: 0; }
h1:last-of-type, h2:last-of-type, h3:last-of-type, h4:last-of-type { margin-bottom: 0; }
.no-padding h1, .no-padding h2, .no-padding h3, .no-padding h4 { margin: 0; }
h1 { font-size: 2.4em; font-weight: 900; line-height: 1em; }
h2 { margin-bottom: 0; font-size: 1.6em; }
h3 { font-size: 1.3em; font-weight: 700; }
h4 { font-size: 1.1em; }

.public h2 { font-size: clamp(0rem, -12.542rem + 20.48vw, 5.375rem); line-height: 1em; }
.public h2.section-title { display: inline-block; width: 100%; font-weight: 400; }
.public .flex-container h2.section-title { width: auto; }
	.public h2 strong { color: var(--color-primary); }
.public h3 { font-size: 2.6rem; line-height: 1.1em; }

/* Paragraph */
p { margin: 1rem 0 0; }
	p img { max-width: 100%; height: auto !important; }
	b, strong { font-weight: 700; }

/* Links */
a, button { background: none; padding: 0; border: 0; color: var(--color-secondary); font-weight: 700; text-decoration: none; cursor: pointer; transition: 0.2s ease 0s; transition-property: border, background, color; }
	a:hover, button:hover { color: var(--color-dark-secondary); text-decoration: none; outline: none; }
.dark a, .dark button { color: var(--color-white); }
	.dark a:hover, .dark button:hover { color: var(--color-white-opacity80); }

ul li small { display: block; margin: 0.4rem; padding: 0.6rem 0.8rem; border-radius: var(--border-radius-medium); background: var(--color-light-grey); font-size: 0.85rem; line-height: 1.4em; }

/* Links / Buttons */
body .button, body .k-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 0.2em; margin-top: 1rem; padding: 1rem 1.2rem; border: 0; border-radius: var(--border-radius-small); background: var(--color-secondary); color: var(--color-white); font-size: 1rem; font-weight: 500; text-decoration: none; }
body .button:has(.k-icon) { align-items: stretch; gap: 1em; padding: 1rem 0 1rem 1rem; }
body .button.secondary { background: var(--color-light-grey); color: var(--color-dark-secondary); font-size: 0.85rem; line-height: 1.4em; }
body .button.doc-link { width: 100%; padding: 1rem 0 1rem 1.2rem; background: var(--color-light-grey); color: var(--color-dark); font-size: 0.85rem; line-height: 1.4em; }
	body .button.doc-link strong { color: var(--color-secondary); font-size: 1.1rem; line-height: 1.2em; }
body .button.full-width { justify-content: space-between; width: 100%; }
body .button.red { border: 3px solid var(--color-red); }
body .button.green { border: 3px solid var(--color-primary); color: var(--color-dark-green); }
body .dark .button.secondary:not(:hover) { background: var(--color-dark-opacity80); color: var(--color-white); }
body .button.compact, body .button.compact:hover { padding: 0.4rem 0.6rem; font-size: 0.9rem; line-height: 1.4em; }
	body .button.compact .k-icon, body .button.compact:hover .k-icon { flex: 0 0 2rem; width: 2rem; height: 2.2rem; margin: -0.4rem -0.6rem -0.4rem 0; }
body .button.no-border, body .button.no-border:hover { border: 0; }
	/* Hover */
	body .button:hover, body .k-button:hover { color: var(--color-white); background: var(--color-dark-secondary); text-decoration: none; }
	body .button.secondary:hover { background: var(--color-light-grey); color: var(--color-secondary); }
	body .button.doc-link:hover { background: var(--color-light-grey); color: var(--color-dark); }
		body .button .k-icon { flex: 0 0 2.5em; width: 2.5em; height: calc(1.4rem + 2rem); min-height: calc(100% + 2rem); margin: -1rem 0; border-radius: 0 3px 3px 0; background: var(--color-light-secondary); color: var(--color-white); transition: 0.2s ease 0s; transition-property: border, background, color; }
		body .button.secondary .k-icon { background: var(--color-dark-opacity10); }
			body .button:hover .k-icon { background: var(--color-secondary); color: var(--color-white); }

/* HR */
hr { background: var(--color-dark-opacity10); display: inline-block; width: 100%; height: 1px; margin: 1.6rem 0 0; border: 0; }
hr.vertical { width: 1px; height: 100%; margin: 0 1rem; }
hr.vertical { flex: 0 0 auto; align-self: stretch; height: auto; }
.input-container hr { margin: 1rem 0 0; }

/* 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); }
		body.app .dark .divider-text > * { background: var(--color-dark-primary); }
		body.app .divider-text.centered > * { padding: 0.4rem 1.4rem; }
		body.app .divider-text.reverse > * { background: var(--color-dark-primary); color: var(--color-white); }
		body.app .divider-text > h1 { margin: 0; }
		body.app .divider-text > .button { color: var(--color-dark-secondary); }
			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); }

/* 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; }

/* Dark */
.dark, .dark h1, .dark h2, .dark h3, .dark h4 { color: var(--color-white); }

/* --- Header --- */

header { position: sticky; z-index: 9999; top: 0; width: 100%; padding: 0.8em 0; box-shadow: 0 0 20px -16px var(--color-dark); background: var(--color-darkest-primary); }

	/* Logo */
	header .logo { max-width: 140px; background: var(--color-white); }
		header .logo img { max-width: 100%; max-height: 100%; vertical-align: top; }

	/* User */
	header .grid-container > .user { position: relative; z-index: 5; gap: 0.4em; margin-left: auto; padding-left: 2em; }
		header .grid-container > .user button { display: flex; align-items: center; gap: 0.4em; color: var(--color-dark); font-size: 0.9rem; font-weight: 400; line-height: 1em; }
		header .grid-container > .user a, header .grid-container > .user span { display: flex; align-items: center; gap: 0.4em; font-size: 0.9rem; line-height: 1em; }
		header .grid-container > .user span { position: relative; }
			header .grid-container > .user span .user-dropdown { display: none; position: absolute; top: 100%; right: 0; min-width: 180px; margin-top: 1rem; width: 100%; padding: 0.6rem 1.2rem; border-radius: var(--border-radius-small); box-shadow: var(--shadow-small); background: var(--color-light-grey); }
				header .grid-container > .user span .user-dropdown a { width: 100%; padding: 0.6rem 0; border-bottom: 1px solid var(--color-grey); color: var(--color-dark-primary); font-size: 0.8rem; line-height: 1.4em; text-decoration: none; }
				header .grid-container > .user span .user-dropdown a:last-child { border: 0; }
					header .grid-container > .user span .user-dropdown a:hover { color: var(--color-primary); }
		/* User Menu */
		header .grid-container > .user .user-menu { align-items: baseline; padding: 0.4em 0; }
			header .grid-container > .user .user-menu a, header .grid-container > .user .user-menu button { color: var(--color-white); font-size: 0.85rem; font-weight: 500; }
				header .grid-container > .user .user-menu a:hover, header .grid-container > .user .user-menu button:hover { color: var(--color-white-opacity70); }
			header .grid-container > .user .user-menu a:has(.tally) { display: inline-flex; align-items: center; justify-content: center; margin: -0.2rem 0; padding: 0.3rem 0.5rem 0.2rem; border-radius: var(--border-radius-small); background: var(--color-light-grey); font-size: 0.9rem; line-height: 1em; text-decoration: none; }
				header .grid-container > .user .user-menu a:has(.tally) .tally { font-weight: 700; }
		/* Primary Menu */
		header .grid-container > .user .secondary-menu a { color: var(--color-white); padding: 0 0.6rem; }
		header .grid-container > .user .secondary-menu a:last-child { margin-right: 1rem; }
			header .grid-container > .user .secondary-menu a .tally { display: inline-flex; padding: 6px 10px; border-radius: var(--border-radius-small); background: var(--color-orange); color: var(--color-white); font-size: 0.7rem; text-align: center; text-transform: uppercase; letter-spacing: 1px; }

	/* Search */
	header search { flex: 1 1 auto; display: flex; align-items: center; position: relative; }
		header search form { width: 100%; }

	/* Menu - Primary */
	header .menu-primary { display: flex; align-items: center; justify-content: center; margin: auto 0; padding: 0 3%; list-style: none; }
		header .menu-primary li { position: relative; }
			header .menu-primary a { display: flex; flex-flow: row wrap; align-items: center; position: relative; padding: 0.8rem 1.2rem; border-radius: var(--border-radius-small); color: var(--color-white); font-size: 0.9rem; font-weight: 600; line-height: 1.2em; }
			header .menu-primary.public a { width: max-content; font-size: 1rem; font-weight: 700; line-height: 1.2em; }
				header .menu-primary a.active, header .menu-primary button.active { background: linear-gradient(135deg, var(--color-light-grey) 0%, var(--color-off-white) 100%); }
				header .menu-primary a:hover, header .menu-primary button:hover { background: var(--color-dark-opacity50); color: var(--color-white); }
					header .menu-primary a strong { display: inline-block; width: 100%; font-size: 1.2rem; line-height: 1.2em; }
				/* Submenus */
				header .menu-primary li ul { position: absolute; top: 100%; left: 0; width: 300px; max-width: 100vw; margin: 0; padding: 0; opacity: 0; background: var(--color-white); 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-opacity10); }
						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-dark); font-size: 0.9rem; font-weight: 700; line-height: 1.2em; }
									header .menu-primary > li > ul ul { display: none; top: -0.4rem !important; right: 100%; left: auto; padding: 0.4em 1em; }

	/* Menu - Toggle */
	body header .menu-toggle, body header .menu-toggle:hover { display: none; margin: 0; padding: 0 !important; border: 0 !important; background: var(--color-light-grey); color: var(--color-dark-secondary); }
		body header .menu-toggle strong { opacity: 0; position: absolute; }
		body header .menu-toggle .k-icon { width: auto; height: auto; margin: 0; padding: 0.4em !important; color: var(--color-primary); }
			body header .menu-toggle .k-icon::before { position: relative; }
		body header .menu-toggle .tally { display: none; padding: 6px 6px 3px; border-radius: var(--border-radius-small); background: var(--color-orange); color: var(--color-white); font-size: 0.7rem; text-align: center; text-transform: uppercase; letter-spacing: 1px; }

/* --- Content --- */

.main-content { display: flex; flex-direction: column; }
.login .main-content { justify-content: center; min-height: 100vh; }

.light-grey-container { background: var(--color-light-grey); }

.green-bar { border-image: linear-gradient(180deg, var(--color-dark-primary) 0%, var(--color-dark-primary) 40%, rgba(85,149,36,0) 40%, rgba(85,149,36,0) 100%) fill 0 // 0 100vw; }

/* Inquiry Status */
.status { display: inline-flex; align-items: center; gap: 0.2rem; width: 100%; font-size: 0.9em; line-height: 1.4em; }
	.status-indicator.status-green { color: var(--color-secondary); }
	.status-indicator.status-red { color: var(--color-red); }

/* 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.stretch { 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; }
.align-stretch { align-items: stretch; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
.justify-stretch { justify-content: stretch; }
	.flex-item { order: 0; flex: 1 1; margin: 0; }
	.flex-item.full-width { width: 100%; }
	.flex-item.auto-width { flex-grow: 0 !important; flex-basis: auto !important; width: auto; }

.text-align-center { text-align: center; }

body .shadow-card { border: 3px solid var(--color-grey); border-radius: var(--border-radius-medium); box-shadow: var(--shadow-soft); background: var(--color-white); overflow: hidden; }
body.login .shadow-card { border: 0; }
body .shadow-card:has(.section-info) { overflow: visible; }

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:not(.hide) { margin: 0; padding: var(--spacing-medium) 0; }
body .page-title.flex-container { flex-wrap: nowrap; align-items: flex-center; justify-content: space-between; gap: 1em; }
	body .page-title h1 { flex: 1 1; margin-top: 0.2rem; font-size: clamp(1.6rem, 0.019rem + 2.58vw, 2.6rem); font-weight: 900; }

/* Info Popup */
.section-info-popup { display: none; }
.section-info { position: relative; font-size: 0.9rem; font-weight: 500; line-height: 1.4em; text-transform: none; }
	.section-info button { margin: -4px 0; padding: 4px; vertical-align: top; line-height: 1em; }
	.section-info .section-info-popup { display: none; opacity: 0; position: absolute; z-index: 10; bottom: 100%; left: 50%; transform: translate(-50%, -0.2rem); width: 280px; padding: 1.2rem 1.4rem; border-radius: var(--border-radius-medium); background: var(--color-dark-primary); color: var(--color-white); transition: var(--transition-fast); pointer-events: none; }
		.section-info.active .section-info-popup { opacity: 1; transform: translate(-50%, -0.8rem); width: 280px; padding: 1.2rem 1.4rem; border-radius: var(--border-radius-medium); background: var(--color-dark-primary); color: var(--color-white); pointer-events: all; }
			.section-info .section-info-popup::before { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border-top: 8px solid var(--color-dark-primary); border-right: 8px solid transparent; border-left: 8px solid transparent; }
		.section-info .section-info-popup button.hide-section-info { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; margin: 0; padding: 0; border: 2px solid var(--color-white-opacity20); border-radius: var(--border-radius-small); background: var(--color-red); color: #fff; line-height: 14px; transition: all 0.25s ease 0s; }
			.section-info .section-info-popup button.hide-section-info:hover { border: 2px solid var(--color-white-opacity50); background: var(--color-red); color: #fff; }
.approved-supplier-absolute-container { position: relative; margin-bottom: -15px; }
	.approved-supplier-absolute-container .approved-supplier-absolute { position: absolute; top: -2rem; right: 0; }

	/* Small Gallery */
.small-gallery-item { flex: 0 1 calc(25% - 15px); position: relative; min-width: 80px; height: 80px; }
	.small-gallery-item img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--border-radius-small); }
	.small-gallery-item .view-image { opacity: 0; display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: var(--border-radius-small); background: var(--color-dark-opacity50); color: var(--color-white); transition: var(--transition-fast); }
		.small-gallery-item:hover .view-image, .small-gallery-item .view-image:focus-visible { opacity: 1; }
			.small-gallery-item .view-image .k-icon { font-size: 1.8rem; }

/* Gallery Viewer Modal */
@keyframes mmfadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes mmfadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}
@keyframes mmslideIn {
	from { transform: translateY(15%); }
	to { transform: translateY(0); }
}
@keyframes mmslideOut {
	from { transform: translateY(0); }
	to { transform: translateY(-10%); }
}

.micromodal-slide { display: none; }
.micromodal-slide.is-open { display: block; }
.micromodal-slide[aria-hidden="false"] .micromodal__overlay { animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1); }
.micromodal-slide[aria-hidden="false"] .micromodal__container { animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1); }
.micromodal-slide[aria-hidden="true"] .micromodal__overlay { animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1); }
.micromodal-slide[aria-hidden="true"] .micromodal__container { animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1); }
.micromodal-slide .micromodal__container, .micromodal-slide .micromodal__overlay { will-change: transform; }

.micromodal { display: none; position: fixed; z-index: 120; }
	.micromodal.is-open { display: block; }
		.micromodal__overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--color-dark-opacity90); display: flex; justify-content: center; align-items: center; }
			.micromodal__container { background-color: var(--color-white); padding: 3px; border-radius: var(--border-radius-medium); overflow-y: auto; }
				.micromodal button.close { position: absolute; top: 1em; right: 1em; }
					.micromodal img { width: auto; max-width: 100%; height: auto; max-height: 80vh; border-radius: var(--border-radius-medium); vertical-align: middle; }

/* --- Forms --- */

/* Wizard */
#wizard { overflow: visible; }
	#wizard, #wizard .k-widget, #wizard .k-wizard-steps { margin: 0 0 1rem; padding: 0; background: none; }
	#wizard .k-stepper { margin: 0; padding: 0; border-radius: 3px 5px 0 0; background: var(--color-white); }
	main:not(.review-general-enrollment-application):not(.review-medicare-switch-enrollment) #wizard .k-stepper { margin: 0 0 1rem; border-bottom: 1px solid var(--color-dark-opacity10); border-radius: 0 0 5px 5px; }

	#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 { position: relative; padding: 1rem 0; overflow: visible; }
			#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); box-shadow: 0 0 6px 4px var(--color-white); background: var(--color-white); color: var(--color-dark); }
					#wizard .k-stepper .k-step-current .k-step-indicator { border-color: var(--color-red); box-shadow: 0 0 6px 6px var(--color-white); 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 { position: absolute; opacity: 0; top: 70%; width: 140px; max-width: inherit; margin: 0; padding: 0.8em 1em; border-radius: var(--border-radius-small); box-shadow: 0 2px 18px -4px var(--color-dark-opacity20); background: var(--color-white); color: var(--color-dark); font-size: 0.9em; line-height: 1.2em; transition: all 0.4s ease 0s; pointer-events: none; }
					#wizard .k-stepper .k-step:hover .k-step-label { opacity: 1; top: 90%; }
						#wizard .k-stepper .k-step .k-step-label::before { content: ''; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); border-right: 4px solid transparent; border-bottom: 4px solid var(--color-dark-primary); border-left: 4px solid transparent; }
							#wizard .k-stepper .k-step .k-step-label .k-step-text { overflow: visible; max-width: 100%; white-space: initial; }

		#wizard .k-progressbar-horizontal { top: calc(50% - 1px); margin: 0; border-color: var(--color-light-grey); }
			#wizard .k-progressbar-horizontal .k-state-selected { border-color: var(--color-grey); }

	#wizard .k-wizard-steps .k-wizard-step { padding: 0; }

	/* 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-opacity10); border-radius: var(--border-radius-small); }
	fieldset legend { margin-left: -1.3rem; padding: 0 1em; color: var(--color-primary); font-size: 1.3rem; font-weight: 700; }
	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; padding: 0.8rem 1rem; border-top: 1px solid var(--color-white); border-radius: var(--border-radius-small); background: var(--color-light-grey); font-size: 1.3rem; }
.form-wrapper h4 { margin: 1rem 0 0.2rem; font-weight: 700; }

/* Containers */
.input-container { position: relative; margin-top: 1.4rem; }
.input-container.auto-width { width: auto; }
	.input-container label, .input-container strong { display: block; font-size: 0.9rem; font-weight: 700; line-height: 1.4em; }
	.input-container label.hide, .input-container strong.hide { position: absolute; width: 0; height: 0; 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.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.1rem; font-weight: 700; line-height: 1.4em; }
/* Monetary */
body .input-container:has(.k-i-dollar) { position: relative; }
	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: 1.2rem; left: 10px; }
	.row.gap .input-container:has(.k-i-dollar) .k-i-dollar { left: 26px; }

/* Inputs */
input, textarea, select, .app .k-autocomplete input { 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; appearance: none; }
body .big-input input[type="text"], body .big-input select, .big-input textarea { padding: 1.2rem; border-radius: var(--border-radius-medium); font-size: 1.1em; }
input::placeholder, textarea::placeholder, select::placeholder { color: #000; }
/* Search */
body.app .search-container { flex: 1 1 240px !important; align-self: center !important; }
	body.app .search-container label { position: absolute; left: 1em; top: 50%; transform: translateY(-50%); }
	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 { margin: 0; padding: 0.6em 48px 0.6em 0.8em; border: 2px solid transparent; background: var(--color-light-grey); }
	body.app .search-container button { display: inline-flex; position: absolute; z-index: 2; right: 0.4em; top: 50%; transform: translateY(-50%); padding: 0.6em; 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-grey); }
				body.app .search-container button:hover::before { background: none; }
/* Select */
body .select-container { position: relative; }
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: calc(50% + 0.3rem); right: 10px; transform: translateY(-50%); pointer-events: none; }
	body .grid-sorting .select-container > span.k-icon { top: 50%; }
		body select { padding: 0.8rem 30px 0.8rem 0.6rem; cursor: pointer; }
		body select option { font-weight: 400; }
/* Multi-Select */
body .k-multiselect .k-multiselect-wrap, body .input-container .k-multiselect .k-list-container { display: flex; flex-flow: row wrap; gap: 0.4rem; margin-top: 0.6rem; padding: 0.5rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); }
body .dark .k-multiselect .k-multiselect-wrap { background: var(--color-dark-opacity10); border: 1px solid var(--color-dark-opacity30); }
	body .k-multiselect-wrap ul { display: flex; flex-flow: row wrap; gap: 0.4rem; position: relative; z-index: 2; max-width: calc(100% - 20px); }
	body .k-multiselect-wrap ul:empty { display: none; }
		body .k-multiselect-wrap li { display: flex; align-items: center; margin: 0; padding: 0.2rem 1.4rem 0.2rem 0.4rem; border: 2px solid var(--color-dark-opacity0); border-radius: 5px; background: var(--color-yellow); color: var(--color-dark); font-size: 0.85em; transition: var(--transition-fast); }
			body .k-multiselect-wrap li:hover { border: 2px solid var(--color-dark-opacity20) !important; color: var(--color-dark) !important; }
				body .k-multiselect-wrap li .k-select[title="delete"] { display: inline-flex; }
				body .k-multiselect .k-multiselect-wrap input { opacity: 1; width: 34px !important; height: 34px; padding: 0; border: 1px solid var(--color-dark-opacity20); background: url(../images/icon_add-category.svg) no-repeat center var(--color-white); background-size: 20px auto; color: transparent; cursor: pointer; }
	body .k-multiselect > span { display: flex !important; top: 50% !important; left: 52px !important; transform: translateY(-50%); width: calc(100% - 66px); visibility: visible !important; }
		body .k-multiselect .k-multiselect-wrap > span.k-i-close { top: 50% !important; left: auto; transform: translateY(-50%); }
	body .k-listbox .k-item, body .k-popup .k-list .k-item { margin: 0; padding: 0.4rem 0.8rem; border-bottom: 1px solid var(--color-grey); font-size: 0.9em; }
		body .k-listbox .k-item:hover, body .k-popup .k-list .k-item:hover, body .k-listbox .k-item:focus-visible, body .k-popup .k-list .k-item:focus-visible { background: var(--color-dark-opacity5); }
/* Radio and Checkbox */
body .input-container:not(.lineup):has(.radio-container), body .input-container:not(.lineup):has(.checkbox-container) { display: flex; flex-flow: column; gap: 0.8rem; }
body .radio-container, body .checkbox-container { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 1rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-small); background: var(--color-white); color: var(--color-dark); font-weight: 500; cursor: pointer; transition: var(--transition-fast); }
	body .radio-container:hover, body .checkbox-container:hover { border: 1px solid var(--color-primary); }
		body input.k-radio, body input.k-checkbox { flex: 0 0 20px; width: 20px; height: 20px; margin: -2px 0 0; padding: 0; border: 1px solid var(--color-grey); 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); }
				body .option-description { display: inline-flex; align-items: center; margin: -0.2rem 0; padding: 0.2rem 0.4rem; border-radius: var(--border-radius-small); background: var(--color-light-grey); font-size: 0.8rem; line-height: 1.4em; }
	/* 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.4em; margin: 0; padding: 0; border: 0; }
		body .small-input label.checkbox-container, body .small-input label.radio-container { align-items: flex-start; }
			body .small-input label.checkbox-container input, body .small-input label.radio-container input { padding: 0.2rem; }
				.k-radio::before, .k-checkbox::before { color: var(--color-dark); line-height: 1em; }
				.small-input .k-radio::before { width: 6px; height: 6px; }
	/* Readonly */
	body .input-container:has([readonly]) input:not([data-role="datepicker"]), body .input-container:has([readonly]) textarea, body .input-container:has([readonly]) select, body.app .input-container:has([readonly]) .k-autocomplete input { border: 0; background: var(--color-dark-opacity5); color: var(--color-dark-opacity80); }
	
    /* Date / Time */
	body .k-datetime-container { background: var(--color-white); }
		body .k-datetime-container .k-button-group .k-button { border: 0; border-bottom: 5px solid var(--color-grey); background: var(--color-white); }
		body .k-datetime-container .k-button-group .k-button.k-state-active { border-bottom: 5px solid var(--color-orange); }
		/* Picker */
		body .input-container .k-datepicker { margin-top: 0.6rem; }
			body .input-container .k-picker-wrap { padding-right: 42px; border: 0; border-radius: 5px; background: var(--color-secondary); color: var(--color-white); }
				body .input-container .k-picker-wrap input { margin: 0 !important; padding: 0.8rem 0.4rem; border: 1px solid var(--color-grey); border-radius: 5px 0 0 4px; font-size: 1rem; line-height: 1.4em; }
				body .input-container .k-picker-wrap .k-select { display: flex; align-items: center; justify-content: space-evenly; width: 42px; border: 0; cursor: pointer; }
					body .input-container .k-picker-wrap .k-select .k-link { display: inline-flex; width: auto; padding: 1em 0.4em; color: var(--color-white); }
					body .input-container .k-picker-wrap .k-select .k-link:first-child { border-right: 1px solid rgba(0, 0, 0, 0.2); }
				body .k-calendar .k-calendar-header .k-button { margin: 0; padding: 0; }
				body .k-calendar .k-calendar-header .k-button-icon { width: 1.6rem; padding: 0.5rem 0.3rem; }
					body .k-calendar .k-calendar-header .k-button::before, body .k-calendar .k-calendar-header .k-button::after { width: auto; }
	/* Calendar Picker */
	.app .k-calendar { margin-top: 0.6rem; }
	.app .k-calendar, .k-calendar .k-header, .k-calendar .k-content th { border-color: var(--color-grey); }
	.k-calendar .k-content td.k-state-selected .k-link { background: var(--color-primary); color: var(--color-white); }
	.k-calendar .k-footer { background: var(--color-light-grey); }
/* File Upload */
.input-container label.drop-container { position: relative; display: flex; gap: 10px; flex-direction: column; justify-content: center; align-items: center; height: 200px; padding: 20px; border-radius: var(--border-radius-medium); border: 2px dashed var(--color-grey); color: var(--color-dark-grey); cursor: pointer; transition: background .2s ease-in-out, border .2s ease-in-out; }
	.input-container label.drop-container:hover, .drop-container.drag-active { background: #eee; border-color: var(--color-dark); }
	.input-container label.drop-container:hover .drop-title, .drop-container.drag-active .drop-title { color: var(--color-dark); }
	.input-container label .drop-title { color: var(--color-dark); font-size: 20px; font-weight: bold; text-align: center; transition: color .2s ease-in-out; }
		.input-container label.drop-container input[type=file] { width: 350px; max-width: 100%; color: var(--color-dark); padding: 5px; background: var(--color-white); border-radius: var(--border-radius-medium); border: 1px solid var(--color-grey); }
		.input-container label.drop-container input[type=file]::file-selector-button { margin-right: 20px; border: none; background: var(--color-secondary); padding: 10px 20px; border-radius: var(--border-radius-small); color: var(--color-white); cursor: pointer; transition: background .2s ease-in-out; }
			.input-container label.drop-container input[type=file]::file-selector-button:hover { background: var(--color-dark-secondary); }

/* Date Range */
body.app .k-daterangepicker .k-textbox-container { width: 9em; }
	body.app .k-daterangepicker .k-textbox-container .k-label { top: -0.1em; left: 0; margin: 0; transform: none; }
	body.app .k-daterangepicker .k-textbox-container .k-textbox { padding: 0.6rem 0.2rem !important; }

/* Optional / Required */
.input-container:has(input:not(.k-checkbox):not(.k-radio):not([type="file"])[required]) label::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }
.input-container:has(input.k-radio[required]) strong::after, .input-container:has(input.k-checkbox[required]) label::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }
.input-container:has(input[type="file"][required]) .drop-title::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }
.input-container:has(select[required]) label::after { content: '*'; display: inline-block; margin-left: 4px; color: var(--color-red); font-size: 1.3em; font-weight: 500; line-height: 0; }

/* Input Description - aria-described-by */
.ps { display: inline-block; width: 100%; margin-top: 0.4rem; font-size: 0.85em; font-weight: 400; line-height: 1.4em; }
input + .ps { padding: 1em 0 0; }

/* Submit Box */
#submit-box { margin-top: 2rem; padding: 1rem; border-radius: var(--border-radius-medium); background: var(--color-dark-secondary); }
#submit-box.sticky { position: sticky; bottom: 1em; box-shadow: var(--shadow-medium); }
	#submit-box .button { margin: 0; }
	#submit-box .button.secondary { border: 0; background: none; color: var(--color-white); }
		#submit-box .button:hover { background: var(--color-dark-opacity10); }
		#submit-box .button.secondary:hover { background: none; color: var(--color-white-opacity80); }

/* Submit Box */
.submit-box { margin-top: 2rem; padding: 1rem; border-radius: var(--border-radius-medium); background: var(--color-dark-secondary); }
.submit-box.sticky { position: sticky; bottom: 1em; box-shadow: var(--shadow-medium); }
	.submit-box .button { margin: 0; }
	.submit-box .button.secondary { border: 0; background: none; color: var(--color-white); }
		.submit-box .button:hover { background: var(--color-dark-opacity10); }
		.submit-box .button.secondary:hover { background: none; color: var(--color-white-opacity80); }
/* --- Panelbar --- */

.k-panelbar.mimic-fieldset { border: none; }
	.k-panelbar.mimic-fieldset 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.mimic-fieldset li.k-state-active { margin: 3rem 0 0.4rem; padding: 0 0 2em; border: 1px solid var(--color-primary); }
			.k-panelbar.mimic-fieldset li::before { display: none; }
			.k-panelbar.mimic-fieldset li .k-header { padding: 1.4rem; border: 0; transition: all 0.4s ease 0s; }
				.k-panelbar.mimic-fieldset li.k-state-active .k-header { margin-top: -1.2em; padding: 0 2rem; }
					.k-panelbar.mimic-fieldset 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: 700; }
					.k-panelbar.mimic-fieldset li .k-header .k-panelbar-collapse.k-icon, .k-panelbar.mimic-fieldset 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.mimic-fieldset li:hover .k-header .k-panelbar-collapse.k-icon, .k-panelbar.mimic-fieldset li:hover .k-header .k-panelbar-expand.k-icon { background: var(--color-red); color: var(--color-white); }
						.k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-collapse.k-icon, .k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-expand.k-icon { transform: rotate(-180deg); background: var(--color-primary); color: var(--color-white); }
							.k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-collapse.k-icon:hover, .k-panelbar.mimic-fieldset li.k-state-active .k-header .k-panelbar-expand.k-icon:hover { background: var(--color-red); color: var(--color-white); }
								.k-panelbar.mimic-fieldset li .k-header .k-panelbar-collapse.k-icon::before, .k-panelbar.mimic-fieldset li .k-header .k-panelbar-expand.k-icon::before { content: '\e015'; }
			.k-panelbar.mimic-fieldset li .k-content { padding: 0 2rem; border: 0; }
				.k-panelbar.mimic-fieldset li .controls { position: absolute; top: 50%; transform: translateY(-50%); right: 4em; opacity: 0; transition: all 0.3s ease 0.2s; }
					.k-panelbar.mimic-fieldset li.k-state-active .controls { margin: 0 -0.4rem; right: 5em; opacity: 1; }
						.k-panelbar.mimic-fieldset 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.mimic-fieldset li .controls .button:hover { background: var(--color-red); }
								.k-panelbar.mimic-fieldset 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: 1.2rem; margin: 0 !important; padding: 0.8rem 0; overflow: visible !important; }

		body.app .k-tabstrip .k-tabstrip-items .k-item { flex: 1 1; border: 3px solid var(--color-grey); border-radius: var(--border-radius-medium); box-shadow: var(--shadow-medium); background: var(--color-white-opacity60); overflow: visible; transition: var(--transition-fast); }
		body.app .k-tabstrip .k-tabstrip-items.auto-width .k-item { flex: 1 1 auto; }
			body.app .k-tabstrip .k-tabstrip-items .k-item:hover { border: 3px solid var(--color-secondary); background: var(--color-white); }
			body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active { margin-bottom: 0; border: 3px solid var(--color-secondary); }
				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; justify-content: center; position: relative; z-index: 10; width: 100%; height: 100%; padding: 1.2rem 0.8rem; color: var(--color-dark-secondary); font-size: 1.1em; line-height: 1.1em; font-weight: 700; text-align: center; text-transform: uppercase; letter-spacing: 0.1em; }
					body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active span.k-link { color: var(--color-dark-secondary); text-shadow: 0 0 12px var(--color-white); }
						body.app .k-tabstrip .k-tabstrip-items .k-item span em { font-size: 0.7em; line-height: 1.2em; letter-spacing: 0; text-transform: none; }
						body.app .k-tabstrip .k-tabstrip-items .k-item span.step-status { display: inline-block; margin-top: auto; padding: 3px 8px 0; border: 2px solid var(--color-barely-secondary); border-radius: var(--border-radius-small); vertical-align: middle; color: var(--color-dark); font-size: 0.75rem; font-weight: 500; text-align: center; letter-spacing: 1px; }
						body.app .k-tabstrip .k-tabstrip-items .k-item span.step-status.incomplete { border: 2px solid var(--color-red); }
						body.app .k-tabstrip .k-tabstrip-items .k-item .k-loading { display: none; }

				body.app .k-tabstrip .k-tabstrip-items .k-item span.k-link::before { content: ''; position: absolute; left: 50%; top: 100%; transform: translateX(-50%); width: 0; height: 0; border-right: 12px solid transparent; border-top: 0 solid var(--color-secondary); border-left: 12px solid transparent; transition: all 0.1s ease 0s; }
					body.app .k-tabstrip .k-tabstrip-items .k-item.k-state-active span.k-link::before { border-top: 8px solid var(--color-secondary); }

	/* Tab Content */
	body.app .k-tabstrip .k-content { margin: 1rem 0 0; padding: 0; border: 3px solid var(--color-grey); }
	body.app .login-box .k-tabstrip .k-content { border: 0; }

/* --- Kendogrid --- */

body.app .action-bar h2 { align-self: center; margin-right: auto; }
body.app .action-bar a, body.app .action-bar button { margin: 0; }

/* Filter */
body.app .grid-filter { display: flex; flex-flow: row wrap; align-items: flex-end; gap: 1em; padding: 0.6rem 1rem 1rem; border-radius: var(--border-radius-medium); background: var(--color-light-grey); }
	body.app .grid-filter .input-container { flex: 0 1 auto; gap: 0.6rem; margin: 0; }
	body.app .grid-filter .input-container:has(.radio-container):has(.checkbox-container) { gap: 0 0.6rem; }
		body.app .grid-filter input:not(.k-radio):not(.k-checkbox), body.app .grid-filter .radio-container, body.app .grid-filter .checkbox-container, body.app .grid-filter select, body.app .grid-filter.input-container .k-picker-wrap input { margin-top: 0.2rem; padding: 0.5rem 0.7rem !important; font-size: 0.8rem; line-height: 1.4em; }
		body.app .grid-filter:has(.k-i-dollar) input:not(.k-radio):not(.k-checkbox) { padding: 0.5rem 0.7rem 0.5rem 1.4rem !important; }
			body.app .grid-filter:has(.k-i-dollar) .k-i-dollar { bottom: 0.7rem; left: 6px; }
		body.app .grid-filter select { padding-right: 30px; }
			body.app .grid-filter input.k-radio, body.app .grid-filter input.k-checkbox { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
		body.app .grid-filter .input-container .k-datepicker { width: 170px; }
		body.app .grid-filter .button, body.app .grid-filter .k-button { margin: 0; padding: 0.5rem 0.7rem; border: 1px solid var(--color-secondary); font-size: 0.8rem; line-height: 1.2em; }
		body.app .grid-filter .button:has(.k-icon) { padding: 0.5rem 0 0.5rem 0.7rem; white-space: nowrap;}
			body.app .grid-filter .button:has(.k-icon) .k-icon { flex: 0 0 2.1rem; width: 2.1rem; height: 2.1rem; margin: -0.5rem 0; }

body.app .k-grid:not(table) { width: 100%; border: none; border-radius: 5px; background: none; overflow: hidden; }
	body.app .k-grid .k-grid-header { border: 0; }
	body.app .k-grid .k-grid-toolbar { padding: 0.4em; border-bottom: none; border-radius: var(--border-radius-small); box-shadow: 0 2px 6px -2px var(--color-grey) inset; background: var(--color-light-grey); }
		body.app .k-grid .k-grid-header-wrap { border: 0; border-bottom: 1px solid var(--color-dark-opacity10); }
			body.app .k-grid .k-grid-content table { background: var(--color-white-opacity70); }
				body.app .k-grid th, body.app .k-grid td { padding: 0.9rem; border: 0; font-size: 0.9rem; line-height: 1.2em; vertical-align: center; }
				body.app .k-grid tr:has(.img-container) td { padding: 1.6rem 0.6vw; }
				body.app .k-grid tr td:has(.img-container) { padding: 0.4rem 0; font-size: 1.1rem; line-height: 1.4em; font-weight: 700; }
					body.app .k-grid tr td:has(.img-container) .td-layout { margin: 0; padding: 0; }
				body.app .k-grid th:first-child, body.app .k-grid td:first-child { padding-left: 0; }
				body.app .k-grid th:last-child, body.app .k-grid td:last-child { padding-right: 0; }
					body.app .k-grid-header th.k-header > *, body.app .k-grid tr td > * { float: none; display: inline-flex; margin: -0.4rem 0; padding: 0.4rem 0; line-height: 1.1em; vertical-align: middle; white-space: initial; text-decoration: none; }

	/* Buttons */
	body.app .grid-sorting .button { gap: 0 0.4em; margin: 0; padding: 0.6rem 0.4vw; border: 1px solid var(--color-white-opacity20); background: var(--color-white-opacity10); line-height: 1.7rem; }
	body.app .grid-sorting .button:first-of-type { margin-left: auto; }
		body.app .grid-sorting .button:hover { background: var(--color-red); }
			body.app .grid-sorting .button.overdue { border: 1px solid var(--color-white-opacity40); background: var(--color-orange); }
			body.app .grid-sorting .button.active { border: 1px solid var(--color-white-opacity100); background: var(--color-white); color: var(--color-dark-primary); }
				body.app .grid-sorting .button.active span.k-icon { color: var(--color-dark-primary); }
	body.app .grid-sorting span.sort-by { color: var(--color-white-opacity80); font-size: 0.9em; text-transform: uppercase; letter-spacing: 0.1em; white-space: nowrap; }
	body.app .grid-sorting span.tally { display: inline-block; padding: 0.2rem 0.4em; border-radius: var(--border-radius-small); vertical-align: middle; background: var(--color-dark-opacity20); line-height: 1.3rem; text-align: center; letter-spacing: 1px; }
	body.app .grid-sorting .button.active span.tally { background: var(--color-dark-opacity10); }

	/* td layout */
	body .k-grid .td-layout { display: flex; gap: 0.4em; width: 100%; }
	body .k-grid .td-layout:has(.img-container) { position: relative; width: 100%; }
	body .k-grid .td-layout.wrap { flex-flow: row wrap; }
		body .k-grid .td-layout .button { margin: -0.4em 0; padding: 0.6rem 0.8rem; font-size: 0.9rem; line-height: 1.1em; white-space: nowrap; }
		body .k-grid .td-layout .button.secondary { background: var(--color-white); color: var(--color-dark-red); font-weight: 700; }
			body .k-grid .td-layout .button.secondary:hover { background: var(--color-light-grey); }
				body .k-grid .td-layout .button.secondary span.k-icon::before { color: var(--color-dark-red); }
		body .k-grid .td-layout .button.icon-button { justify-content: center; width: 1.8rem; height: 1.8rem; margin: -5px 0; padding: 0; border-radius: 50%; }
		body .k-grid .td-layout.wrap .button { text-align: left; }
        body .k-grid .td-layout .td-nowrap { white-space: nowrap; }
		body .k-grid .td-layout:has(.img-container) .product-name { position: absolute; bottom: 0; left: 0; width: 100%; padding: 0.6rem 0.4rem 0.2rem; border-radius: 0 0 var(--border-radius-small) var(--border-radius-small); background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%); color: var(--color-white); text-shadow: 0 0 6px var(--color-dark); }
		body .k-grid .td-layout .img-container { width: 140px; border-radius: var(--border-radius-small); overflow: hidden; }
			body .k-grid .td-layout .img-container img { object-fit: cover; width: 100%; height: 100%; }
		body .k-grid .td-layout hr { flex: 0 0 1px; height: 2.4em; margin: 0 6px; background: var(--color-grey); }
		body .k-grid .td-layout .grid-status { flex: 1 1 100%; display: inline-block; align-self: flex-start; margin: -0.3rem 0 -0.3rem 0; padding: 0.2rem 0.6rem; border: 2px solid var(--color-light-grey); border-radius: var(--border-radius-medium-container); font-size: 0.85rem; line-height: 1.1em; text-align: center; }
		body .k-grid .td-layout .grid-status.grid-status-green { border: 2px solid var(--color-green); color: var(--color-green); }
		body .k-grid .td-layout .grid-status.grid-status-red { border: 2px solid var(--color-red); color: var(--color-red); }

	/* Detail Row */
	body.app .k-grid tr.k-detail-row td.k-detail-cell { padding: 0 0 1rem; font-size: 0.9rem; }

	/* Inputs */
	body.app .grid-sorting .input-container { display: flex; flex: 0 1 auto; align-items: center; gap: 1.4em; width: auto; margin: 0; border-radius: var(--border-radius-small); }
		body.app .grid-sorting .input-container label { display: none; color: var(--color-white); }
		body.app .grid-sorting .input-container input { margin: 0; padding: 0.8rem; border: 1px solid var(--color-white-opacity30); background: none; color: var(--color-white); font-size: 0.9rem; }
		body.app .grid-sorting .input-container select { margin: 0; border: 1px solid var(--color-white-opacity30); background: none; color: var(--color-white); font-size: 0.9rem; }
			body.app .grid-sorting .input-container select option { padding: 0; color: var(--color-dark); }
		body.app .grid-sorting .input-container span.k-icon { margin: 0; color: var(--color-white); }
		/* Search Based */
		body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container label, body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container span.k-icon { color: var(--color-dark); }
		body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container input, body.app .k-grid.search-based .k-grid-toolbar .grid-sorting .input-container select { border: 1px solid var(--color-grey); background: var(--color-white); color: var(--color-dark); }
	/* Show Labels */
	body.app .grid-sorting.show-labels .input-container { flex-flow: column; align-items: flex-start; gap: 0.6rem; }
		body.app .grid-sorting.show-labels .input-container label { display: block; margin: 0; color: var(--color-white); white-space: nowrap; }

/* Header */
body.app .k-grid-header th.k-header { font-size: 0.8rem; font-weight: 700; vertical-align: middle; text-transform: uppercase; }
.k-popup { background: var(--color-white); }
	.k-popup .k-widget > span { border-radius: 5px; border-color: var(--color-grey); }

/* Body */
body.app .k-grid tr { transition: var(--transition-fast); }
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 td[data-field="DocumentDescription"] { white-space: nowrap; }
	body.app .k-grid tr:not(:last-child) td { border-bottom: 1px solid var(--color-dark-opacity10); }

body.app .k-grid tr td .transaction-amount { color: var(--color-dark-secondary); font-weight: 700; }
body.app .k-grid tr td .transaction-amount.credit { color: var(--color-dark-primary); font-weight: 700; }

.shadow-card:has(.big-stat) { height: 100%; }
.big-stat { flex-flow: row-reverse; align-items: last baseline; color: var(--color-dark); }
.big-stat.dashboard-stats { color: var(--color-primary); }
	.big-stat h2 { color: var(--color-dark); font-size: 1.1rem; line-height: 1.2em; font-weight: 500; text-align: left; text-transform: uppercase; letter-spacing: 0.05em; }
	.big-stat .big-tally { font-size: 4vw; line-height: 1em; font-weight: 900; }
	.big-stat .medium-tally { font-size: 3.2rem; line-height: 1em; font-weight: 900; }

/* Links */
body.app .k-grid td a:not(.k-icon) { display: flex; align-items: center; gap: 0.2rem; width: 100%; }
/* Commands */
body.app .k-grid td.k-command-cell a { display: inline-flex; width: auto; margin-right: 0.2rem; padding: 0.6rem 0.8rem; font-size: 0.9rem; line-height: 1.1em; }
body.app .k-grid td.k-command-cell a.k-grid-delete, body.app .k-grid td.k-command-cell a.k-grid-cancel { background: var(--color-white); color: var(--color-dark-red); font-weight: 700; }
	body.app .k-grid td.k-command-cell a.k-grid-delete:hover, body.app .k-grid td.k-command-cell a.k-grid-cancel:hover { background: var(--color-light-grey); }
body.app .k-grid td.k-command-cell a:last-child { margin-right: 0; }

/* Buttons */
body.app tbody td .button { display: flex; align-items: center; gap: 0.2em; position: relative; text-align: left; white-space: nowrap; }
	body.app tbody td .button span.k-icon { flex: 0 0 1em; width: 1em; height: 1em; background: none; }
/* Status */
body.app .k-grid tr td .status { color: var(--color-dark); }
	body.app .k-grid tr td .status.red { color: var(--color-red); font-weight: 700; }
	body.app .k-grid tr td .status.orange { color: var(--color-orange); }
/* 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-light-grey); 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 */

body .k-overlay { background: var(--color-dark); }
body .k-window { max-width: 94%; padding-top: 0 !important; border: 0; border-radius: var(--border-radius-medium); box-shadow: 0px 1.4px 1.4px rgba(0, 0, 0, 0.35), 0px 3.8px 3.8px rgba(0, 0, 0, 0.05), 0px 9px 9px rgba(0, 0, 0, 0.065), 0px 30px 30px var(--color-dark-opacity10); }
body .k-window:not([data-role="draggable"]) { position: fixed; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) scale(1) !important; width: 680px; max-width: 94%; max-height: 80vh; overflow: auto; overscroll-behavior: contain; }

	body .k-window .k-window-titlebar { position: sticky; z-index: 5; 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); }
		body .k-window .k-window-titlebar .k-window-title { font-weight: 700; }
		body .k-window .k-window-titlebar .k-window-actions { display: flex; right: 2em; gap: 0.4rem; }
			body .k-window .k-window-titlebar .k-window-action { opacity: 1; align-items: center; justify-content: center; width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--color-primary) !important; color: var(--color-white); transition: background 0.2s ease 0s, color 0.2s ease 0s; }
				body .k-window .k-window-titlebar .k-window-action:hover { border: 0; background: var(--color-red) !important; color: var(--color-white); }
		body .k-window .k-window-content { width: 100%; max-width: 100%; margin: 0 auto; padding: 0 1.8rem 1.4rem; border: 1px solid var(--color-white-opacity30); border-radius: 0 0 5px 5px; background: var(--color-white); transition: var(--transition-fast); }
			body .k-window .k-window-content h2:first-child { margin-top: 0; }
			body .k-window .k-window-content h3 { font-size: 1.4em; font-weight: 700; }
		/* Form */
		body .k-window .k-window-content.form { font-size: 1em; }
			body .k-window .k-window-content.form #submit-box { border-radius: 0; }
			body .k-window .k-window-content.form #submit-box .button { padding: 1em 1.6em; }

            body .k-window .k-window-content.form .submit-box { border-radius: 0; }
			body .k-window .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; }

/* Scheduler */
.k-scheduler .k-button, .k-scheduler .k-button:hover, .k-scheduler .k-nav-current { margin-top: 0; padding: 0.4rem 0.8rem; border: 1px solid var(--color-dark-opacity10); border-radius: 0; background: var(--color-white); color: inherit; font-size: 0.9rem; line-height: 1.4em; }
.k-scheduler .k-button.k-icon-button, .k-scheduler .k-button.k-icon-button:hover { justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; margin-left: 0.4rem; padding: 0; }
	.k-scheduler .k-button:hover { border: 1px solid var(--color-secondary); }

.k-scheduler { border: 1px solid var(--color-grey); }

	.k-scheduler .k-scheduler-navigation { margin-right: 0.4rem; }
	.k-scheduler .k-scheduler-toolbar { padding: 0.6rem; border-bottom: 1px solid var(--color-grey); background: var(--color-light-grey); }
		.k-scheduler-toolbar .k-scheduler-search { border: 1px solid var(--color-grey); }

	.k-scheduler-header th, .k-scheduler-table td { border-color: var(--color-grey); }
	.k-event-actions:first-child { margin: 1px 4px; }
	.k-event { border: 0; background: var(--color-light-primary); }
		.k-event .k-event-template { font-size: 0.8rem; font-weight: 500; line-height: 1.4em; text-shadow: 0 0 8px var(--color-white); }

	.k-edit-form-container { width: auto; }

/* Footer */
body footer { padding: 3rem 0; background: var(--color-dark-opacity10); }

/* --- Screen | Login --- */

body.login { background: var(--color-grey); }

/* Login Box */
body .login .login-box .logo { padding: 2.6rem 1rem 0; text-align: center; }
	body .login .login-box .logo img { max-width: 340px; }
	body .login .login-box .logo h1 { margin: 0; font-size: 2rem; text-transform: uppercase; letter-spacing: 1px; }

body .login .login-box .sign-in, body .login .login-box .forgot-password, body .login .login-box .reset-password { padding: 1rem 2vw 2vw; }
body .login .login-box .forgot-password { display: none; }
	body .login .login-box .sign-in .form-wrapper, body .login .login-box .forgot-password .form-wrapper, body .login .login-box .reset-password .form-wrapper { margin: 0; }
		body .login .login-box .sign-in .form-wrapper h1, body .login .login-box .forgot-password .form-wrapper h1, body .login .login-box .reset-password .form-wrapper h1, body .login .login-box .sign-in .form-wrapper h2, body .login .login-box .forgot-password .form-wrapper h2, body .login .login-box .reset-password .form-wrapper h2 { margin: 0; font-size: 1.8em; text-align: center; }

body .login-box .button.submit { width: 100%; justify-content: center; }

/* --- Screen | Create Account --- */

body .create-account .create-account-box { padding: 2rem 3rem 3rem; }

/* Pillbox */
.pillbox { padding: 1.4rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-medium); }
	.pillbox .item-title { gap: 0 10px; margin: -1.4rem -1.4rem 0.4rem; border-radius: 0.6rem 0 0 0; overflow: hidden; }
		.pillbox .item-title h3 { display: inline-flex; margin-right: auto; padding: 0.6rem 1.4rem; border-radius: 0 0 var(--border-radius-medium) 0; background: var(--color-yellow); color: var(--color-dark); font-size: 1.1em; line-height: 1.4em; }
		.pillbox .item-title .remove { width: 1.6rem; height: 1.6rem; margin: 0 0.8em; padding: 0; border-radius: var(--border-radius-large); font-size: 1rem; }
			.pillbox .item-title .remove .k-icon { background: var(--color-red); color: var(--color-white); }
	.pillbox > *:not(.item-title) { display: inline-flex; align-items: center; padding: 0.4em 0.8em; border-radius: var(--border-radius-large); gap: 0.4em; background: var(--color-light-grey); font-size: 0.9rem; font-weight: 700; }
	.pillbox > *:not(.item-title):has(.k-i-check) { background: var(--color-dark-primary); color: var(--color-white); }

/* --- Screen - Dashboard --- */

.admin-action { height: 100%; }

#status-indicator, #fee-status-indicator { display: inline-block; align-self: flex-start; margin: 0.8rem 1rem 0.8rem 0; padding: 0.4rem 0.8rem; border: 2px solid var(--color-light-grey); border-radius: var(--border-radius-large); font-size: 0.85rem; line-height: 1.4em; }
#status-indicator.status-indicator-green, #fee-status-indicator.status-indicator-green { border: 2px solid var(--color-green); color: var(--color-green); }
#status-indicator.status-indicator-orange, #fee-status-indicator.status-indicator-orange { border: 2px solid var(--color-orange); color: var(--color-orange); }
#status-indicator.status-indicator-red, #fee-status-indicator.status-indicator-red { border: 2px solid var(--color-red); color: var(--color-red); }

/* --- Screen - Message Center --- */

/* New Message Container */
.new-message-container { border-radius: var(--border-radius-medium); background: var(--color-secondary); }
/* Search Conversations */
.conversation-search { padding: 1rem; border: 1px solid var(--color-white); border-bottom: 0; background: var(--color-light-grey); border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0; }
	body.app .conversation-search .search-container input { border: 1px solid var(--color-dark-opacity10); background: var(--color-white); font-size: 0.9rem; line-height: 1.4em; }
/* Conversation Items */
.conversation-list .conversation { position: relative; padding: 1.2rem 1.4rem; border: 0; border-bottom: 1px solid var(--color-primary); background: var(--color-dark-primary); transition: all 0.3s ease 0s; cursor: pointer; }
	.conversation-list .conversation:hover { background: var(--color-primary); }
		.conversation-list h3 { position: relative; z-index: 10; margin: 0; color: var(--color-white); font-size: 1.2rem; }
		.conversation-list p { position: relative; z-index: 10; margin: 0.2rem 0 0; color: var(--color-white-opacity80); font-size: 0.8rem; line-height: 1.4em; }
		.conversation-list p.topic { font-size: 0.9rem; font-weight: 700; line-height: 1.1em; }
			.conversation-list p strong { color: var(--color-white-opacity90); }
		.conversation-list .conversation .read-status { opacity: 0; position: absolute; top: 0; right: 0; padding: 0.3em 0.4em 0 0.6em; border-radius: 0 0 0 var(--border-radius-small); box-shadow: var(--shadow-small); background: var(--color-white-opacity90); color: var(--color-dark-secondary); font-size: 0.7rem; font-weight: 700; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.1em; transition: var(--transition-fast); }
			.conversation-list .conversation .read-status.new { opacity: 1; }
	/* Active Message */
	.conversation-list .conversation.active { border-bottom: 1px solid var(--color-white); background: var(--color-white); }
		.conversation-list .conversation.active h3, .conversation-list .conversation.active p strong { color: var(--color-dark); }
		.conversation-list .conversation.active p.topic { color: var(--color-primary); }
		.conversation-list .conversation.active p { color: var(--color-dark-opacity90); }

/* Messaging */
.message-center .messaging .conversation-header { margin: var(--negative-spacing-medium); margin-bottom: 1.6rem; background: var(--color-primary); }
	.message-center .messaging .conversation-header .pillbox { border: 1px solid var(--color-white-opacity20); box-shadow: inset 0 2px 20px -12px var(--color-dark); }
		.message-center .messaging .conversation-header .pillbox > span { background: var(--color-dark-opacity40); }

.message-center .messaging .message-container { border-bottom: 1px solid var(--color-dark-opacity10); color: var(--color-dark); }
.message-center .messaging .message-container:last-child { border-bottom: 0; }
	.message-center .messaging .message-container h4 { color: var(--color-dark); }
		.message-center .messaging .message-container h4 .note-timestamp { background: var(--color-light-grey); color: var(--color-dark); font-size: 0.7rem; line-height: 1.4em; letter-spacing: 0.1em; }

.messaging .input-container { margin: 0; justify-content: flex-end; }
.messaging .input-container textarea { height: 140px; max-height: 60vh; }
	.messaging .input-container .submit-button { justify-content: center; }

.messaging .send-message { margin-right: auto; }

/* --- Community Centers --- */

/* Maps */

#image-gallery-viewer {z-index: 999999999}
.map-row { width: 100%; }
	.map-row > div { height: 100%; }

		.map-row .map-item-list { height: calc(100vh - 96px); max-height: calc(100vh - 96px); margin: 0; padding: 1rem; background: var(--color-dark-opacity5); overflow: auto; }
			.map-row .map-item-list .hide-list { display: none; }
			.map-row .map-item-list .map-item { border-radius: var(--border-radius-small); border: 1px solid var(--color-dark-opacity10); background: var(--color-white-opacity40); transition: var(--transition-fast); }
				.map-row .map-item-list .map-item.active { border: 1px solid var(--color-secondary); }
					.map-row .map-item-list .map-item > span.flex-container { width: 100%; color: var(--color-dark); }
						.map-row .map-item-list .map-item > span.flex-container .map-item-detail-highlight { flex: 0 1 content; flex-flow: column; display: inline-flex; margin: -0.4rem 0; font-size: 0.8rem; font-weight: 500; line-height: 1.4em; text-align: right; white-space: nowrap; }
						.map-row .map-item-list .map-item > span.flex-container .map-item-detail-highlight.capacity { padding: 0.4rem 0.8rem; border-radius: var(--border-radius-large); box-shadow: var(--shadow-soft); background: var(--color-white); }
						.map-row .map-item-list .map-item > span.flex-container .map-item-detail-highlight.reserve { margin-left: auto; padding: 0.4rem 0.6rem; border-radius: var(--border-radius-large); background: var(--color-secondary); color: var(--color-white); }
							.map-row .map-item-list .map-item > span.flex-container .map-item-detail-highlight strong { display: inline-block; width: 100%; }
						.map-row .map-item-list .map-item > span.flex-container .map-item-toggle { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border: 1px solid var(--color-grey); border-radius: var(--border-radius-large); transition: var(--transition-fast); }
							.map-row .map-item-list .map-item > span.flex-container .map-item-toggle:hover { border: 1px solid var(--color-secondary); }
							.map-row .map-item-list .map-item.active > span.flex-container .map-item-toggle { transform: rotate(-180deg); }
				.map-row .map-item-list .map-item-content { display: none; padding: 0 var(--spacing-medium) var(--spacing-medium); font-size: 0.8rem; line-height: 1.4em; }
			.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; }
			/* Placeholder map pins, remove during development */
			.map-container .trigger_showOnMap { position: absolute; top: 50%; left: 40%; width: 28px; height: 28px; color: var(--color-secondary); }
			.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)); }

/* --- Reservation Day --- */

.app .day { flex: 1 1 14.28%; border: 1px solid var(--color-light-grey); }
	.app .day h2 { margin-bottom: 0.4rem; font-size: clamp(0.9rem, -1.327rem + 3.64vw, 1.4rem); line-height: 1.4em; text-align: center; }
		.app .day h2 span { display: block; color: var(--color-dark-opacity60); font-size: 0.8rem; font-weight: 500; line-height: 1.4em; letter-spacing: 0.1em; }
	.app .day .day-status { padding: 0.2rem 0.4rem; border: 1px solid var(--color-primary); border-radius: var(--border-radius-small); color: var(--color-primary); font-size: 0.7rem; font-weight: 700; line-height: 1.4em; text-transform: uppercase; letter-spacing: 0.1em; }
	.app .day.unavailable .day-status { border: 1px solid var(--color-dark-red); color: var(--color-dark-secondary); }
	.app .day .button { justify-content: center; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
	.app .day.unavailable .button { pointer-events: none; opacity: 0.2; background: var(--color-dark-grey); }
/* Modal Version */
.app .modal .day { flex: 0 1 160px; }
	.app .modal .day h2 { font-size: 1rem; }
	.app .modal .day .button { padding: 0.6rem; font-size: 0.9rem; line-height: 1.4em; }

/* 1240 */

@media only screen and (max-width: 1240px) {

	/* --- Content --- */

	/* Kendogrid */
	body.app .k-grid-header th.k-header > *, body.app .k-grid tr td:not(.k-detail-cell) > * { 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); }
    body.app .grid-filter { flex-flow: row;}

}

#homeAddressList,
#remitAddressList,
#organizationAddressList {
	position: absolute;
	background-color: white;
	border: 1px solid #ccc;
	list-style-type: none;
	padding: 0;
	margin: 0;
	width: calc(100% - 2px);
	z-index: 1;
	/* Ensure suggestions list appears on top of other elements */
}

#homeAddressList li,
#remitAddressList li,
#organizationAddressList li {
	padding: 5px;
	cursor: pointer;
}

#homeAddressList li:hover,
#remitAddressList li:hover,
#organizationAddressList li:hover {
	background-color: #f0f0f0;
}

body .k-notification {
    border: 1px solid var(--color-white-opacity80);
    border-radius: var(--border-radius-medium);
}

body .k-notification > .k-notification-wrap {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 1rem 1.4rem;
    border: 0;
    border-radius: var(--border-radius-medium);
}

.k-notification-wrap .k-notification-content {
    vertical-align: middle;
}

.k-notification-success {
    color:white;
    font-weight:bold;
    height:38px !important;
}

.k-notification-success .k-notification-wrap{
    background-color:var(--color-green) !important;
}

.k-widget.k-notification.k-notification-success{
    background-color:var(--color-green) !important;
}

.k-notification-content{
    color:white;
}

.k-notification-error {
    color:white;
    font-weight:bold;
}

.k-notification-error .k-notification-wrap{
    background-color:var(--color-red);
}

.k-widget.k-notification.k-notification-error{
    background-color:var(--color-red) !important;
}