/* App-only bits on top of draft styles.css */
body {
	padding-bottom: 88px;
}
.footer-strip.footer-fixed {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 40;
}
.d-none { display: none !important; }
.form-step { display: none; }
.form-step.active { display: block; }
.app-alert {
	padding: 12px 14px;
	margin-bottom: 18px;
	font-family: var(--sans);
	font-size: 13px;
	border: 1px solid var(--line);
	background: #fff;
}
.app-alert.alert-danger { border-color: var(--terracotta); color: var(--terracotta); background: #fdf4f1; }
.app-alert.alert-success { border-color: var(--olive); color: var(--olive); background: #f4f5ef; }
.app-alert.alert-info { border-color: var(--amber); color: var(--prussian); background: #fdf6ed; }
.otp-banner {
	background: #fff8e8;
	border: 1px solid var(--amber);
	padding: 14px 16px;
	margin-bottom: 18px;
	font-family: var(--sans);
	font-size: 14px;
}
.otp-banner strong {
	font-size: 1.25rem;
	letter-spacing: 0.15em;
}
.form-actions {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 8px;
}
.form-check-row { margin-bottom: 22px; }
.check-label {
	font-family: var(--sans);
	font-size: 13px;
	color: var(--ink-soft);
	display: flex;
	gap: 10px;
	align-items: flex-start;
	text-transform: none;
	letter-spacing: 0;
}
.check-label a { color: var(--terracotta); font-weight: 600; }
span.help-block.form-error {
	display: block;
	margin-top: 6px;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 600;
	color: var(--terracotta);
}
.form-field input.error,
.form-field select.error,
.form-field textarea.error,
.invite-box input.error {
	border-color: var(--terracotta);
}
.text-muted-note {
	font-family: var(--sans);
	font-size: 11px;
	color: var(--ink-faint);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.app-modal {
	position: fixed;
	inset: 0;
	background: rgba(30, 44, 51, 0.55);
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.app-modal[hidden] { display: none !important; }
.app-modal-dialog {
	background: #fff;
	border: 1px solid var(--prussian);
	max-width: 720px;
	width: 100%;
	max-height: 80vh;
	overflow: auto;
	padding: 28px;
	position: relative;
}
.app-modal-close {
	position: absolute;
	top: 10px;
	right: 14px;
	border: 0;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: var(--prussian);
}
