/* Investment Mistakes — submission form. Scoped under .imc-form-wrap / .imc-login-prompt so it never leaks into Astra's own styles. */

.imc-form-wrap,
.imc-login-prompt {
	--imc-ink: #111827;
	--imc-muted: #6b7280;
	--imc-border: #e5e7eb;
	--imc-bg: #f9fafb;
	--imc-accent: #4f46e5;
	--imc-accent-ink: #ffffff;
	--imc-danger: #dc2626;
	--imc-danger-bg: #fef2f2;
	--imc-success: #16a34a;
	--imc-success-bg: #f0fdf4;

	max-width: 640px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--imc-ink);
}

.imc-login-prompt {
	text-align: center;
	padding: 2.5rem 1.5rem;
	background: var(--imc-bg);
	border: 1px solid var(--imc-border);
	border-radius: 12px;
}
.imc-login-prompt p {
	margin: 0 0 1.25rem;
	font-size: 1.05rem;
}

.imc-btn {
	display: inline-block;
	padding: 0.65rem 1.4rem;
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.08s ease, box-shadow 0.15s ease;
}
.imc-btn:hover { transform: translateY(-1px); }

.imc-btn-primary {
	background: var(--imc-accent);
	color: var(--imc-accent-ink);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.imc-btn-secondary {
	background: #fff;
	color: var(--imc-ink);
	border-color: var(--imc-border);
	margin-left: 0.5rem;
}

.imc-notice {
	padding: 0.85rem 1.1rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	font-size: 0.95rem;
}
.imc-notice ul { margin: 0; padding-left: 1.2rem; }
.imc-notice-error {
	background: var(--imc-danger-bg);
	color: var(--imc-danger);
	border: 1px solid #fecaca;
}
.imc-notice-success {
	background: var(--imc-success-bg);
	color: var(--imc-success);
	border: 1px solid #bbf7d0;
}

.imc-form {
	background: #fff;
	border: 1px solid var(--imc-border);
	border-radius: 14px;
	padding: 1.75rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.imc-field { margin-bottom: 1.35rem; }
.imc-field:last-child { margin-bottom: 0; }

.imc-field label {
	display: block;
	font-weight: 600;
	font-size: 0.88rem;
	margin-bottom: 0.4rem;
	color: var(--imc-ink);
}

.imc-field input[type="text"],
.imc-field input[type="number"],
.imc-field input[type="date"],
.imc-field select,
.imc-field textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.85rem;
	font-size: 0.95rem;
	line-height: 1.4;
	font-family: inherit;
	border: 1px solid var(--imc-border);
	border-radius: 8px;
	background: var(--imc-bg);
	color: var(--imc-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.imc-field select {
	/* Native select rendering clips text when custom padding/line-height
	   fights the browser's own control chrome — replacing the default
	   appearance with our own arrow avoids that entirely. */
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
}

.imc-field input:focus,
.imc-field select:focus,
.imc-field textarea:focus {
	outline: none;
	border-color: var(--imc-accent);
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
	background: #fff;
}

.imc-field textarea { resize: vertical; min-height: 90px; }

.imc-field-hint {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.8rem;
	color: var(--imc-muted);
}

.imc-field-submit { margin-top: 1.75rem; }
.imc-field-submit .imc-btn { width: 100%; text-align: center; }

@media (min-width: 480px) {
	.imc-field-submit .imc-btn { width: auto; }
}
