:root {
	--isec-bg: #f4f5f7; --isec-card: #fff; --isec-text: #1f2430; --isec-muted: #5f6675;
	--isec-border: #cfd4dc; --isec-accent: #1d4ed8; --isec-accent-text: #fff;
	--isec-error-bg: #fdecec; --isec-error: #9b1c1c; --isec-ok-bg: #e8f5ec; --isec-ok: #14532d;
}
@media (prefers-color-scheme: dark) {
	:root {
		--isec-bg: #14161b; --isec-card: #1d2027; --isec-text: #e8eaf0; --isec-muted: #9aa1b0;
		--isec-border: #3a3f4b; --isec-accent: #6b93ff; --isec-accent-text: #0b1020;
		--isec-error-bg: #3a1c1c; --isec-error: #ffb4b4; --isec-ok-bg: #16301f; --isec-ok: #a7e3b8;
	}
}
* { box-sizing: border-box; }
body.isec-auth {
	margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 1rem;
	background: var(--isec-bg); color: var(--isec-text);
	font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.isec-card {
	width: 100%; max-width: 400px; background: var(--isec-card);
	border: 1px solid var(--isec-border); border-radius: 12px; padding: 2rem;
}
.isec-brand { margin: 0 0 .25rem; font-size: .9rem; color: var(--isec-muted); }
.isec-brand a { color: inherit; text-decoration: none; }
h1 { margin: 0 0 1.25rem; font-size: 1.5rem; }
label { display: block; margin: 1rem 0 .25rem; font-weight: 600; font-size: .9rem; }
input[type="text"], input[type="password"] {
	width: 100%; padding: .65rem .75rem; font: inherit; color: inherit;
	background: transparent; border: 1px solid var(--isec-border); border-radius: 8px;
}
input:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--isec-accent); outline-offset: 2px; }
.isec-check { display: flex; align-items: center; gap: .5rem; font-weight: 400; }
button {
	width: 100%; margin-top: 1.25rem; padding: .7rem; font: inherit; font-weight: 600; cursor: pointer;
	background: var(--isec-accent); color: var(--isec-accent-text); border: 0; border-radius: 8px;
}
.isec-links { margin: 1.25rem 0 0; text-align: center; font-size: .9rem; }
.isec-links a { color: var(--isec-accent); }
.isec-hint { margin: .5rem 0 0; font-size: .85rem; color: var(--isec-muted); }
.isec-error, .isec-notice { padding: .65rem .85rem; border-radius: 8px; font-size: .9rem; margin: 0 0 1rem; }
.isec-error { background: var(--isec-error-bg); color: var(--isec-error); }
.isec-error p { margin: 0; }
.isec-notice { background: var(--isec-ok-bg); color: var(--isec-ok); }
