/* IRBAI Certification Register - sidebar layout. Adapts to light/dark via currentColor. */

.irbai-reg {
	--cy: #14b8c4;
	--cy-soft: color-mix( in srgb, #14b8c4 16%, transparent );
	--cy-line: color-mix( in srgb, #14b8c4 55%, transparent );
	--line: color-mix( in srgb, currentColor 14%, transparent );
	--line-2: color-mix( in srgb, currentColor 26%, transparent );
	--surf: color-mix( in srgb, currentColor 5%, transparent );
	--surf-2: color-mix( in srgb, currentColor 9%, transparent );
	--muted: color-mix( in srgb, currentColor 60%, transparent );
	box-sizing: border-box;
	/* Break out of a constrained page column to the full wide-page width. */
	margin-left: calc( 50% - 50vw );
	margin-right: calc( 50% - 50vw );
	padding-left: max( 1.75rem, calc( 50vw - 725px ) );
	padding-right: max( 1.75rem, calc( 50vw - 725px ) );
	display: grid;
	grid-template-columns: 284px minmax( 0, 1fr );
	gap: 2.75rem;
	align-items: start;
	font-size: 15px;
	line-height: 1.5;
}

/* ---------- sidebar ---------- */
.irbai-reg__sidebar {
	position: sticky;
	top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-height: calc( 100vh - 2rem );
	overflow-y: auto;
	padding-right: 4px;
}
.irbai-reg__search input {
	width: 100%;
	box-sizing: border-box;
	padding: .6rem .85rem;
	border: 1px solid var(--line-2);
	border-radius: 9999px;
	background: var(--surf);
	color: inherit;
	font-size: .95rem;
}
.irbai-reg__search input:focus {
	outline: none;
	border-color: var(--cy-line);
	box-shadow: 0 0 0 3px var(--cy-soft);
}
.irbai-reg__select {
	width: 100%;
	box-sizing: border-box;
	padding: .5rem .65rem;
	border: 1px solid var(--line-2);
	border-radius: 8px;
	background: var(--surf);
	color: inherit;
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}
.irbai-reg__select:focus { outline: none; border-color: var(--cy-line); box-shadow: 0 0 0 3px var(--cy-soft); }
.irbai-reg__facet-title {
	margin: 0 0 .6rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
}

/* segmented type control */
.irbai-reg__seg {
	display: flex;
	gap: .3rem;
	background: var(--surf);
	border: 1px solid var(--line);
	border-radius: 9999px;
	padding: .25rem;
}
.irbai-reg__seg-btn {
	flex: 1;
	padding: .4rem .3rem;
	border: 0;
	border-radius: 9999px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .82rem;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.irbai-reg__seg-btn.is-active {
	background: var(--cy);
	color: #04252a;
	font-weight: 600;
}

/* industry tree */
.irbai-reg__tree { display: flex; flex-direction: column; gap: 1px; }
.irbai-reg__tree-all,
.irbai-reg__tree-ind,
.irbai-reg__tree-kid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	width: 100%;
	text-align: left;
	padding: .4rem .55rem;
	border: 0;
	border-left: 2px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
	transition: background .12s, color .12s;
}
.irbai-reg__tree-all { margin-bottom: .4rem; font-weight: 600; }
.irbai-reg__tree-all:hover,
.irbai-reg__tree-ind:hover,
.irbai-reg__tree-kid:hover { background: var(--surf-2); }
.irbai-reg__tree-ind.is-active,
.irbai-reg__tree-kid.is-active,
.irbai-reg__tree-all.is-active {
	color: var(--cy);
	border-left-color: var(--cy);
	background: var(--cy-soft);
	font-weight: 600;
}
.irbai-reg__tree-top { display: flex; align-items: stretch; }
.irbai-reg__tree-top .irbai-reg__tree-ind { flex: 1; }
.irbai-reg__tree-caret {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	border: 0;
	background: transparent;
	color: var(--muted);
	cursor: pointer;
	border-radius: 6px;
}
.irbai-reg__tree-caret:hover { background: var(--surf-2); color: inherit; }
.irbai-reg__tree-caret svg { transition: transform .15s; }
.irbai-reg__tree-group.is-open .irbai-reg__tree-caret svg { transform: rotate( 90deg ); }
.irbai-reg__tree-kids { display: flex; flex-direction: column; gap: 1px; padding: 2px 0 4px .5rem; }
.irbai-reg__tree-kid { font-size: .85rem; color: var(--muted); }
.irbai-reg__tree-kid:hover { color: inherit; }
.irbai-reg__tree-n {
	flex: 0 0 auto;
	font-size: .72rem;
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}
.irbai-reg__tree-ind.is-active .irbai-reg__tree-n,
.irbai-reg__tree-kid.is-active .irbai-reg__tree-n { color: inherit; }

/* ---------- main ---------- */
.irbai-reg__toolbar { margin-bottom: .9rem; }
.irbai-reg__count { margin: 0; font-size: .95rem; font-weight: 600; }

.irbai-reg__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .7rem; }
.irbai-reg__chips:empty { display: none; }
.irbai-reg__chip {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .25rem .6rem;
	border: 1px solid var(--cy-line);
	border-radius: 9999px;
	background: var(--cy-soft);
	color: inherit;
	font: inherit;
	font-size: .8rem;
	cursor: pointer;
}
.irbai-reg__chip span { font-size: 1rem; line-height: 1; opacity: .8; }
.irbai-reg__chip--clear { border-color: var(--line-2); background: transparent; color: var(--muted); }

.irbai-reg__az { display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 1.1rem; }
.irbai-reg__az-btn {
	min-width: 26px;
	padding: .2rem .1rem;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .8rem;
	cursor: pointer;
}
.irbai-reg__az-btn:hover:not( [disabled] ) { background: var(--surf-2); }
.irbai-reg__az-btn.is-active { background: var(--cy); color: #04252a; font-weight: 700; }
.irbai-reg__az-btn[disabled] { opacity: .3; cursor: default; }

/* row cards */
.irbai-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 1rem 1.25rem;
	margin-bottom: .75rem;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--surf);
	color: inherit;
	text-decoration: none;
	transition: border-color .15s, background .15s, transform .15s;
}
.irbai-card:hover {
	border-color: var(--cy-line);
	background: var(--surf-2);
	transform: translateY( -1px );
}
.irbai-card__body { min-width: 0; }
.irbai-card__head { display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; flex-wrap: wrap; }
.irbai-card__code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--cy);
	background: var(--cy-soft);
	padding: .12rem .5rem;
	border-radius: 6px;
}
.irbai-card__type {
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .12rem .5rem;
	border-radius: 9999px;
	border: 1px solid var(--line-2);
	color: var(--muted);
}
.irbai-card__type.is-license { color: var(--cy); border-color: var(--cy-line); }
.irbai-card__title { margin: 0 0 .3rem; font-size: 1.02rem; font-weight: 600; line-height: 1.35; }
.irbai-card__excerpt {
	margin: 0 0 .4rem;
	font-size: .86rem;
	color: var(--muted);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.irbai-card__inds { font-size: .76rem; color: var(--muted); }
.irbai-card__cta { flex: 0 0 auto; color: var(--cy); font-size: .85rem; font-weight: 600; white-space: nowrap; }

.irbai-reg__empty { padding: 2rem 1rem; text-align: center; color: var(--muted); }

.irbai-reg__pager { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.25rem; }
.irbai-reg__page-btn {
	padding: .45rem .9rem;
	border: 1px solid var(--line-2);
	border-radius: 8px;
	background: var(--surf);
	color: inherit;
	font: inherit;
	font-size: .85rem;
	cursor: pointer;
}
.irbai-reg__page-btn:hover:not( [disabled] ) { border-color: var(--cy-line); color: var(--cy); }
.irbai-reg__page-btn[disabled] { opacity: .4; cursor: default; }
.irbai-reg__page-info { font-size: .85rem; color: var(--muted); }

/* drawer toggle (mobile only) */
.irbai-reg__drawer-toggle {
	display: none;
	margin-bottom: 1rem;
	padding: .55rem 1rem;
	border: 1px solid var(--line-2);
	border-radius: 8px;
	background: var(--surf);
	color: inherit;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

@media ( max-width: 880px ) {
	.irbai-reg { grid-template-columns: 1fr; gap: 0; }
	.irbai-reg__drawer-toggle { display: inline-block; }
	.irbai-reg__sidebar {
		position: fixed;
		z-index: 60;
		top: 0;
		left: 0;
		bottom: 0;
		width: min( 320px, 86vw );
		max-height: none;
		padding: 1.25rem;
		background: color-mix( in srgb, currentColor 6%, canvas );
		border-right: 1px solid var(--line-2);
		transform: translateX( -105% );
		transition: transform .2s ease;
	}
	.irbai-reg.is-drawer-open .irbai-reg__sidebar { transform: none; box-shadow: 0 0 40px rgba( 0, 0, 0, .4 ); }
}

/* Themed sidebar scrollbar - no white track/arrows in dark mode; adapts via currentColor */
.irbai-reg__sidebar { scrollbar-width: thin; scrollbar-color: color-mix( in srgb, currentColor 25%, transparent ) transparent; }
.irbai-reg__sidebar::-webkit-scrollbar { width: 8px; }
.irbai-reg__sidebar::-webkit-scrollbar-button { display: none; height: 0; width: 0; }
.irbai-reg__sidebar::-webkit-scrollbar-track { background: transparent; }
.irbai-reg__sidebar::-webkit-scrollbar-thumb { background: color-mix( in srgb, currentColor 22%, transparent ); border-radius: 8px; }
.irbai-reg__sidebar::-webkit-scrollbar-thumb:hover { background: color-mix( in srgb, currentColor 38%, transparent ); }
/* Respect the hidden attribute on sub-sector groups (author display: flex was overriding it) */
.irbai-reg__tree-kids[hidden] { display: none; }
/* Design polish: centered + bolder caret, tighter card spacing */
.irbai-reg__tree-top { align-items: center; }
.irbai-reg__tree-caret svg { width: 16px; height: 16px; }
.irbai-reg__tree-caret svg path { stroke-width: 2.75; }
.irbai-card { margin-bottom: .5rem; }
/* Tighter spacing between sidebar sections */
.irbai-reg__sidebar { gap: 15px; }
/* Theme adds bottom-margins to form controls/wrappers, inflating the section gap - neutralise so only the flex gap (15px) applies */
.irbai-reg__sidebar input,
.irbai-reg__sidebar select { margin: 0 !important; }
.irbai-reg__sidebar .irbai-reg__search,
.irbai-reg__sidebar .irbai-reg__facet,
.irbai-reg__sidebar .irbai-reg__seg { margin: 0 !important; }
/* Darker card description for readability (was 60% -> 74% of text colour) */
.irbai-card__excerpt { color: color-mix( in srgb, currentColor 74%, transparent ); }
/* Risk-tier badge on cards */
.irbai-card__risk {
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: .12rem .5rem;
	border-radius: 9999px;
	border: 1px solid color-mix( in srgb, currentColor 45%, transparent );
	background: color-mix( in srgb, currentColor 12%, transparent );
}
.irbai-card__risk.is-a { color: #22a35a; }
.irbai-card__risk.is-b { color: #c98a00; }
.irbai-card__risk.is-c { color: #e06a2c; }
.irbai-card__risk.is-d { color: #d64242; }

/* Brighten sidebar sub-sector names to match card text (was 60% -> 88%) */
.irbai-reg__tree-kid { color: color-mix( in srgb, currentColor 88%, transparent ); }
.irbai-reg__tree-kid .irbai-reg__tree-n { color: var(--muted); }
