/**
 * Registration, login and the organisation profile.
 * Depends on cdx.css for tokens.
 */

.cdx-orgs {
	font-family: var(--body, system-ui, sans-serif);
	max-width: 46rem;
}

.cdx-orgs h2,
.cdx-orgs h3 {
	font-family: var(--head, sans-serif);
}

.cdx-orgs .cdx-card {
	background: #fff;
	border: 1px solid var(--cdx-line);
	border-radius: var(--r, 6px);
	padding: 1.25rem 1.35rem;
	margin-bottom: 1rem;
}

/* Forms ------------------------------------------------------------------ */
.cdx-orgs fieldset {
	border: 1px solid var(--cdx-line);
	border-radius: var(--r, 6px);
	padding: 1rem 1.1rem;
	margin: 0 0 1.25rem;
}
.cdx-orgs legend {
	padding: 0 .4rem;
	font-family: var(--head, sans-serif);
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--cdx-soft);
}

.cdx-orgs .cdx-form-row {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	margin: 0 0 .85rem;
}
.cdx-orgs [hidden] {
	display: none !important;
}
.cdx-orgs label {
	font-size: .82rem;
	color: var(--cdx-soft);
}
.cdx-orgs input[type="text"],
.cdx-orgs input[type="email"],
.cdx-orgs input[type="password"],
.cdx-orgs input[type="tel"],
.cdx-orgs input[type="url"],
.cdx-orgs select,
.cdx-orgs textarea {
	padding: .55rem .65rem;
	border: 1px solid var(--cdx-line);
	border-radius: var(--r, 6px);
	font-family: inherit;
	font-size: .95rem;
	background: #fff;
	color: var(--cdx-txt);
	width: 100%;
}
.cdx-orgs input,
.cdx-orgs select,
.cdx-orgs textarea {
	box-sizing: border-box;
	max-width: 100%;
}
.cdx-orgs input:focus-visible,
.cdx-orgs select:focus-visible,
.cdx-orgs textarea:focus-visible {
	outline: 2px solid var(--cdx-gold);
	outline-offset: 1px;
}

/* Two-column rows on wider screens, stacked on mobile. */
.cdx-orgs .cdx-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 0 1rem;
}
.cdx-orgs.cdx-auth-shell-wide .cdx-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1.25rem;
}

/* Organisation type picker ----------------------------------------------- */
.cdx-org-types {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: .6rem;
}
.cdx-org-type {
	display: flex;
	gap: .55rem;
	align-items: flex-start;
	padding: .7rem .8rem;
	border: 1px solid var(--cdx-line);
	border-radius: var(--r, 6px);
	background: #fff;
	cursor: pointer;
}
.cdx-org-type:hover {
	border-color: var(--cdx-gold);
}
.cdx-org-type input:checked ~ .cdx-org-type-text strong {
	color: var(--cdx-gold-deep);
}
.cdx-org-type-text {
	display: flex;
	flex-direction: column;
	gap: .1rem;
}
.cdx-org-type-text strong {
	font-family: var(--head, sans-serif);
	font-size: .95rem;
}
.cdx-org-type-text span {
	font-size: .8rem;
	color: var(--cdx-soft);
}

/* Members ---------------------------------------------------------------- */
.cdx-org-members {
	width: 100%;
	border-collapse: collapse;
	font-size: .92rem;
}
.cdx-org-members th,
.cdx-org-members td {
	text-align: left;
	padding: .5rem .6rem;
	border-bottom: 1px solid var(--cdx-line);
}
.cdx-org-members thead th {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--cdx-soft);
}
.cdx-org-role {
	display: inline-block;
	padding: .1rem .45rem;
	border-radius: 999px;
	background: var(--cdx-mist);
	border: 1px solid var(--cdx-line);
	font-size: .72rem;
}
.cdx-org-role-owner {
	border-color: var(--cdx-gold);
	color: var(--cdx-gold-deep);
}

/* Verification banner ---------------------------------------------------- */
.cdx-org-status {
	padding: .75rem .9rem;
	border-radius: var(--r, 6px);
	border-left: 3px solid var(--cdx-slate);
	background: var(--cdx-mist);
	margin-bottom: 1rem;
}
.cdx-org-status-verified {
	border-left-color: var(--cdx-ok);
	background: #e8f3ee;
}
.cdx-org-status-pending {
	border-left-color: var(--cdx-warn);
	background: #fdf6e9;
}
.cdx-org-status-rejected {
	border-left-color: var(--cdx-bad);
	background: #fbeceb;
}

.cdx-orgs-msg-links {
	margin-top: .75rem;
	font-size: .88rem;
}
.cdx-orgs-msg-links a {
	color: var(--cdx-gold-deep);
}

/* Password strength / hints ---------------------------------------------- */
.cdx-field-hint {
	font-size: .78rem;
	color: var(--cdx-soft);
}
.cdx-field-error {
	font-size: .82rem;
	color: var(--cdx-bad);
}

.cdx-verification-checklist {
	display: grid;
	gap: .45rem;
	margin: 1rem 0;
	padding: 0;
	list-style: none;
}
.cdx-verification-checklist li {
	padding: .55rem .7rem;
	border: 1px solid var(--cdx-line);
	border-radius: var(--r, 6px);
	background: var(--cdx-mist);
	font-weight: 700;
}
.cdx-verification-checklist .is-ready { color: var(--cdx-ok); }
.cdx-verification-checklist .is-missing { color: var(--cdx-bad); }

@media (max-width: 720px) {
	.cdx-orgs .cdx-form-grid {
		grid-template-columns: 1fr;
	}
	.cdx-orgs.cdx-auth-shell-wide .cdx-form-grid {
		grid-template-columns: 1fr;
	}
	.cdx-org-types {
		grid-template-columns: 1fr;
	}
}
