/* Nordalith Works palette. Loaded last so every plugin surface shares one brand. */
:root {
	--nordalith-slate: #1f3442;
	--nordalith-steel: #2f6f8f;
	--nordalith-copper: #c96a32;
	--nordalith-canvas: #f4f5f3;
	--nordalith-card: #ffffff;
	--nordalith-charcoal: #222b32;
	--nordalith-success: #2f7d62;
	--nordalith-warning: #d9822b;
	--nordalith-danger: #c23b3b;
	--nordalith-action-height: 48px;
	--nordalith-action-radius: 10px;
	--nordalith-action-padding: 0 18px;
	--nordalith-control-height: 48px;
	--nordalith-control-font-size: 14px;
	--app-navy: var(--nordalith-slate);
	--app-ink: var(--nordalith-charcoal);
	--app-green: var(--nordalith-steel);
	--app-green-dark: var(--nordalith-slate);
	--app-green-soft: #eaf2f5;
	--app-bg: var(--nordalith-canvas);
	--app-card: var(--nordalith-card);
	--app-line: #d9dfdf;
	--app-muted: #64727a;
	--app-amber: var(--nordalith-warning);
	--app-red: var(--nordalith-danger);
	--stp-navy: var(--nordalith-slate);
	--stp-blue: var(--nordalith-steel);
	--stp-blue-soft: #eaf2f5;
	--stp-ink: var(--nordalith-charcoal);
	--stp-muted: #64727a;
	--stp-line: #d9dfdf;
	--stp-bg: var(--nordalith-canvas);
	--stp-green: var(--nordalith-success);
	--stp-red: var(--nordalith-danger);
	--stp-login-ink: var(--nordalith-slate);
	--stp-login-green: var(--nordalith-steel);
	--stp-login-green-dark: var(--nordalith-slate);
	--stp-login-border: #d9dfdf;
}

body,
body.stp-app-body,
body.stp-signup-body,
body.login,
.stp-public-wrap {
	background-color: var(--nordalith-canvas);
	color: var(--nordalith-charcoal);
}

/* One control system across every Jotikin form surface. */
body.stp-app-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body.stp-app-body select,
body.stp-signup-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body.stp-signup-body select,
body.login input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body.login select,
.stp-public-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.stp-public-wrap select {
	box-sizing: border-box;
	font-family: Inter, Arial, sans-serif !important;
	font-size: var(--nordalith-control-font-size) !important;
	font-weight: 650 !important;
	height: var(--nordalith-control-height) !important;
	line-height: 1.2 !important;
	min-height: var(--nordalith-control-height) !important;
}

body.stp-app-body textarea,
body.stp-signup-body textarea,
body.login textarea,
.stp-public-wrap textarea,
body.stp-app-body form button,
body.stp-signup-body form button,
body.login form button,
.stp-public-wrap form button {
	font-family: Inter, Arial, sans-serif !important;
	font-size: var(--nordalith-control-font-size);
}

.stp-platform-body {
	--app-green: var(--nordalith-steel);
	--app-green-dark: var(--nordalith-slate);
	--app-green-soft: #eaf2f5;
	--app-bg: var(--nordalith-canvas);
	--app-line: #d9dfdf;
}

.stp-wrap {
	--stp-ink: var(--nordalith-slate);
	--stp-copy: #3e4a51;
	--stp-muted: #68767d;
	--stp-green: var(--nordalith-steel);
	--stp-green-dark: var(--nordalith-slate);
	--stp-green-soft: #eaf2f5;
	--stp-canvas: var(--nordalith-canvas);
	--stp-surface: var(--nordalith-card);
	--stp-border: #d9dfdf;
	--stp-warning: var(--nordalith-warning);
	--stp-danger: var(--nordalith-danger);
}

.stp-app-sidebar,
.stp-platform-sidebar {
	background: linear-gradient(180deg, #1f3442 0%, #172832 100%);
}

.stp-app-nav-link.is-active,
.stp-platform-sidebar .stp-app-nav-link.is-active {
	box-shadow: inset 3px 0 0 var(--nordalith-copper);
}

.stp-app-mobile-nav .stp-app-nav-link.is-active {
	box-shadow: inset 0 3px 0 var(--nordalith-copper);
	color: var(--nordalith-steel);
}

.stp-app-hero,
.stp-app-page-head,
.stp-platform-page-head,
.stp-page-hero {
	background: linear-gradient(135deg, #ffffff 0%, #f2f5f5 100%);
	border-left-color: var(--nordalith-copper);
}

.stp-app-eyebrow,
.stp-platform-page-head .stp-app-eyebrow,
.stp-eyebrow,
.stp-signup-eyebrow,
.stp-public-customer > span,
.stp-public-decision-heading > span {
	color: var(--nordalith-copper);
}

.stp-app-button,
.stp-signup-button,
.stp-signup-form > button,
.stp-public-toolbar button,
.stp-public-accept button,
.stp-public-decision-accept button,
.stp-wrap .stp-primary.button,
.stp-wrap .button-primary.stp-primary,
.login .button-primary {
	background: var(--nordalith-steel);
	border-color: var(--nordalith-steel);
}

/* Keep normal actions consistent throughout the owner, worker and platform apps. */
.stp-app-body .stp-app-button,
.stp-app-body .stp-app-secondary-button,
.stp-platform-body .stp-app-button,
.stp-platform-body .stp-app-secondary-button {
	align-items: center;
	border-radius: var(--nordalith-action-radius);
	border-style: solid;
	border-width: 1px;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	margin-top: 0;
	height: var(--nordalith-action-height);
	min-height: var(--nordalith-action-height);
	padding: var(--nordalith-action-padding);
	text-align: center;
}

.stp-app-body .stp-app-button,
.stp-platform-body .stp-app-button {
	background: var(--nordalith-steel);
	border-color: var(--nordalith-steel);
	color: #ffffff !important;
}

.stp-app-body .stp-app-secondary-button,
.stp-platform-body .stp-app-secondary-button {
	background: #ffffff;
	border-color: #c9d5d0;
	color: var(--nordalith-steel) !important;
}

.stp-app-body .stp-app-button:focus-visible,
.stp-app-body .stp-app-secondary-button:focus-visible,
.stp-platform-body .stp-app-button:focus-visible,
.stp-platform-body .stp-app-secondary-button:focus-visible {
	outline: 3px solid rgba(47, 111, 143, .22);
	outline-offset: 2px;
}

.stp-app-body .stp-app-button:disabled,
.stp-app-body .stp-app-secondary-button:disabled,
.stp-platform-body .stp-app-button:disabled,
.stp-platform-body .stp-app-secondary-button:disabled {
	cursor: not-allowed;
	opacity: .58;
}

.stp-app-body .stp-app-form-actions,
.stp-platform-body .stp-app-form-actions {
	align-items: center;
}

.stp-signup-mark {
	background: var(--nordalith-slate);
}

.stp-signup-form input:focus,
.stp-signup-form select:focus,
.stp-auth-form input:focus,
.login input:focus {
	border-color: var(--nordalith-steel);
	box-shadow: 0 0 0 3px rgba(47, 111, 143, .16);
}

.stp-public-accept,
.stp-public-decision-accept,
.stp-public-deposit-note {
	background: #edf5f2;
	border-color: #b9d5ca;
}

.stp-public-deposit-note {
	border-left-color: var(--nordalith-success);
}

.stp-app-status-accepted,
.stp-app-status-active,
.stp-app-status-complete,
.stp-status-active,
.stp-status-complete,
.stp-public-accepted {
	color: var(--nordalith-success);
}

.stp-app-status-declined,
.stp-app-status-cancelled,
.stp-app-status-inactive,
.stp-signup-notice,
.stp-auth-notice.is-error {
	color: var(--nordalith-danger);
}

.stp-terms-review,
.stp-warning-panel,
.stp-inline-warning {
	border-color: var(--nordalith-warning);
}

@media print {
	body,
	.stp-public-wrap {
		background: #ffffff;
	}
}
