/**
 * Event101 - Full-screen application shell (sidebar + top bar + drawer).
 */

html.event101-app-shell,
body.event101-app-shell {
	margin: 0;
	padding: 0;
	min-height: 100%;
	max-width: 100%;
	overflow-x: clip;
	overscroll-behavior-x: none;
	background: #f8fafc;
	font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 13px;
	line-height: 1.45;
	color: #0f172a;
	-webkit-font-smoothing: antialiased;
	/* Organiser shell - shared action tokens (router, drawer, mirrored in SaaS/EMP) */
	--e101-system-green: #58e28a;
	--e101-system-green-soft: #f0fdf4;
	--e101-system-green-ink: #052e16;
	--e101-system-green-ink-secondary: #14532d;
	/* Header shell structural accent (eyebrow mark) — not button hover/active tokens */
	--e101-header-eyebrow-accent: var(--e101-system-green, #58e28a);
	--e101-btn-primary-bg: #16324f;
	--e101-btn-primary-bg-hover: var(--e101-system-green, #58e28a);
	--e101-btn-primary-bg-active: #3dd977;
	--e101-btn-primary-fg: #fff;
	--e101-btn-primary-fg-hover: var(--e101-system-green-ink, #052e16);
	--e101-btn-secondary-bg: #fff;
	--e101-btn-secondary-fg: #0f172a;
	--e101-btn-secondary-border: #cbd5e1;
	--e101-btn-secondary-bg-hover: var(--e101-system-green-soft, #f0fdf4);
	--e101-btn-secondary-border-hover: var(--e101-system-green, #58e28a);
	--e101-btn-secondary-fg-hover: var(--e101-system-green-ink-secondary, #14532d);
	--e101-btn-ghost-bg: #f8fafc;
	--e101-btn-radius: 8px;
	--e101-btn-focus-ring: rgba(88, 226, 138, 0.45);
	--e101-btn-focus-shadow: 0 0 0 3px rgba(88, 226, 138, 0.18);
	/* Link / accent family (complements slate primary buttons) */
	--e101-accent-link: #1e3a5f;
	--e101-accent-link-hover: #152a45;
	--e101-accent-ink-muted: #334e68;
	--e101-accent-surface: #f1f5f9;
	--e101-accent-surface-tint: #e8eef4;
	--e101-accent-border-soft: #cbd5e1;
	--e101-accent-border: #94a3b8;
	--e101-accent-focus-ring: var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	--e101-sidebar-expanded: 240px;
	--e101-sidebar-collapsed: 64px;
	/* Aliases for segmented tabs (drawers / compact toggles); values mirror tokens above. */
	--e101-surface-subtle: var(--e101-accent-surface, #f1f5f9);
	--e101-border-subtle: #e2e8f0;
	--e101-text-default: var(--e101-btn-secondary-fg, #334155);
	--e101-primary-slate: var(--e101-btn-primary-bg, #334155);
}

.event101-app-shell .skip-link.screen-reader-text {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999999;
}
.event101-app-shell .skip-link.screen-reader-text:focus {
	left: 12px;
	top: 12px;
	clip: auto !important;
	clip-path: none;
	width: auto;
	height: auto;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	color: #0f172a;
	font-weight: 600;
	text-decoration: none;
}

.event101-app-shell .screen-reader-text:not(.skip-link) {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

body.event101-app-shell #wpadminbar {
	display: none !important;
}

.e101-app {
	/* Shared sticky offset for in-app chrome (topbar); modules may use top: var(--e101-app-topbar-height, 0px). */
	--e101-app-topbar-height: 56px;
	display: flex;
	min-height: 100vh;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: clip;
	box-sizing: border-box;
}

/* ---- Sidebar ---- */
.e101-app__sidebar {
	flex: 0 0 var(--e101-sidebar-expanded);
	width: var(--e101-sidebar-expanded);
	background: #111827;
	color: #e5e7eb;
	display: flex;
	flex-direction: column;
	position: sticky;
	top: 0;
	align-self: flex-start;
	min-height: 100vh;
	z-index: 40;
	font-size: 14px;
	line-height: 1.4;
	transition: width 0.2s ease, flex-basis 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
	.e101-app__sidebar {
		transition: none;
	}
}

/* Sidebar collapse toggle */
.e101-app__sidebar-toggle {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 10px 8px;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.04);
	color: #cbd5e1;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.e101-app__sidebar-toggle:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #f9fafb;
}

.e101-app__sidebar-toggle:focus {
	outline: 2px solid var(--e101-accent-focus-ring, #475569);
	outline-offset: -2px;
}

.e101-app__sidebar-toggle-icon {
	display: block;
	width: 20px;
	height: 20px;
	background: currentColor;
	opacity: 0.9;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M11 19l-7-7 7-7m8 14l-7-7 7-7'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M11 19l-7-7 7-7m8 14l-7-7 7-7'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

body.event101-app-shell--sidebar-collapsed .e101-app__sidebar-toggle-icon {
	transform: scaleX(-1);
}

/* Collapsed sidebar: icon rail */
body.event101-app-shell--sidebar-collapsed .e101-app__sidebar {
	flex: 0 0 var(--e101-sidebar-collapsed);
	width: var(--e101-sidebar-collapsed);
	overflow-x: hidden;
}

body.event101-app-shell--sidebar-collapsed .e101-app__brand-mark,
body.event101-app-shell--sidebar-collapsed .e101-app__nav-label,
body.event101-app-shell--sidebar-collapsed .e101-app__event-banner-label,
body.event101-app-shell--sidebar-collapsed .e101-app__event-banner-name {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.event101-app-shell--sidebar-collapsed .e101-app__brand-logo {
	display: none;
}

body.event101-app-shell--sidebar-collapsed .e101-app__brand {
	padding: 8px 6px;
	align-items: center;
}

body.event101-app-shell--sidebar-collapsed .e101-app__event-banner {
	margin: 4px 6px 8px;
	padding: 6px;
	min-height: 36px;
}

body.event101-app-shell--sidebar-collapsed .e101-app__nav-item {
	justify-content: center;
	padding-left: 10px;
	padding-right: 10px;
}

body.event101-app-shell--sidebar-collapsed .e101-app__nav-item--active::before {
	display: none;
}

body.event101-app-shell--sidebar-collapsed .e101-app__nav-rule {
	margin-left: 6px;
	margin-right: 6px;
}

.e101-app__brand {
	padding: 14px 16px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Interface logo: bundled StandardLogo on dark chrome - no invert filters. */
.e101-app__brand-logo .custom-logo-link,
.e101-app__brand-logo img {
	display: block;
	max-height: 28px;
	width: auto;
	opacity: 1;
}

.e101-app__brand-logo--platform {
	/* Reserved: light shell variant would swap asset via data-e101-brand-theme + resolver theme "light". */
}

.e101-app__brand-mark {
	font-weight: 600;
	font-size: 14px;
	letter-spacing: -0.03em;
	color: #f3f4f6;
}

.e101-app__nav {
	flex: 1;
	padding: 6px 8px 12px;
	overflow-y: auto;
}

.e101-app__nav-group {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 6px 0;
}

.e101-app__nav-rule {
	height: 1px;
	margin: 6px 10px;
	background: rgba(255, 255, 255, 0.08);
	border: 0;
}

.e101-app__event-banner {
	margin: 4px 8px 10px;
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.e101-app__event-banner-label {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #6b7280;
	margin-bottom: 4px;
}

.e101-app__event-banner-name {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #f9fafb;
	line-height: 1.3;
	max-height: 2.6em;
	overflow: hidden;
}

.e101-app__nav-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px 9px 12px;
	margin: 1px 0;
	border-radius: 7px;
	color: #9ca3af;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	transition: background 0.14s ease, color 0.14s ease;
}

.e101-app__nav-label {
	color: inherit;
}

.e101-app__nav-item:hover {
	background: rgba(255, 255, 255, 0.07);
	color: #e5e7eb;
}

.e101-app__nav-item--active {
	background: rgba(255, 255, 255, 0.09);
	color: #f9fafb;
}

.e101-app__nav-item--active::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 0 2px 2px 0;
	background: #e5e7eb;
	opacity: 0.9;
}

.e101-app__nav-item--muted {
	opacity: 0.72;
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 0;
}

.e101-app__nav-item--muted:hover {
	opacity: 1;
}

.e101-app__nav-item--compact {
	padding: 8px 10px;
	font-size: 12px;
	color: #6b7280;
}

.e101-app__nav-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	opacity: 0.85;
	background: currentColor;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.e101-app__nav-icon--grid {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--bell {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--calendar {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--layers {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--folder {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--book {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--lifebuoy {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Ccircle cx='12' cy='12' r='10' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M4.93 4.93l4.24 4.24M14.83 14.83l4.24 4.24M4.93 19.07l4.24-4.24M14.83 9.17l4.24-4.24'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Ccircle cx='12' cy='12' r='10' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M4.93 4.93l4.24 4.24M14.83 14.83l4.24 4.24M4.93 19.07l4.24-4.24M14.83 9.17l4.24-4.24'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--user {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2M12 11a4 4 0 100-8 4 4 0 000 8z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2M12 11a4 4 0 100-8 4 4 0 000 8z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--settings {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 15a3 3 0 100-6 3 3 0 000 6z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 15a3 3 0 100-6 3 3 0 000 6z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--back {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 19l-7-7m0 0l7-7m-7 7h18'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 19l-7-7m0 0l7-7m-7 7h18'/%3E%3C/svg%3E");
}
/*
 * Global organiser hub (render_sidebar_global_nav) - extra slugs used beside grid…back above.
 * Dot: default icon slug when event101_app_shell_nav_* filters omit row[2].
 */
.e101-app__nav-icon--checklist {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--clipboard {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--dot {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Ccircle cx='12' cy='12' r='4' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Ccircle cx='12' cy='12' r='4' stroke-width='2'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--inbox {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M22 12h-6l-2 3H10L8 12H2v8a2 2 0 002 2h16a2 2 0 002-2V12zm-6-1l2-6H6l2 6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M22 12h-6l-2 3H10L8 12H2v8a2 2 0 002 2h16a2 2 0 002-2V12zm-6-1l2-6H6l2 6'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--map {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3' stroke-width='2'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--risk {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
}
/* Event nav - Lucide-style strokes */
.e101-app__nav-icon--nav-overview {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Crect x='3' y='3' width='7' height='9' rx='1' stroke-width='2'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1' stroke-width='2'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1' stroke-width='2'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Crect x='3' y='3' width='7' height='9' rx='1' stroke-width='2'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1' stroke-width='2'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1' stroke-width='2'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1' stroke-width='2'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-details {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-timeline {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-calendar {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-emp {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-risk {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-documents {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-requirements {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 11l3 3L22 4'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 11l3 3L22 4'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-permits {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-lessons {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 18h6M10 22h4M12 2v1M12 22v-3M4.22 10.22l.92.92M18.36 18.36l.92.92M2 12h3M19 12h3M4.22 13.78l.92-.92M18.36 5.64l.92-.92'/%3E%3Ccircle cx='12' cy='12' r='4' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 18h6M10 22h4M12 2v1M12 22v-3M4.22 10.22l.92.92M18.36 18.36l.92.92M2 12h3M19 12h3M4.22 13.78l.92-.92M18.36 5.64l.92-.92'/%3E%3Ccircle cx='12' cy='12' r='4' stroke-width='2'/%3E%3C/svg%3E");
}

.e101-app__sidebar-footer {
	padding: 12px 10px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* ---- Main column ---- */
.e101-app__main {
	flex: 1;
	min-width: 0;
	max-width: 100%;
	overflow-x: clip;
	display: flex;
	flex-direction: column;
	background: #f8fafc;
	box-sizing: border-box;
}

.e101-app__topbar {
	flex: 0 0 auto;
	height: var(--e101-app-topbar-height, 56px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
	background: #fff;
	border-bottom: 1px solid #e5e7eb;
	position: sticky;
	top: 0;
	z-index: 30;
	overflow: visible;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.e101-app__topbar-left {
	flex: 1;
	max-width: 420px;
	overflow: visible;
}

.e101-app__search-wrap {
	position: relative;
	width: 100%;
	overflow: visible;
}

.e101-global-search-panel__scope-picker {
	margin: 0;
	padding: 10px 12px 8px;
	border-bottom: 1px solid #f1f5f9;
}

.e101-global-search-panel__scope-label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #64748b;
}

.e101-global-search-panel__scope-segments {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-width: 100%;
}

.e101-global-search-panel__scope-btn {
	margin: 0;
	padding: 5px 10px;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.3;
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	cursor: pointer;
	white-space: nowrap;
}

.e101-global-search-panel__scope-btn:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	color: #0f172a;
}

.e101-global-search-panel__scope-btn[aria-pressed="true"] {
	color: #f8fafc;
	background: #334155;
	border-color: #334155;
}

.e101-global-search-panel__scope-btn:focus-visible {
	outline: 2px solid #334155;
	outline-offset: 2px;
}

.e101-global-search-panel__scope {
	margin: 0;
	padding: 6px 0 0;
	font-size: 0.6875rem;
	line-height: 1.4;
	color: #94a3b8;
}

.e101-global-search-panel {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 45;
	max-height: min(70vh, 420px);
	overflow: auto;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
	padding: 8px 0;
}

.e101-global-search-panel__status,
.e101-global-search-panel__summary {
	margin: 0;
	padding: 10px 14px;
	font-size: 0.8125rem;
	color: #64748b;
}

.e101-global-search-panel__status--error {
	color: #b45309;
}

.e101-global-search-panel__group {
	margin: 0;
	padding: 0;
}

.e101-global-search-panel__group-label {
	margin: 0;
	padding: 8px 14px 4px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #94a3b8;
}

.e101-global-search-panel__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.e101-global-search-panel__result {
	display: block;
	padding: 8px 14px;
	text-decoration: none;
	color: inherit;
	border-left: 2px solid transparent;
	outline: none;
}

.e101-global-search-panel__result:hover,
.e101-global-search-panel__result--active,
.e101-global-search-panel__result:focus-visible {
	background: #f8fafc;
	border-left-color: #334155;
}

.e101-global-search-panel__result-title {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.35;
}

.e101-global-search-panel__result-sub {
	display: block;
	font-size: 0.75rem;
	color: #64748b;
	margin-top: 2px;
}

.e101-global-search-panel__result-excerpt {
	display: block;
	font-size: 0.75rem;
	color: #94a3b8;
	margin-top: 2px;
	line-height: 1.4;
}

@media (max-width: 640px) {
	.e101-app__topbar-left {
		max-width: none;
	}

	.e101-global-search-panel {
		max-height: min(60vh, 360px);
	}
}

.e101-app__search {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
}

.e101-app__search-icon {
	width: 16px;
	height: 16px;
	opacity: 0.45;
	background: #64748b;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.e101-app__search-input {
	border: 0;
	background: transparent;
	font: inherit;
	width: 100%;
	color: #0f172a;
	outline: none;
}

.e101-app__search-input::placeholder {
	color: #94a3b8;
}

#e101-app-content [data-e101-search-item][hidden],
#e101-app-content [data-e101-search-item].e101-search-item--filtered-out {
	display: none !important;
}

#e101-app-content [data-e101-search-empty][hidden] {
	display: none;
}

.e101-app__topbar-right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.e101-app__topbar-link {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #334155;
	text-decoration: none;
	padding: 0.35rem 0.5rem;
	border-radius: 8px;
	white-space: nowrap;
	transition: background 0.12s ease, color 0.12s ease;
}

.e101-app__topbar-link:hover {
	background: #f1f5f9;
	color: #0f172a;
}

button.e101-app__topbar-link {
	font: inherit;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: inherit;
}

span.e101-app__topbar-link--disabled {
	cursor: not-allowed;
	opacity: 0.55;
	pointer-events: auto;
}

span.e101-app__topbar-link--disabled:hover {
	background: transparent;
	color: #334155;
}

@media (max-width: 640px) {
	.e101-app__topbar-link {
		display: none;
	}
}

.e101-app__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 10px;
	background: transparent;
	color: #475569;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.12s ease;
}

.e101-app__icon-btn:hover:not(:disabled) {
	background: #f1f5f9;
}

.e101-app__icon-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.e101-app__icon-btn-inner {
	width: 20px;
	height: 20px;
	background: currentColor;
	opacity: 0.75;
	mask-size: contain;
	-webkit-mask-size: contain;
}
.e101-app__icon-btn-inner--bell {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
}
.e101-app__icon-btn-inner--help {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

.e101-app__avatar {
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: #1e293b;
	color: #f8fafc;
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.e101-app__content {
	flex: 1;
	padding: 10px 16px 20px;
	min-width: 0;
	max-width: 100%;
	overflow-x: clip;
	box-sizing: border-box;
}

@media (max-width: 900px) {
	.e101-app {
		flex-direction: column;
	}
	.e101-app__sidebar {
		position: relative;
		width: 100%;
		flex: none;
		min-height: auto;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}
	.e101-app__nav {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.e101-app__nav-item {
		flex: 1 1 45%;
	}
}

/* ---- Drawer ---- */
.e101-drawer[hidden] {
	display: none !important;
}

.e101-drawer {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	justify-content: flex-end;
}

html.e101-drawer-open {
	overflow: hidden;
}

.e101-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.35);
	transition: opacity 0.2s ease;
}

.e101-drawer__panel {
	position: relative;
	width: min(420px, 100vw);
	background: #fff;
	box-shadow: -8px 0 32px rgba(15, 23, 42, 0.12);
	display: flex;
	flex-direction: column;
	max-height: 100%;
	animation: e101-drawer-in 0.18s ease-out;
}

@keyframes e101-drawer-in {
	from {
		transform: translateX(12px);
		opacity: 0.9;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

.e101-drawer__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid #e5e7eb;
}

.e101-drawer__title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.35;
}

.e101-drawer__close {
	border: none;
	background: #f1f5f9;
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	border-radius: 8px;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	color: #475569;
	transition: background 0.15s ease, color 0.15s ease;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	font-weight: 500;
}

.e101-drawer__close:hover {
	background: #e2e8f0;
	color: #0f172a;
}

.e101-drawer__close:focus-visible {
	outline: none;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

.e101-drawer__foot .e101-btn {
	display: inline-flex;
	padding: 8px 14px;
	border-radius: var(--e101-btn-radius, 8px);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	background: var(--e101-btn-primary-bg, #334155);
	color: var(--e101-btn-primary-fg, #fff);
	border: 1px solid var(--e101-btn-primary-bg, #334155);
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

.e101-drawer__foot .e101-btn:hover {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
}

.e101-drawer__foot .e101-btn:active {
	background: var(--e101-btn-primary-bg-active, #0f172a);
	border-color: var(--e101-btn-primary-bg-active, #0f172a);
	color: var(--e101-btn-primary-fg, #fff);
}

.e101-drawer__foot .e101-btn:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
	color: var(--e101-btn-primary-fg, #fff);
}

.e101-drawer__body {
	padding: 14px 18px;
	font-size: 13px;
	color: #475569;
	line-height: 1.5;
	overflow-y: auto;
	flex: 1;
}

body.event101-app-shell .e101-drawer__body {
	line-height: 1.45;
}

.e101-drawer__foot {
	padding: 12px 18px 18px;
	border-top: 1px solid #e5e7eb;
}

.e101-drawer__foot[hidden] {
	display: none !important;
}

/* Event sidebar - sub-groups */
.e101-app__nav-rule--event {
	margin: 6px 10px;
	opacity: 0.35;
}

.e101-app__nav-icon--nav-layers {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-locations {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3' stroke-width='2'/%3E%3C/svg%3E");
}
/* Map Builder: folded site map (distinct from Locations pin). Event nav renders nav-{slug}. */
.e101-app__nav-icon--nav-map-builder {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7'/%3E%3C/svg%3E");
}
/* Site delivery / production resources (slice 1) - truck + cargo box; distinct from locations / traffic. */
.e101-app__nav-icon--nav-site-provision {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M1 5h14v10H1V5zm15 7h3l2 2v5h-5v-7z'/%3E%3Ccircle cx='6.5' cy='19' r='1.75' stroke-width='2'/%3E%3Ccircle cx='17.5' cy='19' r='1.75' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M1 5h14v10H1V5zm15 7h3l2 2v5h-5v-7z'/%3E%3Ccircle cx='6.5' cy='19' r='1.75' stroke-width='2'/%3E%3Ccircle cx='17.5' cy='19' r='1.75' stroke-width='2'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-assurance {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-stakeholders {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8zm12 4v2M23 11a3 3 0 10-6 0 3 3 0 006 0z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8zm12 4v2M23 11a3 3 0 10-6 0 3 3 0 006 0z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-team {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M9 7a4 4 0 108 0 4 4 0 00-8 0zm8 4v6m3-3h-6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M9 7a4 4 0 108 0 4 4 0 00-8 0zm8 4v6m3-3h-6'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-submissions {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 13V7a2 2 0 00-2-2H6a2 2 0 00-2 2v10a2 2 0 002 2h7M16 17h6M19 14v6M9 9h6M9 13h4'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 13V7a2 2 0 00-2-2H6a2 2 0 00-2 2v10a2 2 0 002 2h7M16 17h6M19 14v6M9 9h6M9 13h4'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-reviews {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z'/%3E%3C/svg%3E");
}

.e101-app__nav-icon--nav-bell {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-budget {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-recon {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-incident {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z'/%3E%3C/svg%3E");
}
/* Event rail - slugs that must not share global-only or missing nav-* masks */
.e101-app__nav-icon--nav-checklist {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-setup {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-planning {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Crect x='3' y='5' width='5' height='14' rx='1' stroke-width='2'/%3E%3Crect x='9.5' y='5' width='5' height='10' rx='1' stroke-width='2'/%3E%3Crect x='16' y='5' width='5' height='12' rx='1' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Crect x='3' y='5' width='5' height='14' rx='1' stroke-width='2'/%3E%3Crect x='9.5' y='5' width='5' height='10' rx='1' stroke-width='2'/%3E%3Crect x='16' y='5' width='5' height='12' rx='1' stroke-width='2'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-programme {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z'/%3E%3C/svg%3E");
}
/* Concessions / stalls - striped awning + counter (distinct from programme mic & budget). */
.e101-app__nav-icon--nav-concessions {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9l8-4 8 4M4 9v2h16V9'/%3E%3Cpath stroke-linecap='round' stroke-width='1.5' d='M7 9V6M10 8V5M13 9V6M16 8V5'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 11h14v8a1 1 0 01-1 1H6a1 1 0 01-1-1v-8z'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 15h6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9l8-4 8 4M4 9v2h16V9'/%3E%3Cpath stroke-linecap='round' stroke-width='1.5' d='M7 9V6M10 8V5M13 9V6M16 8V5'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 11h14v8a1 1 0 01-1 1H6a1 1 0 01-1-1v-8z'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 15h6'/%3E%3C/svg%3E");
}
/* Supplier Management hub: building + truck (distinct from RFQ clipboard) */
.e101-app__nav-icon--nav-supplier-mgmt {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 21h18M5 21V7l3-3h8l3 3v14'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 10h6M8 14h8'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 17h4l1-3h10l1 3h4'/%3E%3Ccircle cx='7' cy='17' r='1.5' stroke-width='2'/%3E%3Ccircle cx='17' cy='17' r='1.5' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 21h18M5 21V7l3-3h8l3 3v14'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 10h6M8 14h8'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 17h4l1-3h10l1 3h4'/%3E%3Ccircle cx='7' cy='17' r='1.5' stroke-width='2'/%3E%3Ccircle cx='17' cy='17' r='1.5' stroke-width='2'/%3E%3C/svg%3E");
}
/* Supplier quote requests (RFQ): clipboard + quote mark */
.e101-app__nav-icon--nav-supplier-rfqs {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 12h6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 12h6'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-communications {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-traffic {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7'/%3E%3C/svg%3E");
}
/* Shield + paired figures: Security & Stewarding (distinct from permits / risk / team icons). */
.e101-app__nav-icon--nav-security-stewarding {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Ccircle cx='9' cy='14.5' r='1.75' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M6.25 19.5h5.5'/%3E%3Ccircle cx='16' cy='14.5' r='1.75' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12.25 19.5h5.5'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Ccircle cx='9' cy='14.5' r='1.75' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M6.25 19.5h5.5'/%3E%3Ccircle cx='16' cy='14.5' r='1.75' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12.25 19.5h5.5'/%3E%3C/svg%3E");
}
/* First-aid kit mark (rounded case + cross) - Medical / First Aid event nav */
.e101-app__nav-icon--nav-medical-first-aid {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Crect x='5' y='3' width='14' height='18' rx='2' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12 8v8M8 12h8'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Crect x='5' y='3' width='14' height='18' rx='2' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12 8v8M8 12h8'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-accreditation {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-event-permit {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-permit-review {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");
}
.e101-app__nav-icon--nav-grid {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
}

/* Traders & Concessions - section layout, overview control panel, register / assignment hubs */
.e101-traders-section__head {
	margin-bottom: 0.35rem;
}
.e101-traders-section__head .e101-router-section__lede {
	max-width: 52rem;
	margin: 0.35rem 0 0;
	line-height: 1.45;
}
.e101-traders-page-card {
	max-width: min(1120px, 100%);
	width: 100%;
	margin: 0 auto 1rem;
	padding: 18px 16px 22px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.09);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	font-size: 13px;
	color: #0f172a;
}
.e101-traders-page-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	margin: 0 0 0.35rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}
.e101-traders-page-card__titleblock {
	flex: 1 1 14rem;
	min-width: min(100%, 16rem);
}
.e101-traders-page-card__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.15rem, 2.4vw, 1.45rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #0f172a;
	line-height: 1.2;
}
.e101-traders-page-card__lede {
	margin: 0;
	max-width: 44rem;
	font-size: 0.92rem;
	line-height: 1.45;
	color: #64748b;
}
.e101-traders-page-card__beacon {
	flex: 0 0 auto;
	margin-left: auto;
	align-self: flex-start;
	display: flex;
	align-items: flex-start;
}
.e101-traders-page-card__tabs {
	margin: 0.5rem 0 1rem;
}
.e101-traders-page-card__body {
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}
.e101-traders-ss-nav--wrap .e101-router-ss-nav__inner {
	flex-wrap: wrap;
	row-gap: 0.35rem;
}
/* Dashboard workflow shortcuts */
.e101-traders-dash-workflows__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
	gap: 0.75rem 1rem;
	margin: 0 0 1.25rem;
}
.e101-traders-dash-workflows__card {
	border: 1px solid rgba(15, 23, 42, 0.09);
	border-radius: 10px;
	padding: 0.85rem 1rem 1rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.e101-traders-dash-workflows__card-title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: #0f172a;
}
.e101-traders-dash-workflows__card-hint {
	margin: 0 0 0.65rem;
	font-size: 0.82rem;
	line-height: 1.4;
}
.e101-traders-dash-workflows--compact .e101-traders-dash-workflows__card-title {
	margin: 0 0 0.55rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}
.e101-traders-tm-dash--collapsed [data-e101-traders-tm-form] {
	display: none;
}
.e101-traders-wf-row--docs-miss .e101-traders-wf-missing-k {
	display: inline-block;
	margin-bottom: 0.15rem;
	color: #92400e;
}
.e101-traders-wf-row--docs-miss .e101-traders-wf-missing-v {
	color: #451a03;
}
/* Workflow boards */
.e101-traders-wf-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
	gap: 0.65rem;
	margin: 0 0 1rem;
}
.e101-traders-wf-summary__card {
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 8px;
	padding: 0.55rem 0.65rem;
	background: rgba(248, 250, 252, 0.95);
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.e101-traders-wf-summary__count {
	font-size: 1.25rem;
	font-weight: 700;
	color: #0f172a;
}
.e101-traders-wf-summary__label {
	font-size: 0.78rem;
	color: #64748b;
	line-height: 1.3;
}
.e101-traders-wf-filters {
	margin: 0 0 0.85rem;
}
.e101-traders-wf-filters__k {
	font-weight: 600;
	margin-right: 0.35rem;
	color: #475569;
}
.e101-traders-wf-table-wrap {
	overflow-x: auto;
	margin: 0 0 1rem;
	-webkit-overflow-scrolling: touch;
}
.e101-traders-wf-table {
	width: 100%;
	min-width: 52rem;
	border-collapse: collapse;
	font-size: 13px;
}
.e101-traders-wf-table th,
.e101-traders-wf-table td {
	padding: 0.45rem 0.5rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
	text-align: left;
	vertical-align: top;
}
.e101-traders-wf-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: rgba(248, 250, 252, 0.98);
	font-weight: 700;
	font-size: 11px;
	text-transform: none;
	letter-spacing: 0.02em;
	color: #475569;
}
.e101-traders-wf-cell--ok {
	color: #15803d;
	font-weight: 600;
}
.e101-traders-wf-cell--miss {
	color: #b45309;
	font-weight: 600;
}
.e101-traders-wf-cell--na {
	color: #94a3b8;
}
.e101-traders-wf-module-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
	margin-top: 0.25rem;
}
.e101-traders-wf-promo {
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	border: 1px solid rgba(30, 90, 142, 0.14);
	background: rgba(239, 246, 255, 0.45);
}
.e101-traders-shared-sum {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: 0.65rem;
	margin: 0 0 1.25rem;
}
.e101-traders-shared-sum__card {
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 8px;
	padding: 0.65rem 0.75rem;
	background: #f9fafb;
}
.e101-traders-shared-sum__label {
	margin: 0;
	font-size: 0.82rem;
	color: #64748b;
}
.e101-traders-shared-sum__count {
	margin: 0.15rem 0 0;
	font-size: 1.35rem;
	font-weight: 700;
}
.e101-traders-shared-group {
	margin-bottom: 1.25rem;
}
.e101-traders-shared-card {
	border: 1px solid rgba(17, 24, 39, 0.1);
	border-radius: 10px;
	padding: 0.85rem 1rem;
	margin-bottom: 0.65rem;
	background: #fff;
}
.e101-traders-shared-card__head {
	margin-bottom: 0.5rem;
}
.e101-traders-shared-card__title {
	margin: 0 0 0.25rem;
	font-size: 1rem;
}
.e101-traders-shared-card__where {
	margin: 0;
	font-size: 0.88rem;
}
.e101-traders-shared-card__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: 0.5rem 0.75rem;
	margin-top: 0.5rem;
}
.e101-traders-shared-card__span2 {
	grid-column: 1 / -1;
}
.e101-traders-shared-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.65rem;
}
.e101-traders-shared-save {
	margin: 1rem 0 0;
}
.e101-traders-ws-selector {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 8px;
	background: #fff;
}
.e101-traders-ws-selector__hint {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
	max-width: 40rem;
}
.e101-traders-overview__what-next {
	margin: 1rem 0;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 10px;
	background: rgba(249, 250, 251, 0.65);
}
.e101-traders-what-next__list {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}
.e101-traders-what-next__item {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	padding: 0.55rem 0;
	border-top: 1px solid rgba(17, 24, 39, 0.06);
}
.e101-traders-what-next__item:first-child {
	padding-top: 0;
	border-top: none;
}
.e101-traders-what-next__copy {
	flex: 1 1 12rem;
	min-width: min(100%, 14rem);
}
.e101-traders-what-next__issue {
	margin: 0;
	font-size: 0.95rem;
}
.e101-traders-what-next__reason {
	margin: 0.2rem 0 0;
	font-size: 0.875rem;
}
.e101-traders-what-next__action {
	flex: 0 0 auto;
}
details.e101-traders-dashboard-more {
	margin: 0.75rem 0 0;
	padding: 0.35rem 0.85rem;
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 8px;
	background: rgba(249, 250, 251, 0.5);
}
.e101-traders-dashboard-more__summary {
	padding: 0.35rem 0;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}
.e101-traders-dashboard-more__summary::-webkit-details-marker {
	display: none;
}
.e101-traders-planning-strip {
	margin-top: 1.25rem;
	padding: 0.65rem 0.85rem;
	border-top: 1px solid rgba(17, 24, 39, 0.08);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: #64748b;
}
.e101-traders-planning-strip__text {
	margin: 0;
	max-width: 52rem;
}
/* Traders module: page card body + planning strip (no faux sidebar) */
.e101-traders-surface.e101-router-module .e101-traders-page-card__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}
.e101-traders-surface.e101-router-module .e101-traders-planning-strip {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	align-self: stretch;
}
/* Trader status - summary cards + readiness groups */
.e101-traders-readiness-summary--cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
	gap: 0.65rem 0.75rem;
	margin: 0 0 1.15rem;
}
.e101-traders-readiness-summary__card--link {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	padding: 0.75rem 0.85rem;
	border-radius: 10px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.e101-traders-readiness-summary__card--link:hover {
	border-color: rgba(30, 90, 142, 0.28);
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}
.e101-traders-readiness-summary__card--link:focus-visible {
	outline: 2px solid #1e5a8e;
	outline-offset: 2px;
}
.e101-traders-readiness-summary__count {
	font-size: 1.35rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.1;
}
.e101-traders-readiness-summary__label {
	font-size: 0.82rem;
	font-weight: 600;
	color: #334155;
	line-height: 1.25;
}
.e101-traders-readiness-summary__cta {
	font-size: 0.72rem;
	font-weight: 600;
}
.e101-traders-readiness-clear {
	margin: 0 0 1rem;
	max-width: 44rem;
	line-height: 1.5;
}
.e101-traders-readiness-board {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0 0 1.25rem;
}
.e101-traders-readiness-group {
	padding: 1rem 1.05rem 1.05rem;
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.09);
	background: linear-gradient(180deg, #fff 0%, rgba(248, 250, 252, 0.96) 100%);
}
.e101-traders-readiness-group__head {
	margin-bottom: 0.65rem;
}
.e101-traders-readiness-group__title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 700;
	color: #0f172a;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}
.e101-traders-readiness-group__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	padding: 0.12rem 0.45rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	color: #0f172a;
	background: rgba(30, 90, 142, 0.12);
	border: 1px solid rgba(30, 90, 142, 0.18);
}
.e101-traders-readiness-group__why {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.45;
	max-width: 48rem;
}
.e101-traders-readiness-chip-list {
	list-style: none;
	margin: 0 0 0.35rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.e101-traders-readiness-chip__link {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	padding: 0.5rem 0.65rem;
	border-radius: 8px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	background: #fff;
	text-decoration: none;
	color: #0f172a;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.e101-traders-readiness-chip__link:hover {
	border-color: rgba(30, 90, 142, 0.25);
	background: rgba(239, 246, 255, 0.35);
}
.e101-traders-readiness-chip__link:focus-visible {
	outline: 2px solid #1e5a8e;
	outline-offset: 2px;
}
.e101-traders-readiness-chip__stall {
	font-weight: 700;
	font-size: 0.9rem;
}
.e101-traders-readiness-chip__company {
	font-size: 0.8rem;
}
.e101-traders-readiness-chip__note {
	font-size: 0.78rem;
}
.e101-traders-readiness-group__more {
	margin: 0 0 0.5rem;
	font-size: 0.82rem;
}
.e101-traders-readiness-group__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
	align-items: center;
	margin-top: 0.15rem;
}
.e101-traders-readiness-briefing-rows {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 28rem;
}
.e101-traders-readiness-briefing-rows li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.35rem 0;
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
	font-size: 0.9rem;
}
.e101-traders-readiness-briefing-rows__k {
	font-weight: 600;
	color: #334155;
}
.e101-traders-readiness-briefing-rows__v {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: #0f172a;
}
.e101-traders-shared-promo__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
	align-items: center;
}
.e101-traders-detail.e101-traders-workspace {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.e101-traders-ws-advanced-block summary {
	font-weight: 600;
	cursor: pointer;
}
.e101-traders-guidance-stack {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 0 0 1.05rem;
}
.e101-traders-guidance-stack .e101-router-module__page-guidance {
	margin: 0;
}
.e101-traders-overview__attention {
	margin: 0 0 1.1rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(220, 38, 38, 0.2);
	border-radius: 8px;
	background: rgba(254, 242, 242, 0.45);
}
.e101-traders-overview__attention .e101-router-section__subtitle {
	margin: 0 0 0.5rem;
}
.e101-traders-overview__attention-zero {
	margin: 0;
	max-width: 48rem;
	line-height: 1.45;
	font-size: 13px;
}
.e101-traders-overview__zero {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(59, 130, 246, 0.22);
	border-radius: 8px;
	background: rgba(239, 246, 255, 0.55);
}
.e101-traders-overview__zero .e101-router-section__subtitle {
	margin: 0 0 0.45rem;
}
.e101-traders-overview__zero-lede {
	margin: 0 0 0.5rem;
	max-width: 48rem;
	line-height: 1.45;
	font-size: 14px;
}
.e101-traders-overview__zero-actions {
	margin: 0.35rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}
.e101-traders-overview__attention-list {
	margin: 0;
}
.e101-traders-overview__kpis {
	margin: 0 0 0.15rem;
}
.e101-traders-overview__kpis .e101-router-kpi-grid {
	gap: 8px;
	margin-bottom: 12px;
}
.e101-traders-overview__kpis .e101-router-kpi-card {
	padding: 10px 12px;
	min-height: 66px;
	border-radius: 8px;
}
.e101-traders-overview .e101-router-section__subtitle {
	margin: 0 0 0.45rem;
}
.e101-traders-overview .e101-router-section {
	margin-top: 1rem;
}
.e101-traders-overview .e101-router-section:first-of-type {
	margin-top: 0;
}
/* Overview - readiness strap & zero-state control card */
.e101-traders-overview__readiness {
	margin: 0 0 1rem;
}
.e101-traders-overview__readiness-strap {
	margin: 0;
	max-width: 56rem;
	line-height: 1.5;
	font-size: 14px;
	color: #0f172a;
}
.e101-traders-overview__pulse {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 10px;
	border: 1px solid rgba(30, 90, 142, 0.15);
	background: rgba(248, 250, 252, 0.96);
}
.e101-traders-overview__pulse-list {
	margin: 0;
	padding-left: 1.15rem;
	max-width: 52rem;
	line-height: 1.55;
	font-size: 13.5px;
	color: #1e293b;
}
.e101-traders-overview__pulse-item {
	margin: 0.35rem 0;
}
.e101-traders-overview__pulse-link {
	font-weight: 600;
	color: #1e5a8e;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.e101-traders-overview__pulse-link:focus {
	outline: 2px solid rgba(30, 90, 142, 0.35);
	outline-offset: 2px;
	border-radius: 2px;
}
/* Traders dashboard - compact registration progress chips */
.e101-traders-dash-pip {
	display: inline-block;
	padding: 0.15rem 0.45rem;
	border-radius: 6px;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
}
.e101-traders-dash-pip--link-not-sent {
	background: rgba(251, 191, 36, 0.2);
	color: #92400e;
}
.e101-traders-dash-pip--link-sent {
	background: rgba(147, 197, 253, 0.35);
	color: #1e3a5f;
}
.e101-traders-dash-pip--started {
	background: rgba(226, 232, 240, 0.9);
	color: #334155;
}
.e101-traders-dash-pip--needs-files {
	background: rgba(254, 215, 170, 0.45);
	color: #9a3412;
}
.e101-traders-dash-pip--followup {
	background: rgba(253, 224, 71, 0.35);
	color: #713f12;
}
.e101-traders-dash-pip--submitted {
	background: rgba(167, 243, 208, 0.45);
	color: #065f46;
}
.e101-traders-dash-pip--ready {
	background: rgba(34, 197, 94, 0.2);
	color: #14532d;
}
.e101-traders-dash-reg-table td {
	vertical-align: top;
}
.e101-traders-overview__readiness--zero {
	margin: 0 0 1.15rem;
}
.e101-traders-overview__readiness-card {
	padding: 1rem 1.15rem;
	border-radius: 10px;
	border: 1px solid rgba(59, 130, 246, 0.28);
	background: linear-gradient(135deg, rgba(239, 246, 255, 0.9) 0%, rgba(255, 255, 255, 0.95) 100%);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.e101-traders-overview__readiness-title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #0f172a;
}
.e101-traders-overview__readiness-lede {
	margin: 0 0 0.75rem;
	max-width: 48rem;
	line-height: 1.5;
	font-size: 13.5px;
	color: #334155;
}
.e101-traders-overview__readiness-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}
.e101-traders-overview__readiness-foot {
	margin: 0.75rem 0 0;
	max-width: 46rem;
	font-size: 12.5px;
	line-height: 1.45;
}
.e101-traders-overview__attention-link {
	font-weight: 600;
}
.e101-traders-overview--has-rows .e101-traders-overview__attention {
	margin-top: 0.15rem;
}
.e101-traders-overview__signals .e101-traders-overview__block-lede,
.e101-traders-overview__upcoming {
	margin-top: 0.35rem;
}
.e101-traders-overview__quickactions {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
}
.e101-traders-overview__quick-primary {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin: 0.35rem 0 0.65rem;
}
.e101-traders-overview__quick-more {
	margin-top: 0.25rem;
	max-width: 48rem;
	font-size: 13px;
}
.e101-traders-overview__quick-more-summary {
	cursor: pointer;
	font-weight: 600;
	color: #475569;
	list-style-position: outside;
}
.e101-traders-overview__quick-more-links {
	margin: 0.5rem 0 0;
	padding: 0.5rem 0 0;
	border-top: 1px dashed rgba(148, 163, 184, 0.5);
	line-height: 1.65;
	font-size: 13px;
}
.e101-traders-overview__quick-sep {
	color: #94a3b8;
	user-select: none;
	margin: 0 0.15rem;
}
.e101-traders-ss-nav .e101-router-ss-nav__inner {
	gap: 0.15rem;
}
.e101-traders-ss-nav .e101-router-ss-nav__link {
	font-weight: 600;
}
/* Traders v2 - surface rhythm (calmer panel, closer to Programming density) */
.e101-traders-surface--v2 {
	padding: 0.15rem 0 0.35rem;
}
.e101-traders-surface--v2 > .e101-router-section__subtitle:first-child,
.e101-traders-surface--v2 .e101-traders-section__head .e101-router-section__subtitle {
	letter-spacing: -0.02em;
}
.e101-traders-surface--v2 .e101-router-section__lede {
	color: #475569;
	max-width: 46rem;
}
/* Operations tab */
.e101-traders-operations {
	margin: 0 0 0.5rem;
}
.e101-traders-operations__head {
	margin: 0 0 1rem;
	max-width: 48rem;
}
.e101-traders-operations__title {
	margin: 0 0 0.35rem;
	font-size: 1.08rem;
	font-weight: 700;
	color: #0f172a;
}
.e101-traders-operations__lede {
	margin: 0;
	line-height: 1.5;
	font-size: 13.5px;
	color: #475569;
}
.e101-traders-operations__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
	gap: 0.85rem 1rem;
	align-items: stretch;
}
.e101-traders-operations__card {
	padding: 0.9rem 1rem 1rem;
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	background: linear-gradient(165deg, #fff 0%, rgba(248, 250, 252, 0.92) 100%);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.e101-traders-operations__card--links {
	background: linear-gradient(165deg, rgba(239, 246, 255, 0.55) 0%, #fff 55%);
	border-color: rgba(30, 90, 142, 0.14);
}
.e101-traders-operations__card-title {
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.045em;
	color: #64748b;
}
.e101-traders-operations__card-hint {
	margin: 0 0 0.5rem;
	font-size: 12.5px;
	line-height: 1.45;
	color: #64748b;
}
.e101-traders-operations__list {
	margin: 0;
}
.e101-traders-operations__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
}
.e101-traders-operations__links .e101-router-link {
	font-weight: 600;
}
.e101-traders-operations-table-wrap {
	overflow-x: auto;
	margin-top: 0.35rem;
	-webkit-overflow-scrolling: touch;
}
.e101-traders-operations-table {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
	font-size: 13px;
	line-height: 1.45;
}
.e101-traders-operations-table th,
.e101-traders-operations-table td {
	padding: 0.45rem 0.5rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	text-align: left;
	vertical-align: top;
}
.e101-traders-operations-table th {
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
	background: rgba(248, 250, 252, 0.85);
}
.e101-traders-operations-table td:nth-child(3),
.e101-traders-operations-table td:nth-child(4) {
	max-width: 14rem;
}
.e101-traders-reglink-menu {
	display: inline-block;
	max-width: 100%;
}
.e101-traders-reglink-menu__summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 12.5px;
	color: #1e5a8e;
	list-style: none;
}
.e101-traders-reglink-menu__summary::-webkit-details-marker {
	display: none;
}
.e101-traders-reglink-menu__panel {
	margin-top: 0.35rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
	max-width: 17rem;
}
.e101-traders-ws-page-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	align-items: baseline;
	margin: 0 0 1rem;
	padding: 0.55rem 0.65rem;
	border-radius: 10px;
	background: rgba(248, 250, 252, 0.9);
	border: 1px solid rgba(15, 23, 42, 0.07);
	font-size: 13px;
}
.e101-traders-ws-page-nav__lbl {
	font-weight: 700;
	color: #475569;
	margin-right: 0.15rem;
}
/* Registration wizard (drawer + workspace shared classes) */
.e101-traders-reg__form--stacked .e101-traders-reg__field {
	display: block;
	margin-bottom: 0.85rem;
}
.e101-traders-reg__textarea {
	min-height: 3.5rem;
	line-height: 1.45;
}
.e101-traders-reg__fieldset {
	margin: 0.6rem 0 1.1rem;
	padding: 0.85rem 1rem 1rem;
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	background: rgba(248, 250, 252, 0.65);
}
.e101-traders-reg__fieldset-lede {
	margin: 0 0 0.65rem !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #475569 !important;
}
.e101-traders-reg__flag-list {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr));
	gap: 0.35rem 0.75rem;
}
.e101-traders-reg__flag-item label {
	display: flex;
	align-items: flex-start;
	gap: 0.35rem;
	line-height: 1.45;
	font-size: 13px;
}
.e101-traders-reg__flag-item input {
	margin-top: 0.2rem;
	flex-shrink: 0;
	min-width: 1.1rem;
	min-height: 1.1rem;
}
.e101-traders-reg__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-top: 1rem;
}
.e101-traders-reg__form-msg {
	margin-top: 0.65rem !important;
}
.e101-traders-reg__upload-zone {
	margin-top: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	border: 1px dashed rgba(30, 90, 142, 0.28);
	background: linear-gradient(180deg, rgba(239, 246, 255, 0.55) 0%, #fff 100%);
}
.e101-traders-reg__upload-row {
	margin-bottom: 0.5rem;
}
.e101-traders-reg__upload-lbl {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 12.5px;
}
/* Add-unit drawer */
.e101-traders-add-drawer.e101-drawer {
	z-index: 120;
}
.e101-traders-add-drawer .e101-drawer__panel {
	max-width: min(28rem, 100vw - 1.5rem);
}
.e101-traders-add-drawer--wide .e101-drawer__panel {
	max-width: min(42rem, 100vw - 1.5rem);
}
.e101-traders-add-drawer .e101-drawer__body {
	padding-bottom: 1.25rem;
}
.e101-traders-add-drawer .e101-traders-add {
	border: 0;
	background: transparent;
	padding: 0.25rem 0 0;
}
.e101-traders-create-panel__title--drawer {
	font-size: 1rem;
}
/* Workspace - status bar + next action */
.e101-traders-workspace-statusbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.45rem;
	align-items: center;
	margin: 0.65rem 0 0.85rem;
	padding: 0.55rem 0.65rem;
	border-radius: 10px;
	background: rgba(248, 250, 252, 0.95);
	border: 1px solid rgba(15, 23, 42, 0.07);
}
.e101-traders-workspace-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	color: #334155;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	max-width: 100%;
}
.e101-traders-workspace-chip--alert {
	background: #fff7ed;
	border-color: rgba(234, 88, 12, 0.35);
	color: #9a3412;
}
.e101-traders-workspace-nextaction {
	margin: 0 0 0.85rem;
	padding: 0.65rem 0.85rem;
	border-radius: 10px;
	border-left: 4px solid #1e5a8e;
	background: linear-gradient(90deg, rgba(30, 90, 142, 0.08) 0%, rgba(255, 255, 255, 0.92) 55%);
	font-size: 13.5px;
	line-height: 1.45;
	color: #0f172a;
}
.e101-traders-workspace-nextaction strong {
	font-weight: 700;
	color: #0c4a6e;
}
.e101-traders-pipeline-banner {
	margin: 0 0 0.65rem;
}
.e101-traders-pipeline {
	display: inline-block;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	border: 1px solid transparent;
	max-width: 100%;
}
.e101-traders-pipeline strong {
	font-weight: 700;
	margin-right: 0.25rem;
	color: #334155;
}
.e101-traders-pipeline--invited {
	background: #f1f5f9;
	color: #475569;
	border-color: rgba(100, 116, 139, 0.25);
}
.e101-traders-pipeline--registration_started {
	background: #e0f2fe;
	color: #075985;
	border-color: rgba(14, 165, 233, 0.25);
}
.e101-traders-pipeline--awaiting_documents {
	background: #fffbeb;
	color: #92400e;
	border-color: rgba(245, 158, 11, 0.35);
}
.e101-traders-pipeline--under_review {
	background: #ede9fe;
	color: #5b21b6;
	border-color: rgba(139, 92, 246, 0.3);
}
.e101-traders-pipeline--follow_up_required {
	background: #ffedd5;
	color: #9a3412;
	border-color: rgba(249, 115, 22, 0.35);
}
.e101-traders-pipeline--blocked {
	background: #fee2e2;
	color: #991b1b;
	border-color: rgba(239, 68, 68, 0.25);
}
.e101-traders-pipeline--operationally_ready {
	background: #d1fae5;
	color: #065f46;
	border-color: rgba(16, 185, 129, 0.3);
}
.e101-traders-pipeline--approved_for_event {
	background: #bbf7d0;
	color: #14532d;
	border-color: rgba(22, 163, 74, 0.35);
}
.e101-traders-pipeline--in_progress {
	background: #f8fafc;
	color: #475569;
	border-color: rgba(15, 23, 42, 0.1);
}
.e101-traders-table-empty-add {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-decoration: underline;
	font: inherit;
	color: inherit;
}
.e101-traders-table-empty-add:focus-visible {
	outline: 2px solid rgba(30, 90, 142, 0.45);
	outline-offset: 2px;
	border-radius: 2px;
}
/* Register - hero + filters */
.e101-traders-register-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin: 0 0 1rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.e101-traders-register-hero__title {
	margin: 0 0 0.35rem;
	font-size: 1.08rem;
	font-weight: 800;
	letter-spacing: -0.015em;
	color: #0f172a;
}
.e101-traders-register-hero__lede {
	margin: 0;
	max-width: 44rem;
	line-height: 1.55;
	font-size: 13.5px;
	color: #475569;
}
.e101-traders-register-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	flex-shrink: 0;
}
.e101-traders-filters-panel {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	background: #f8fafc;
}
/* Assignment hub - zero state + create panel */
.e101-traders-assignment-zero {
	margin: 0 0 1.25rem;
	padding: 1rem 1.15rem;
	border-radius: 10px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.e101-traders-assignment-zero__title {
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	font-weight: 700;
}
.e101-traders-assignment-zero__lede {
	margin: 0 0 0.75rem;
	max-width: 44rem;
	line-height: 1.5;
	font-size: 13.5px;
	color: #334155;
}
.e101-traders-assignment-zero__actions {
	margin: 0 0 0.5rem;
}
.e101-traders-assignment-zero__hint {
	margin: 0;
	font-size: 12.5px;
	max-width: 40rem;
}
.e101-traders-create-panel {
	margin-top: 1.25rem;
	padding: 1rem 1.1rem;
	max-width: min(40rem, 100%);
	border-radius: 10px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	background: #fafafa;
}
.e101-traders-create-panel__title {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: #0f172a;
}
/* Assignment workspace */
.e101-traders-workspace-header {
	margin: 0 0 1.15rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
.e101-traders-workspace-header__crumb {
	margin: 0 0 0.5rem;
	font-size: 12.5px;
}
.e101-traders-workspace-header__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	margin: 0 0 0.35rem;
}
.e101-traders-workspace-header__title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.25;
}
.e101-traders-workspace-header__hint {
	margin: 0;
	max-width: 52rem;
	line-height: 1.55;
	font-size: 13.5px;
	color: #475569;
}
.e101-traders-workspace-strip {
	margin-top: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
	font-size: 13px;
	line-height: 1.5;
}
.e101-traders-workspace-strip__label {
	font-weight: 600;
	color: #64748b;
	margin-right: 0.35rem;
}
.e101-traders-workspace-body {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.e101-traders-workspace-section {
	margin-top: 0.35rem;
	padding: 0.85rem 0 0;
	border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.e101-traders-workspace-section:first-of-type {
	border-top: none;
	padding-top: 0;
}
.e101-traders-workspace-section--compliance {
	padding: 0.85rem 1rem;
	border-radius: 8px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	background: rgba(248, 250, 252, 0.85);
	margin-top: 0.75rem;
}
.e101-traders-workspace-section__lede {
	margin: 0 0 0.65rem;
	max-width: 48rem;
	line-height: 1.45;
	font-size: 13px;
}
.e101-traders-workspace-subhead {
	margin: 0.85rem 0 0.35rem;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
}
.e101-traders-workspace-compliance-summary {
	margin: 0 0 0.35rem;
	line-height: 1.45;
	font-size: 13px;
}
.e101-traders-doc-hint {
	margin: 0 0 0.5rem;
	font-size: 12px;
}
.e101-traders-missing-doclist {
	margin: 0.35rem 0 0;
	font-size: 12.5px;
}
.e101-traders-workspace-footer {
	margin-top: 1.25rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	font-size: 12.5px;
}
/* Register table - actions column */
.e101-traders-actions-cell {
	vertical-align: top;
	min-width: 9.5rem;
}
.e101-traders-actions-cell .e101-router-btn {
	margin-bottom: 0.35rem;
	display: inline-block;
}
.e101-traders-actions-cell__links {
	font-size: 12px;
	line-height: 1.5;
}
.e101-traders-actions-cell__sep {
	color: #94a3b8;
	margin: 0 0.1rem;
}
.e101-traders-nextstep {
	display: inline-block;
	max-width: 15rem;
	padding: 0.35rem 0.55rem;
	border-radius: 7px;
	background: rgba(30, 90, 142, 0.07);
	font-size: 12.5px;
	line-height: 1.38;
	color: #0f172a;
}
.e101-traders-insp-cell {
	vertical-align: middle;
	text-align: center;
	white-space: nowrap;
}
.e101-traders-filters {
	margin: 0 0 1rem;
	padding: 0.75rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 6px;
}
.e101-traders-filters__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 0.85rem;
	align-items: flex-end;
}
.e101-traders-doc-legend {
	margin: 0 0 0.65rem;
	font-size: 12px;
	line-height: 1.4;
}
.e101-traders-assignment-hub {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 0.25rem 0 1rem;
	max-width: 52rem;
}
.e101-traders-assignment-placeholder {
	padding: 0.15rem 0 0;
}
.e101-traders-assignment-placeholder .e101-router-section__subtitle {
	margin: 0 0 0.5rem;
}
.e101-traders-assignment-placeholder .e101-router__muted {
	margin: 0 0 0.5rem;
	line-height: 1.45;
}
.e101-traders-assignment-placeholder__actions {
	margin: 0.75rem 0 0;
}
.e101-traders-assignment-placeholder__firststep {
	margin: 0 0 0.55rem;
	max-width: 40rem;
	font-size: 14px;
	line-height: 1.45;
	color: #0f172a;
}
.e101-traders-add {
	margin: 0;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: rgba(248, 250, 252, 0.65);
}
.e101-traders-add .e101-router-section__subtitle {
	margin: 0 0 0.5rem;
}
.e101-traders-add__lede {
	margin: 0 0 0.75rem;
}
.e101-traders-add__hint {
	margin: 0.25rem 0 0;
}
.e101-traders-add__selected {
	margin: 0.35rem 0 0;
}
.e101-traders-add__msg {
	margin: 0.35rem 0;
}
.e101-traders-add__flags {
	margin: 0.5rem 0;
	border: 0;
	padding: 0;
}
.e101-traders-add__flags .e101-create-drawer__label {
	margin-bottom: 0.25rem;
}
.e101-traders-add__results {
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0;
	max-height: 12rem;
	overflow: auto;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 4px;
	background: #fff;
}
.e101-traders-detail__hublink {
	margin: 0 0 0.5rem;
	font-size: 12.5px;
}
.e101-traders-detail__links {
	margin: 0 0 0.85rem;
	font-size: 13px;
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.35rem;
	align-items: center;
}
.e101-traders-detail__links-sep {
	color: #94a3b8;
	user-select: none;
}
.e101-traders-detail__summary {
	margin: 0 0 1rem;
}
.e101-traders-inspection-note {
	margin: 0 0 0.65rem;
	max-width: 48rem;
	line-height: 1.45;
	font-size: 12.5px;
}
.e101-traders__nav {
	margin-bottom: 0.15rem;
}

/* Traders & Concessions - assignment detail definition lists */
.e101-traders-dl {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(8rem, 11rem) 1fr;
	gap: 0.35rem 1rem;
	max-width: 52rem;
}
.e101-traders-dl dt {
	margin: 0;
	font-weight: 600;
	color: #475569;
}
.e101-traders-dl dd {
	margin: 0;
	color: #0f172a;
}

.e101-traders-status {
	display: inline-block;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
}
.e101-traders-status--ready {
	background: #dcfce7;
	color: #14532d;
}
.e101-traders-status--in_progress {
	background: #e0f2fe;
	color: #075985;
}
.e101-traders-status--action_required {
	background: #ffedd5;
	color: #9a3412;
}
.e101-traders-status--blocked {
	background: #fee2e2;
	color: #991b1b;
}
.e101-traders-docchip {
	display: inline-block;
	max-width: 14rem;
	padding: 0.1rem 0.4rem;
	border-radius: 4px;
	font-size: 0.75rem;
	line-height: 1.35;
	vertical-align: middle;
	border: 1px solid rgba(15, 23, 42, 0.06);
}
.e101-traders-docchip--complete {
	background: #ecfdf5;
	color: #065f46;
}
.e101-traders-docchip--partial {
	background: #fffbeb;
	color: #92400e;
}
.e101-traders-docchip--none {
	background: #f1f5f9;
	color: #475569;
}
.e101-traders-finflag {
	display: inline-block;
	margin-left: 0.15rem;
	font-weight: 700;
	color: #b45309;
	cursor: default;
}
.e101-traders-fin-detail {
	display: block;
	margin-top: 0.2rem;
	font-size: 11px;
	line-height: 1.35;
	color: #64748b;
	max-width: 16rem;
}
.e101-traders-ops-cell {
	max-width: 11rem;
	font-size: 12px;
	line-height: 1.35;
	vertical-align: top;
}
.e101-traders-inspflag {
	display: inline-block;
	margin-left: 0.2rem;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	background: #fef3c7;
	color: #92400e;
	white-space: nowrap;
}
/* Traders - structured read-only blocks (food / access / inspection follow-up line) */
.e101-router-section.e101-traders-food-safety,
.e101-router-section.e101-traders-access {
	margin-top: 0.15rem;
}
.e101-traders-food-safety > .e101-router__muted:first-of-type,
.e101-traders-access > .e101-router__muted:first-of-type {
	margin: 0 0 0.65rem;
	max-width: 48rem;
	line-height: 1.45;
	font-size: 12.5px;
}
.e101-traders-structured-form {
	max-width: 48rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.e101-traders-food-safety__checks {
	margin: 0.15rem 0 0;
	line-height: 1.55;
	font-size: 12.5px;
}
.e101-traders-dl--readonly {
	margin-top: 0.25rem;
}
.e101-traders-readonly-empty {
	margin: 0.25rem 0 0;
	font-size: 12.5px;
}
.e101-traders-insp-followup-status {
	margin: 0 0 0.65rem;
	line-height: 1.45;
	font-size: 13px;
}
.e101-traders-accredit-openline {
	margin: 0.35rem 0 0;
	font-size: 12.5px;
}
.e101-traders-accredit-link {
	font-weight: 600;
}
.e101-traders-accredit-url {
	display: inline-block;
	margin-left: 0.25rem;
	max-width: min(100%, 28rem);
	overflow-wrap: anywhere;
	font-size: 11.5px;
	vertical-align: baseline;
}
.e101-traders-table-wrap table.e101-tmp-doc-table tbody tr:hover {
	background: rgba(241, 245, 249, 0.85);
}
.e101-traders-table-wrap table.e101-tmp-doc-table tbody td.e101-traders-table-empty {
	line-height: 1.5;
	padding-top: 0.65rem;
	padding-bottom: 0.65rem;
}
.e101-traders-table-wrap table.e101-tmp-doc-table th,
.e101-traders-table-wrap table.e101-tmp-doc-table td {
	padding: 0.55rem 0.55rem;
	vertical-align: top;
}
.e101-traders-filters label {
	margin-right: 0.15rem;
}

/* Router panels (app main column) */
.e101-router-panel {
	max-width: min(1120px, 100%);
	width: 100%;
	margin: 0 auto;
	padding: 20px 12px 32px;
	box-sizing: border-box;
	font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 13px;
	color: #0f172a;
}
.e101-router-panel__head {
	margin-bottom: 16px;
}
.e101-router-panel__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.e101-router-panel__sub {
	margin: 0;
	color: #64748b;
	font-size: 13px;
	line-height: 1.45;
}

/* Security & Stewarding - subsection navigation */
.e101-router-ss-nav {
	margin: 0 0 18px;
}
.e101-router-ss-nav__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	align-items: center;
}
.e101-router-ss-nav__link {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 8px;
	border: 1px solid var(--e101-btn-secondary-border, #cbd5e1);
	background: var(--e101-btn-ghost-bg, #f8fafc);
	color: #475569;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.25;
}
.e101-router-ss-nav__link:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	color: #0f172a;
}
.e101-router-ss-nav__link:focus-visible {
	outline: 2px solid #64748b;
	outline-offset: 2px;
	color: #0f172a;
}
.e101-router-ss-nav__link--active {
	background: #fff;
	border-color: #6366f1;
	color: #312e81;
	box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.18);
}

.e101-router-ss-overview__intro {
	max-width: 52rem;
	margin: 0 0 1rem;
	line-height: 1.55;
	color: #334155;
	font-size: 14px;
}

.e101-router-ss-quicklinks {
	margin: 0 0 1.25rem;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
}

.e101-router-ss-quicklinks__title {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
}

.e101-router-ss-quicklinks__row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 10px;
}

.e101-router-ss-quicklinks__brief {
	margin: 0;
	line-height: 1.5;
}

.e101-router-ss-placeholder .description {
	max-width: 52em;
	margin: 0;
}
.e101-router-panel__h {
	margin: 20px 0 8px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #64748b;
}
.e101-router-panel__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-bottom: 14px;
}
.e101-router-stat em {
	font-style: normal;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #94a3b8;
	display: block;
	margin-bottom: 2px;
}
.e101-router-actions {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.e101-router-actions--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 8px;
}

/*
 * Event101 organiser action hierarchy (single design system):
 * - --primary: one lead commit per toolbar / empty state / form footer
 * - --secondary: strong navigation or section actions that must not compete with the lead primary
 * - default .e101-router-btn: neutral bordered (legacy / low-risk)
 * - --ghost: low-emphasis support, filters, secondary row tools
 * - --sm and --row-action: dense registers, tables, and card toolbars
 * - Never combine --primary with --row-action (lead CTAs keep full padding).
 */
.e101-router-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #0f172a;
	transition:
		background 0.12s ease,
		border-color 0.12s ease,
		color 0.12s ease;
}
.e101-router-btn:hover {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}
.e101-router-btn--primary {
	background: var(--e101-btn-primary-bg, #334155);
	color: var(--e101-btn-primary-fg, #fff);
	border-color: var(--e101-btn-primary-bg, #334155);
	box-shadow: none;
}
.e101-router-btn--primary:hover {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
}

.e101-router-btn--primary:active {
	background: var(--e101-btn-primary-bg-active, #0f172a);
	color: var(--e101-btn-primary-fg, #fff);
	border-color: var(--e101-btn-primary-bg-active, #0f172a);
}

.e101-router-btn--primary:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
	color: var(--e101-btn-primary-fg, #fff);
	background: var(--e101-btn-primary-bg, #16324f);
	border-color: var(--e101-btn-primary-bg, #16324f);
}

.e101-router-btn--primary:disabled,
.e101-router-btn--primary[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
	color: var(--e101-btn-primary-fg, #fff);
}

/* Pressed / toggled primary (toolbar themes sometimes restyle :focus/:active without fixing text) */
.e101-router-btn--primary[aria-pressed="true"],
.e101-router-btn--primary.is-active {
	background: var(--e101-btn-primary-bg, #334155);
	color: var(--e101-btn-primary-fg, #fff);
	border-color: var(--e101-btn-primary-bg, #334155);
}

.e101-router-btn--primary[aria-pressed="true"]:hover,
.e101-router-btn--primary.is-active:hover {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
}

.e101-router-btn--primary[aria-pressed="true"]:active,
.e101-router-btn--primary.is-active:active {
	background: var(--e101-btn-primary-bg-active, #0f172a);
	color: var(--e101-btn-primary-fg, #fff);
	border-color: var(--e101-btn-primary-bg-active, #0f172a);
}

.e101-router-btn--primary[aria-pressed="true"]:focus-visible,
.e101-router-btn--primary.is-active:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
	color: var(--e101-btn-primary-fg, #fff);
	background: var(--e101-btn-primary-bg, #16324f);
	border-color: var(--e101-btn-primary-bg, #16324f);
}

/* Anchor-styled primary buttons: keep readable text on dark fill (visited/hover rules). */
body.event101-app-shell a.e101-router-btn--primary,
body.event101-app-shell a.e101-router-btn--primary:link,
body.event101-app-shell a.e101-router-btn--primary:visited {
	color: var(--e101-btn-primary-fg, #fff);
}

body.event101-app-shell a.e101-router-btn--primary:hover,
body.event101-app-shell a.e101-router-btn--primary:active {
	color: var(--e101-btn-primary-fg-hover, #052e16);
}

body.event101-app-shell dialog .button.button-primary,
body.event101-app-shell dialog .button.button-primary:link,
body.event101-app-shell dialog .button.button-primary:visited {
	background: var(--e101-btn-primary-bg, #16324f);
	border-color: var(--e101-btn-primary-bg, #16324f);
	color: var(--e101-btn-primary-fg, #fff);
	box-shadow: none;
}

body.event101-app-shell dialog .button.button-primary:hover,
body.event101-app-shell dialog .button.button-primary:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
}

/* Dialog / panel dismiss: centre × reliably (native dialog + guidance panels). */
body.event101-app-shell dialog .e101-ui-panel-dismiss,
dialog.e101-emp-system-status-dialog .e101-emp-system-status-dialog__close.e101-ui-panel-dismiss {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	padding: 0;
	box-sizing: border-box;
}

.e101-router-btn--ghost {
	background: var(--e101-btn-ghost-bg, #f8fafc);
	color: #475569;
	border-color: #e2e8f0;
}

.e101-router-btn--ghost:hover {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}

.e101-router-btn--ghost:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
	color: #0f172a;
}

.e101-router-btn--ghost:active {
	background: #e2e8f0;
	border-color: #cbd5e1;
	color: #0f172a;
}

/* Secondary - outlined slate; use for section/card actions that should not compete with a single primary CTA */
.e101-router-btn--secondary {
	background: var(--e101-btn-secondary-bg, #fff);
	color: var(--e101-btn-secondary-fg, #334155);
	border-color: var(--e101-btn-secondary-border, #cbd5e1);
}
.e101-router-btn--secondary:hover {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}
.e101-router-btn--secondary:active {
	background: #f1f5f9;
	border-color: #64748b;
	color: #0f172a;
}
.e101-router-btn--secondary:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
	color: #0f172a;
}
.e101-router-btn--secondary:disabled,
.e101-router-btn--secondary[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}

.e101-router-link {
	font-size: 12px;
	font-weight: 600;
	color: var(--e101-accent-link, #1e3a5f);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.e101-router-link:hover {
	color: var(--e101-accent-link-hover, #152a45);
}
.e101-router-panel__foot {
	margin-top: 16px;
}
.e101-router-panel__hint {
	margin-top: 10px;
	padding-left: 10px;
	border-left: 2px solid #e7edf3;
	font-size: 11px;
	color: #748396;
	line-height: 1.45;
}

.e101-router-panel__hint--transitional {
	margin-top: 6px;
	margin-bottom: 0;
	opacity: 0.92;
}
.e101-router-dl {
	margin: 0 0 8px;
}
.e101-router-dl__row {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 8px 12px;
	padding: 8px 0;
	border-bottom: 1px solid #f1f5f9;
	font-size: 13px;
}
.e101-router-dl__row dt {
	color: #94a3b8;
	font-weight: 600;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.e101-router-dl__row dd {
	margin: 0;
	color: #0f172a;
}
.e101-router-quote {
	padding: 12px 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	font-size: 12px;
	line-height: 1.5;
	color: #334155;
	white-space: pre-wrap;
}
.e101-router__muted {
	color: #5f7084;
	font-size: 13px;
	line-height: 1.5;
}

.e101-router-advanced {
	margin-top: 12px;
	padding: 9px 12px;
	border: 1px solid #edf2f7;
	border-radius: 8px;
	background: #fbfcfe;
	box-shadow: inset 2px 0 0 #e3ebf3;
	font-size: 12px;
}

.e101-router-advanced__summary {
	cursor: pointer;
	font-weight: 600;
	color: #475569;
	list-style: none;
}

.e101-router-advanced__summary::-webkit-details-marker {
	display: none;
}

.e101-router-advanced__hint {
	margin: 6px 0 6px;
	padding-left: 8px;
	border-left: 2px solid #edf2f7;
	color: #6c7b8d;
	font-size: 11px;
	line-height: 1.45;
}

.e101-router-advanced__list {
	margin: 0;
	padding-left: 1.1em;
	color: #334155;
}

.e101-router-advanced__list a {
	color: #0f766e;
	font-weight: 500;
}

/* Router - wide module layout, hero, KPI cards, structured rows */
.e101-router-panel--wide {
	max-width: min(1200px, 100%);
}

/* Workspace / shortcode tab panels: avoid wide inner content breaking the flex column */
.event101-app-shell .event101-tab-panel {
	min-width: 0;
	overflow-x: auto;
}

/* Hub / command / section header eyebrow mark (small accent line only) */
body.event101-app-shell .e101-hub-hero__eyebrow-mark,
body.event101-app-shell [class*="__eyebrow-mark"] {
	background: var(--e101-header-eyebrow-accent, var(--e101-system-green, #58e28a));
}

.e101-router-hero {
	margin-bottom: 18px;
	padding-bottom: 4px;
	border-bottom: 1px solid #e2e8f0;
	overflow: visible;
}

.e101-router-hero__eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--e101-guidance-beacon-fill, #58e28a);
	margin-bottom: 6px;
}

.e101-router-hero__title {
	margin: 0 0 8px;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.035em;
	color: #0f172a;
	line-height: 1.2;
}

.e101-router-hero__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	/* Row + column gap so wrapped title / beacon rows do not collapse vertically (Event Control, Security, Team, Comms). */
	gap: 8px 12px;
	margin: 0 0 8px;
}

.e101-router-hero__title-row .e101-router-hero__title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}

/* Position A in hero: keep 44px hit target from flex shrink (narrow columns). */
.e101-router-hero__title-row > .e101-guidance-beacon {
	flex-shrink: 0;
}

/* Narrow viewports: full-width title first row; beacon(s) stay reachable on the next row, right-aligned. */
@media (max-width: 640px) {
	.e101-router-hero__title-row .e101-router-hero__title {
		flex: 1 1 100%;
	}

	.e101-router-hero__title-row > .e101-guidance-beacon {
		margin-left: 0;
		align-self: flex-end;
	}
}

.e101-router-hero__key-info {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	margin-top: 2px;
}

.e101-info-trigger {
	background: none;
	border: none;
	cursor: pointer;
	margin-left: 6px;
	padding: 2px;
	line-height: 0;
	color: #64748b;
	border-radius: 4px;
}

.e101-info-trigger:hover,
.e101-info-trigger:focus-visible {
	color: #0f172a;
	outline: none;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

.e101-icon.e101-icon--info {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.e101-icon.e101-icon--info::before {
	content: 'i';
	display: block;
	margin-top: 1px;
}

.e101-info-panel {
	position: absolute;
	z-index: 1000;
	right: 0;
	top: calc(100% + 6px);
	width: 420px;
	max-width: min(420px, calc(100vw - 20px));
	max-height: min(52vh, 400px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--e101-accent-border-soft, #e2e8f0);
	border-radius: 8px;
	padding: 10px 12px 11px;
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.07);
	font-size: 12px;
	line-height: 1.45;
	color: #334155;
}

.e101-info-content {
	margin: 0;
}

.e101-info-content__intro {
	margin: 0 0 8px;
	color: #475569;
	font-size: 12px;
	line-height: 1.45;
}

.e101-info-content__block {
	margin: 0;
	padding: 8px 0 0;
	border-top: 1px solid #f1f5f9;
}

.e101-info-content__block:first-of-type {
	padding-top: 0;
	border-top: 0;
}

.e101-info-content__block--sources {
	padding-bottom: 1px;
}

.e101-info-content__h {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
	line-height: 1.35;
}

.e101-info-content__tight {
	margin: 0 0 6px;
	font-size: 12px;
	line-height: 1.45;
	color: #475569;
}

.e101-info-content__tight--flush {
	margin-bottom: 0;
}

.e101-info-content__list-title {
	margin: 0 0 3px;
	font-size: 11px;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.35;
}

.e101-info-content__list {
	margin: 0 0 6px;
	padding: 0 0 0 1em;
	list-style: disc;
}

.e101-info-content__list li {
	margin: 0 0 2px;
	padding: 0;
	line-height: 1.4;
}

.e101-info-content__list li:last-child {
	margin-bottom: 0;
}

.e101-info-content__callout {
	margin: 4px 0 0;
	padding: 6px 8px;
	font-size: 12px;
	line-height: 1.45;
	color: #334155;
	background: var(--e101-accent-surface, #f1f5f9);
	border-radius: 6px;
	border: 1px solid #e8eef4;
}

/*
 * =========================================================================
 * Guidance Beacon - canonical organiser pattern (Event101 standard)
 * =========================================================================
 * Use this shell for decision-support panels opened from a hero/header:
 *
 * Root:     .e101-guidance-beacon (+ tier/position: .e101-guidance-beacon--tier-section|.e101-guidance-beacon--tier-page,
 *            .e101-guidance-beacon--position-a|.e101-guidance-beacon--position-b, layout .e101-guidance-beacon--layout-shell-top)
 *            Hero row: .e101-router-hero__key-info--guidance-beacon (layout hero, Position A)
 * Trigger:  .e101-guidance-beacon__trigger + .e101-info-trigger (required for app-shell.js toggle; aria-controls → panel id).
 *            Icon: solid green disc (#58e28a) + white “i” SVG (~36px inside ~44px hit area).
 * Panel:    .e101-guidance-beacon__panel + .e101-info-panel (hidden until opened; max width/height below)
 * Header:   .e101-guidance-beacon__panel-head, .e101-guidance-beacon__panel-title
 * Close:    .e101-guidance-beacon__close + .e101-ui-panel-dismiss + data-e101-panel-dismiss (and data-e101-info-panel-close for legacy JS)
 * Body:     .e101-guidance-beacon__panel-body (scroll region)
 * Content:  .e101-info-content--guidance-beacon (structured blocks; see Event101_Info_Content).
 *            Green accent is on each direct block child of .e101-info-content__block--accent (p, h3, ul), not the section wrapper.
 *
 * Behaviour: assets/js/app-shell.js - initKeyInfoPopovers() - click trigger, outside click, ESC, panel dismiss control.
 * Do not shrink the panel to tooltip dimensions; new modules should copy this markup + classes, not invent parallel patterns.
 * =========================================================================
 */

:root {
	--e101-guidance-beacon-fill: #58e28a;
	/* Glyph on green disc (Guidance Beacon trigger “i”). */
	--e101-guidance-beacon-ink: #ffffff;
}

.e101-router-hero__key-info--guidance-beacon {
	margin-left: auto;
	align-self: flex-start;
	padding-left: 12px;
}

/* Position A outside router hero: local shell / masthead top-right (paired with a flex title row parent). */
.e101-guidance-beacon--layout-shell-top {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	flex-shrink: 0;
	margin-left: auto;
	align-self: flex-start;
}

/* Position B - utility row: shrink-wrap to the beacon so we do not paint a full-width empty band beside it.
   margin-inline-start: auto right-aligns within the same content box as siblings (module body, section, workspace).
   align-self: flex-end avoids flex-column parents stretching this row to full width. */
.e101-router-module__page-guidance {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
	gap: 4px 8px;
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	min-height: 0;
	margin-top: 0;
	margin-bottom: 4px;
	margin-inline-start: auto;
	margin-inline-end: 0;
	align-self: flex-end;
}

.e101-router-module__page-guidance .e101-guidance-beacon--position-b {
	flex: 0 0 auto;
	flex-shrink: 0;
}

.e101-guidance-beacon--tier-page .e101-guidance-beacon__trigger.e101-info-trigger {
	width: 31px;
	height: 31px;
	box-shadow: 0 2px 8px rgba(88, 226, 138, 0.28);
}

.e101-guidance-beacon--tier-page .e101-guidance-beacon__trigger.e101-info-trigger:hover,
.e101-guidance-beacon--tier-page .e101-guidance-beacon__trigger.e101-info-trigger:focus-visible {
	box-shadow: 0 3px 12px rgba(88, 226, 138, 0.42);
	transform: scale(1.04);
}

.e101-guidance-beacon--tier-page .e101-guidance-beacon__trigger-svg {
	width: 25.2px;
	height: 25.2px;
}

.e101-guidance-beacon--tier-page .e101-guidance-beacon__close.e101-ui-panel-dismiss {
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
	font-size: 1.1rem;
}

/* Programming module: fallback workspace title row and sr-only preserved artist tab heads (section headers own visible chrome on migrated routes). */
.e101-router-panel[data-e101-router-module="programming"] .e101-programming-workspace-head {
	margin-top: 0.15rem;
}

/* Section title row + Position B page guidance (Event Control Log, Accident Reports register, etc.). */
.e101-router-section__head--guidance-beacon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0 0 0.65rem;
}

.e101-router-section__head--guidance-beacon > .e101-router-section__title,
.e101-router-section__head--guidance-beacon > .e101-event-details__title,
.e101-router-section__head--guidance-beacon > .e101-event-onboarding__task-title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}

/* Position A suffix in this row (if ever used): push to end of row. */
.e101-router-section__head--guidance-beacon .e101-router-hero__key-info--guidance-beacon {
	margin-left: auto;
	align-self: flex-start;
	padding-left: 8px;
}

/* Position B: inside title row, flex parent supplies horizontal alignment; reset module strip margins. */
.e101-router-section__head--guidance-beacon .e101-router-module__page-guidance {
	flex: 0 0 auto;
	align-self: center;
	width: auto;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
}

/* Narrow viewports: title uses full row; page guidance row sits below, beacon stays end-aligned. */
@media (max-width: 640px) {
	.e101-router-section__head--guidance-beacon > .e101-router-section__title,
	.e101-router-section__head--guidance-beacon > .e101-event-details__title,
	.e101-router-section__head--guidance-beacon > .e101-event-onboarding__task-title {
		flex: 1 1 100%;
	}

	.e101-router-section__head--guidance-beacon .e101-router-hero__key-info--guidance-beacon {
		margin-left: 0;
		padding-left: 0;
	}

	.e101-router-section__head--guidance-beacon > .e101-router-module__page-guidance {
		flex: 1 1 100%;
		justify-content: flex-end;
	}
}

/* Event Control Log - secondary text link opens same guidance panel as beacon (no duplicate panel) */
.e101-ecl__guidance-inline {
	margin: 6px 0 10px;
	font-size: 12px;
	line-height: 1.45;
}

.e101-ecl__guidance-inline .e101-ecl__guidance-link.e101-info-trigger {
	margin-left: 0;
	padding: 0;
	line-height: inherit;
	font: inherit;
	text-align: left;
}

.e101-ecl__guidance-link {
	color: #2271b1;
	text-decoration: underline;
	cursor: pointer;
}

.e101-ecl__guidance-link:hover {
	color: #135e96;
}

.e101-guidance-beacon {
	position: relative;
}

.e101-guidance-beacon__trigger.e101-info-trigger {
	margin-left: 0;
	padding: 0;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	border-radius: 50%;
	color: var(--e101-guidance-beacon-ink);
	/* Soft separation from the header without a “white ring” from the hit target. */
	box-shadow: 0 2px 10px rgba(88, 226, 138, 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.e101-guidance-beacon__trigger.e101-info-trigger:hover {
	box-shadow: 0 4px 16px rgba(88, 226, 138, 0.5);
	transform: scale(1.05);
	outline: none;
}

.e101-guidance-beacon__trigger.e101-info-trigger:focus-visible {
	box-shadow:
		0 0 0 2px var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45)),
		0 3px 12px rgba(15, 23, 42, 0.12);
	transform: scale(1.05);
	outline: none;
}

/* Filled green disc + white “i” (SVG); ~36px artwork in 44px hit area - reuse on future Guidance Beacon triggers. */
.e101-guidance-beacon__trigger-svg {
	display: block;
	width: 36px;
	height: 36px;
	flex: 0 0 auto;
}

.e101-guidance-beacon__panel.e101-info-panel[hidden] {
	display: none !important;
}

.e101-guidance-beacon__panel.e101-info-panel:not([hidden]) {
	width: min(560px, calc(100vw - 32px));
	max-width: min(560px, calc(100vw - 32px));
	max-height: 70vh;
	top: calc(100% + 10px);
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
	line-height: 1.55;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
	border: 1px solid #e2e8f0;
	z-index: 1100;
}

.e101-guidance-beacon__panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px 12px;
	border-bottom: 1px solid #eef2f7;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
	flex: 0 0 auto;
}

.e101-guidance-beacon__panel-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

/* Shared dismiss control hook (optional on other panels); core flex rules match .e101-drawer__close. */
.e101-ui-panel-dismiss {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	font-weight: 500;
}

.e101-guidance-beacon__close.e101-ui-panel-dismiss {
	flex: 0 0 auto;
	border: none;
	background: #e2e8f0;
	color: #0f172a;
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	font-size: 1.25rem;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.e101-guidance-beacon__close.e101-ui-panel-dismiss:hover,
.e101-guidance-beacon__close.e101-ui-panel-dismiss:focus-visible {
	background: #cbd5e1;
	outline: none;
}

.e101-guidance-beacon__panel-body {
	padding: 16px 18px 18px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	flex: 1 1 auto;
	min-height: 0;
}

.e101-info-content--guidance-beacon .e101-info-content__intro {
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 10px;
	color: #334155;
}

/* Wrapper only: accent lives on each direct block child so multi-paragraph guidance does not read as one slab. */
.e101-info-content--guidance-beacon .e101-info-content__block--accent {
	border-top: none;
	border-left: none;
	padding: 0;
	margin-bottom: 8px;
	background: transparent;
	border-radius: 0;
}

.e101-info-content--guidance-beacon .e101-info-content__block--accent > p,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > h3 {
	border-top: none;
	border-left: 3px solid var(--e101-guidance-beacon-fill, #58e28a);
	padding: 7px 10px 7px 11px;
	margin: 0 0 7px 0;
	background: #fafafa;
	border-radius: 0 8px 8px 0;
}

.e101-info-content--guidance-beacon .e101-info-content__block--accent > ul,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > ol {
	border-top: none;
	border-left: 3px solid var(--e101-guidance-beacon-fill, #58e28a);
	padding: 7px 10px 8px 1.35rem;
	margin: 0 0 7px 0;
	background: #fafafa;
	border-radius: 0 8px 8px 0;
}

.e101-info-content--guidance-beacon .e101-info-content__block--accent > p {
	font-size: inherit;
}

.e101-info-content--guidance-beacon .e101-info-content__block--accent > p:last-child,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > h3:last-child,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > ul:last-child,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > ol:last-child {
	margin-bottom: 0;
}

.e101-info-content--guidance-beacon .e101-info-content__block--sources.e101-info-content__block--accent > p,
.e101-info-content--guidance-beacon .e101-info-content__block--sources.e101-info-content__block--accent > h3,
.e101-info-content--guidance-beacon .e101-info-content__block--sources.e101-info-content__block--accent > ul,
.e101-info-content--guidance-beacon .e101-info-content__block--sources.e101-info-content__block--accent > ol {
	background: #f8fafc;
}

.e101-info-content--guidance-beacon .e101-info-content__h {
	font-size: 0.9375rem;
	text-transform: none;
	letter-spacing: 0;
	color: #0f172a;
	font-weight: 700;
	margin: 0 0 5px;
}

.e101-info-content--guidance-beacon .e101-info-content__list-title {
	font-size: 13px;
	margin-top: 8px;
}

.e101-info-content--guidance-beacon .e101-info-content__tight {
	font-size: inherit;
	line-height: 1.5;
	margin-bottom: 7px;
}

.e101-info-content--guidance-beacon .e101-info-content__block--accent > .e101-info-content__tight + .e101-info-content__tight {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}

.e101-info-content--guidance-beacon .e101-info-content__list {
	font-size: inherit;
	margin-bottom: 7px;
	padding-left: 1.15em;
}

.e101-info-content--guidance-beacon .e101-info-content__list li {
	margin-bottom: 4px;
	line-height: 1.48;
}

/* Lists in accent strips: keep markers inside the grey panel, clear of the green border (no negative margins). */
.e101-info-content--guidance-beacon .e101-info-content__block--accent > ul.e101-info-content__list,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > ol {
	margin-top: 0.6rem;
	padding-left: 1.55rem;
	list-style-position: outside;
}

.e101-info-content--guidance-beacon .e101-info-content__block--accent > ul.e101-info-content__list > li,
.e101-info-content--guidance-beacon .e101-info-content__block--accent > ol > li {
	margin: 0.25rem 0;
	padding-left: 0.25rem;
	line-height: 1.48;
}

/* Best-practice reference lists: tighter, consistent rhythm inside beacon panels only */
.e101-info-content--guidance-beacon .e101-info-content__block--sources ul.e101-guidance-references.e101-info-content__list {
	margin: 0.35rem 0 0;
	padding-left: 1.15rem;
	list-style-position: outside;
}

.e101-info-content--guidance-beacon .e101-info-content__block--sources ul.e101-guidance-references.e101-info-content__list > li {
	margin: 0.22rem 0;
	line-height: 1.45;
}

.e101-info-content--guidance-beacon .e101-info-content__block--sources ul.e101-guidance-references.e101-info-content__list > li > .e101-info-content__link {
	line-height: inherit;
}

.e101-info-content--guidance-beacon .e101-info-content__callout {
	font-size: 13px;
}

.e101-info-content__link {
	color: #0b5cab;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.e101-info-content__link:hover {
	color: #063a75;
}

.e101-info-content--guidance-beacon .e101-info-content__link:focus-visible {
	outline: 2px solid var(--e101-guidance-beacon-fill, #58e28a);
	outline-offset: 2px;
}

.e101-router-hero__lede {
	margin: 0;
	max-width: 52em;
	font-size: 13px;
	line-height: 1.5;
	color: #64748b;
}

.e101-router-module__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
	align-items: center;
}

/* Documents module - focused toolbar: left-aligned actions, slightly stronger primary CTA */
.e101-router-panel[data-e101-router-module="documents"] .e101-router-module__toolbar {
	justify-content: flex-start;
	gap: 6px 8px;
	margin-bottom: 12px;
	flex-wrap: wrap;
	align-items: center;
}
.e101-router-panel[data-e101-router-module="documents"] .e101-router-module__toolbar .e101-router-btn {
	padding: 7px 12px;
	font-size: 12px;
	line-height: 1.3;
}
.e101-router-panel[data-e101-router-module="documents"] .e101-router-module__toolbar .e101-router-btn--primary {
	padding: 8px 14px;
	font-size: 12px;
}

.e101-router-module__body {
	padding: 16px 18px 20px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
	margin-bottom: 16px;
	min-width: 0;
	overflow-x: auto;
}

.e101-router-module__body > :first-child {
	margin-top: 0;
}

.e101-router-module__body > :last-child {
	margin-bottom: 0;
}

/* Risk module - orientation strip (organiser app) */
.e101-risk-orient {
	margin: 0 0 20px 0;
	padding: 14px 16px 16px;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.e101-risk-orient__kicker {
	margin: 0 0 6px 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #64748b;
}

.e101-risk-orient__event {
	margin: 0 0 8px 0;
	font-size: 15px;
	line-height: 1.35;
	color: #0f172a;
}

.e101-risk-orient__title {
	font-weight: 700;
}

.e101-risk-orient__ref {
	font-weight: 500;
	color: #64748b;
}

.e101-risk-orient__state {
	margin: 0 0 8px 0;
	font-size: 13px;
	line-height: 1.45;
	color: #334155;
}

.e101-risk-orient__next {
	margin: 0 0 8px 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	color: #0f172a;
}

.e101-risk-orient__novice.description {
	margin: 0 0 10px 0;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
}

.e101-risk-orient__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	align-items: center;
}

.e101-risk-orient__link {
	font-size: 12px;
	font-weight: 600;
	color: #0369a1;
	text-decoration: none;
}

.e101-risk-orient__link:hover {
	text-decoration: underline;
}

.e101-router-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 10px;
	margin-bottom: 20px;
}

.e101-router-kpi-card {
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	min-height: 72px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

a.e101-router-kpi-card {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	box-sizing: border-box;
}

a.e101-router-kpi-card:hover {
	border-color: #cbd5e1;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

a.e101-router-kpi-card:focus {
	outline: none;
}

a.e101-router-kpi-card:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

.e101-router-kpi-card--ok {
	border-color: #bbf7d0;
	background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%);
}

.e101-router-kpi-card--warn {
	border-color: #fde68a;
	background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
}

.e101-router-kpi-card--bad {
	border-color: #fecaca;
	background: linear-gradient(180deg, #fef2f2 0%, #fff 100%);
}

.e101-router-kpi-card__label {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #94a3b8;
}

.e101-router-kpi-card__value {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #0f172a;
	line-height: 1.15;
}

.e101-router-kpi-card__hint {
	font-size: 11px;
	color: #64748b;
	line-height: 1.35;
	margin-top: 2px;
}

.e101-router-section {
	margin-top: 22px;
}

.e101-router-section--qera {
	padding: 12px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #f8fafc;
}

.e101-router-section--risk-prompts {
	margin-bottom: 16px;
	padding: 12px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}

.e101-router-risk-prompts__actions {
	margin: 8px 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.e101-router-section--risk-prompts .e101-structured-prompt__source {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	font-weight: 500;
	color: #64748b;
}

.e101-router-section--nest {
	margin-top: 12px;
	padding-top: 8px;
	border-top: 1px dashed #e2e8f0;
}

.e101-router-section__subtitle {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
}

.e101-router-list--compact {
	margin: 0 0 0 1.1rem;
	padding: 0;
	font-size: 12px;
	color: #475569;
}

.e101-router-table-wrap {
	overflow-x: auto;
	margin-top: 8px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
}

.e101-router-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 11px;
}

.e101-router-table th,
.e101-router-table td {
	padding: 6px 8px;
	border-bottom: 1px solid #f1f5f9;
	text-align: left;
	vertical-align: top;
}

.e101-router-table thead th {
	background: #f8fafc;
	font-weight: 600;
	color: #334155;
}

.e101-router-section__title {
	margin: 0 0 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #64748b;
}

body.event101-app-shell .e101-router-section__title {
	font-size: 0.75rem;
	line-height: 1.45;
	font-weight: 600;
}

.e101-router-empty {
	padding: 28px 20px;
	text-align: center;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 12px;
	margin-bottom: 8px;
}

.e101-router-empty__title {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 600;
	color: #334155;
}

.e101-router-empty__text {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.5;
	color: #64748b;
	max-width: 36em;
	margin-left: auto;
	margin-right: auto;
}

.e101-router-empty .e101-router-btn {
	margin-top: 4px;
}

.e101-router-row-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.e101-router-row {
	padding: 12px 14px;
	border-bottom: 1px solid #f1f5f9;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.e101-router-row:last-child {
	border-bottom: 0;
}

.e101-router-row__main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
}

.e101-router-row__title {
	font-weight: 600;
	font-size: 13px;
	color: #0f172a;
}

.e101-router-row__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	font-size: 12px;
	color: #475569;
}

.e101-router-row__kv em {
	font-style: normal;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #94a3b8;
	margin-right: 4px;
}

.e101-router-chip {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	background: #f1f5f9;
	color: #475569;
}

.e101-router-chip--muted {
	background: #f8fafc;
	color: #94a3b8;
	font-weight: 500;
}

.e101-router-chip--neutral {
	background: #e0f2fe;
	color: #0369a1;
}

.e101-router-chip--ok {
	background: #dcfce7;
	color: #166534;
}

.e101-router-chip--warn {
	background: #fef3c7;
	color: #b45309;
}

.e101-router-chip--required {
	background: #ede9fe;
	color: #5b21b6;
}

.e101-router-stakeholder-disclaimer {
	margin: 0 0 14px;
	padding: 10px 12px;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1.45;
	color: #0c4a6e;
}

.e101-router-intel-panel {
	margin: 4px 0 6px;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

.e101-router-intel-panel .event101-esl-intel {
	max-width: none;
}

.e101-router-chips--spaced {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.e101-router-chips--spaced .e101-router-chip code {
	font-size: 11px;
	background: transparent;
	padding: 0;
}

.e101-router-dl--card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 4px 14px;
	margin: 0;
}

.e101-router-dl--card .e101-router-dl__row:first-child {
	border-top: 0;
}

.e101-router-actions--tiles {
	list-style: none;
	margin: 0;
	padding: 0;
}

.e101-router-tile {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #fff;
	text-decoration: none;
	color: #0f172a;
	font-size: 13px;
	font-weight: 600;
	transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.e101-router-tile:hover {
	background: #f8fafc;
	border-color: #cbd5e1;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.e101-router-tile__label {
	line-height: 1.3;
}

.e101-router-panel__foot--inline {
	margin-top: 12px;
}

.e101-router-section__lede {
	margin: -6px 0 14px;
	font-size: 13px;
	line-height: 1.45;
	color: #64748b;
	max-width: 42em;
}

.e101-permit-suggest-coverage {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0 0 16px;
	font-size: 12px;
	color: #475569;
}

.e101-permit-suggest-coverage__sep {
	color: #cbd5e1;
}

.e101-permit-suggest-coverage__item--gap {
	color: #b45309;
	font-weight: 600;
}

.e101-permit-suggest-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.e101-permit-suggest-list__item {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 12px 14px;
	background: #fff;
}

.e101-permit-suggest-list__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.e101-permit-suggest-list__title {
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	flex: 1 1 12em;
}

.e101-permit-suggest-list__desc {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.45;
	color: #475569;
}

.e101-permit-suggest-list__meta {
	margin: 0 0 10px;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.4;
}

.e101-permit-suggest-list__meta code {
	font-size: 10px;
	background: #f1f5f9;
	padding: 1px 4px;
	border-radius: 4px;
}

.e101-permit-suggest-list__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.e101-permit-suggest-list__hint {
	font-size: 12px;
	color: #64748b;
}

.e101-router-btn--sm {
	padding: 6px 12px;
	font-size: 12px;
}

/*
 * Row / ledger actions - use with e101-router-btn--ghost and usually --sm.
 * Keeps dense tables and register rows readable; do not stack with --primary.
 */
.e101-router-btn.e101-router-btn--row-action {
	padding: 5px 10px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	border-radius: 6px;
}

/* Defensive: if markup ever stacks --primary and --row-action, restore primary metrics */
.e101-router-btn--primary.e101-router-btn--row-action {
	padding: 9px 14px;
	font-size: 12px;
	line-height: normal;
	border-radius: 8px;
}

/* Stakeholder workspace request triage ([event101_stakeholder_workspace_requests_manage]) */
.event101-sw-manage-wrap .event101-sw-manage {
	max-width: 52rem;
}

.event101-sw-notice {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.45;
}

.event101-sw-notice--success {
	background: #f0fdf4;
	border: 1px solid #86efac;
	color: #14532d;
}

.event101-sw-error {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.45;
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #7f1d1d;
}

.event101-sw-manage__h2 {
	margin: 1.25rem 0 0.5rem;
	font-size: 1rem;
	font-weight: 650;
	color: #0f172a;
}

.event101-sw-manage__h2:first-of-type {
	margin-top: 0.35rem;
}

.event101-sw-manage__empty {
	margin: 0 0 14px;
	color: #64748b;
	font-size: 13px;
}

.event101-sw-manage .event101-sw-row {
	margin: 0 0 12px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.event101-sw-manage .event101-sw-row--approved {
	border-left: 4px solid #16a34a;
}

.event101-sw-row__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}

.event101-sw-row-form {
	display: inline-block;
	margin: 0;
}

.event101-sw-manage .button {
	font-size: 13px;
	padding: 6px 12px;
	border-radius: 6px;
	cursor: pointer;
}

/* ---- Onboarding: soften sidebar dominance (body.e101-body--onboarding) ---- */
body.e101-body--onboarding .e101-app__sidebar {
	background: #1e293b;
}

body.e101-body--onboarding .e101-app__content {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

/* Notification deep-link highlight (workspace / router issue & condition anchors) */
.e101-anchor-focus {
	outline: 2px solid #38bdf8;
	outline-offset: 3px;
	border-radius: 6px;
	transition: outline-color 0.2s ease;
}

/* -------------------------------------------------------------------------- */
/* Programming board - compact table filter toolbar (pattern for core tables) */
/* Wrapper: .e101-router-section.e101-programming-board-toolbar               */
/* -------------------------------------------------------------------------- */
body.event101-app-shell .e101-programming-board-toolbar,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar {
	margin-bottom: 0.75rem;
	padding: 0.45rem 0.55rem 0.5rem;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #f8fafc;
	box-sizing: border-box;
}

body.event101-app-shell .e101-programming-board-toolbar__header,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	column-gap: 0.65rem;
	row-gap: 0.25rem;
	margin: 0 0 0.3rem;
	min-width: 0;
}

body.event101-app-shell .e101-programming-board-toolbar__title,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__title {
	margin: 0;
	padding: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #334155;
	line-height: 1.3;
	border: none;
}

body.event101-app-shell .e101-programming-board-toolbar__actions,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__actions {
	flex: 0 0 auto;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

body.event101-app-shell .e101-programming-board-toolbar__actions .e101-router-btn--primary,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__actions .e101-router-btn--primary {
	padding: 0.34rem 0.65rem;
	font-size: 0.75rem;
	line-height: 1.3;
	white-space: nowrap;
}

body.event101-app-shell .e101-programming-board-toolbar__form,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	column-gap: 0.45rem;
	row-gap: 0.28rem;
	margin: 0;
	padding: 0;
	min-width: 0;
}

body.event101-app-shell .e101-programming-board-toolbar__form .e101-organiser-create-field,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form .e101-organiser-create-field {
	margin-bottom: 0;
	gap: 0.12rem;
}

body.event101-app-shell .e101-programming-board-toolbar__form .e101-organiser-create-label,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form .e101-organiser-create-label {
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.25;
}

body.event101-app-shell .e101-programming-board-toolbar__form .e101-organiser-create-input,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form .e101-organiser-create-input {
	font-size: 0.8125rem;
	padding: 0.24rem 0.42rem;
	min-height: 1.55rem;
	box-sizing: border-box;
}

body.event101-app-shell .e101-programming-board-toolbar__submit,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__submit {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3rem;
	margin-left: auto;
}

body.event101-app-shell .e101-programming-board-toolbar__submit .e101-router-btn,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__submit .e101-router-btn {
	font-size: 0.75rem;
	padding: 0.3rem 0.55rem;
	line-height: 1.3;
}

/* Stacked filter row (budget / timeline / risk / documents reuse programming toolbar shell) */
body.event101-app-shell .e101-programming-board-toolbar__form--stack,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form--stack {
	flex-direction: column;
	align-items: stretch;
	align-content: flex-start;
	width: 100%;
	row-gap: 0.35rem;
}

body.event101-app-shell .e101-programming-board-toolbar__form--stack > .event101-budget-table-toolbar,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form--stack > .event101-budget-table-toolbar,
body.event101-app-shell .e101-programming-board-toolbar__form--stack > .event101-timeline-view-toggle,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form--stack > .event101-timeline-view-toggle,
body.event101-app-shell .e101-programming-board-toolbar__form--stack > .event101-timeline-table-toolbar,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form--stack > .event101-timeline-table-toolbar,
body.event101-app-shell .e101-programming-board-toolbar__form--stack > .e101-risk-register-toolbar,
.e101-router-panel .e101-router-module__body .e101-programming-board-toolbar__form--stack > .e101-risk-register-toolbar {
	width: 100%;
	box-sizing: border-box;
}

button.e101-app__topbar-link--disabled:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	pointer-events: none;
}

button.e101-app__topbar-link--disabled:disabled:hover {
	background: transparent;
	color: #334155;
}

/* Baseline keyboard focus ring inside the organiser app shell (no broader theme sweep). */
body.event101-app-shell .e101-app button:focus-visible:not([class*="--danger"]):not([class*="--destructive"]),
body.event101-app-shell .e101-app [href]:focus-visible,
body.event101-app-shell .e101-app input:focus-visible,
body.event101-app-shell .e101-app select:focus-visible,
body.event101-app-shell .e101-app textarea:focus-visible,
body.event101-app-shell .e101-app summary:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

/* Programming: Transport roll-up - clearer per-act grouping */
body.event101-app-shell .e101-prog-transport-board__table,
.e101-router-panel .e101-prog-transport-board__table {
	border-collapse: separate;
	border-spacing: 0;
}
body.event101-app-shell .e101-prog-transport-board__tr td,
.e101-router-panel .e101-prog-transport-board__tr td {
	vertical-align: top;
	padding: 0.5rem 0.55rem 0.65rem;
}
body.event101-app-shell .e101-prog-transport-board__tr,
.e101-router-panel .e101-prog-transport-board__tr {
	border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
body.event101-app-shell .e101-prog-transport-board__td-summ,
.e101-router-panel .e101-prog-transport-board__td-summ,
body.event101-app-shell .e101-prog-transport-board__td-next,
.e101-router-panel .e101-prog-transport-board__td-next {
	font-size: 0.9rem;
	line-height: 1.45;
	max-width: 18rem;
}
body.event101-app-shell .e101-prog-transport-board__td-num,
body.event101-app-shell .e101-prog-transport-board__td-lane,
.e101-router-panel .e101-prog-transport-board__td-num,
.e101-router-panel .e101-prog-transport-board__td-lane {
	white-space: nowrap;
}
body.event101-app-shell .e101-prog-transport-board__td-act,
.e101-router-panel .e101-prog-transport-board__td-act {
	min-width: 12rem;
}
@media (max-width: 56rem) {
	body.event101-app-shell .e101-prog-transport-board__tr td,
	.e101-router-panel .e101-prog-transport-board__tr td {
		font-size: 0.9rem;
	}
	body.event101-app-shell .e101-prog-transport-board__td-summ,
	.e101-router-panel .e101-prog-transport-board__td-summ,
	body.event101-app-shell .e101-prog-transport-board__td-next,
	.e101-router-panel .e101-prog-transport-board__td-next {
		max-width: 100%;
	}
}

/* Supplier profile admin edit (global organiser screen). */
body.event101-app-shell .e101-spae .e101-spae__toolbar {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	padding-bottom: 0.75rem;
	margin-bottom: 0.75rem;
}
body.event101-app-shell .e101-spae .e101-spae__toolbar-top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	margin-bottom: 0.5rem;
}
body.event101-app-shell .e101-spae .e101-spae__toolbar-title {
	flex: 1 1 12rem;
	min-width: 0;
}
body.event101-app-shell .e101-spae .e101-spae__toolbar-actions {
	flex: 0 0 auto;
}
body.event101-app-shell .e101-spae .e101-spae__toolbar-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}
body.event101-app-shell .e101-spae .e101-spae__toolbar-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	flex: 1 1 auto;
	min-width: 0;
}
body.event101-app-shell .e101-spae .e101-spae__toolbar-beacon {
	flex: 0 0 auto;
	margin: 0;
}
body.event101-app-shell .e101-spae .e101-spae__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	margin: 0.45rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.85rem;
}
body.event101-app-shell .e101-spae .e101-spae__chip {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.06);
	color: #0f172a;
}
body.event101-app-shell .e101-spae .e101-spae__chip--demo {
	background: rgba(234, 179, 8, 0.2);
}
body.event101-app-shell .e101-spae .e101-spae__demo-note {
	margin: 0.5rem 0 0;
}
body.event101-app-shell .e101-spae .e101-spae__micro-hint {
	margin: 0 0 0.65rem;
	font-size: 0.88rem;
}
body.event101-app-shell .e101-spae .e101-spae__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
	gap: 1rem 1.25rem;
	align-items: start;
	margin-bottom: 4rem;
}
body.event101-app-shell .e101-spae .e101-spae__col--main {
	min-width: 0;
}
body.event101-app-shell .e101-spae .e101-spae__col--rail {
	min-width: 0;
	position: sticky;
	top: 0.5rem;
	align-self: start;
	max-height: calc(100vh - 2rem);
	overflow: auto;
}
body.event101-app-shell .e101-spae .e101-spae__rail-inner {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
body.event101-app-shell .e101-spae .e101-spae__rail-lede {
	margin: 0;
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.45;
}
body.event101-app-shell .e101-spae .e101-spae__rail-save {
	margin-top: 0.25rem;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
}
body.event101-app-shell .e101-spae .e101-spae__rail-save-btn {
	width: 100%;
}
body.event101-app-shell .e101-spae .e101-spae__sticky-submit {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	display: flex;
	justify-content: center;
	padding: 0.5rem 1rem;
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid rgba(15, 23, 42, 0.12);
	box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.06);
}
body.event101-app-shell .e101-spae .e101-spae__card {
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 10px;
	padding: 0.85rem 1rem 1rem;
	background: #fff;
	margin-bottom: 0.75rem;
}
body.event101-app-shell .e101-spae .e101-spae__card:last-child {
	margin-bottom: 0;
}
body.event101-app-shell .e101-spae .e101-spae__card--muted {
	background: rgba(248, 250, 252, 0.95);
}
body.event101-app-shell .e101-spae .e101-spae__card--advanced {
	border-style: dashed;
}
body.event101-app-shell .e101-spae .e101-spae__card-title {
	margin: 0 0 0.55rem;
	font-size: 1rem;
	font-weight: 650;
	color: #0f172a;
}
body.event101-app-shell .e101-spae .e101-spae__card-lede {
	margin: 0 0 0.65rem;
	font-size: 0.88rem;
}
body.event101-app-shell .e101-spae .e101-spae__field {
	margin: 0 0 0.65rem;
}
body.event101-app-shell .e101-spae .e101-spae__field:last-child {
	margin-bottom: 0;
}
body.event101-app-shell .e101-spae .e101-spae__label {
	display: block;
	font-weight: 600;
	margin: 0 0 0.3rem;
	font-size: 0.88rem;
}
body.event101-app-shell .e101-spae .e101-spae__fieldset {
	margin: 0 0 0.65rem;
	padding: 0.5rem 0.6rem 0.6rem;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 8px;
}
body.event101-app-shell .e101-spae .e101-spae__legend {
	font-weight: 600;
	padding: 0 0.2rem;
	font-size: 0.85rem;
}
body.event101-app-shell .e101-spae .e101-spae__county-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.25rem 0.4rem;
	margin-top: 0.25rem;
}
body.event101-app-shell .e101-spae .e101-spae__county-cell {
	font-size: 0.82rem;
	line-height: 1.3;
}
body.event101-app-shell .e101-spae .e101-spae__svc-summary-label {
	margin: 0 0 0.25rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: #0f172a;
}
body.event101-app-shell .e101-spae .e101-spae__svc-summary {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.45;
	word-break: break-word;
}
body.event101-app-shell .e101-spae .e101-spae__svc-details {
	margin: 0 0 0.4rem;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 8px;
	background: rgba(248, 250, 252, 0.75);
}
body.event101-app-shell .e101-spae .e101-spae__svc-summary-trigger {
	padding: 0.45rem 0.6rem;
	font-weight: 600;
	font-size: 0.88rem;
	cursor: pointer;
}
body.event101-app-shell .e101-spae .e101-spae__svc-details-body {
	padding: 0 0.55rem 0.55rem;
}
body.event101-app-shell .e101-spae .e101-spae__service-row {
	margin: 0.15rem 0;
	font-size: 0.86rem;
	line-height: 1.35;
}
body.event101-app-shell .e101-spae .e101-spae__service-row--child {
	padding-left: 0.25rem;
}
body.event101-app-shell .e101-spae .e101-spae__footer-actions--inline {
	margin-top: 0.25rem;
}
body.event101-app-shell .e101-spae .e101-spae__preview-dl {
	margin: 0;
}
body.event101-app-shell .e101-spae .e101-spae__preview-row {
	display: grid;
	grid-template-columns: minmax(6rem, 9rem) 1fr;
	gap: 0.3rem 0.5rem;
	padding: 0.35rem 0;
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
	font-size: 0.85rem;
}
body.event101-app-shell .e101-spae .e101-spae__preview-row:last-child {
	border-bottom: 0;
}
body.event101-app-shell .e101-spae .e101-spae__preview-row dt {
	margin: 0;
	font-weight: 600;
	color: #334155;
}
body.event101-app-shell .e101-spae .e101-spae__preview-row dd {
	margin: 0;
	color: #0f172a;
	word-break: break-word;
}
@media (max-width: 56rem) {
	body.event101-app-shell .e101-spae .e101-spae__layout {
		grid-template-columns: 1fr;
	}
	body.event101-app-shell .e101-spae .e101-spae__col--rail {
		position: static;
		max-height: none;
	}
	body.event101-app-shell .e101-spae .e101-spae__county-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 36rem) {
	body.event101-app-shell .e101-spae .e101-spae__county-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.event101-app-shell .e101-spae .e101-spae__preview-row {
		grid-template-columns: 1fr;
	}
}

/* EMP / organiser deep-link focus (?e101_focus=…) - calm highlight, no modal */
.e101-organiser-focus-banner {
	margin: 0 0 1rem;
	padding: 0.65rem 1rem;
	border-radius: 10px;
	border: 1px solid #94a3b8;
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	color: #0f172a;
	font-size: 0.95rem;
	line-height: 1.45;
	max-width: min(100%, 72ch);
}
.e101-organiser-focus-banner__text {
	margin: 0;
}

.e101-organiser-focus-banner__actions {
	margin-top: 0.55rem;
	padding-top: 0.55rem;
	border-top: 1px dashed rgba(148, 163, 184, 0.85);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	max-width: min(100%, 68ch);
}

.e101-organiser-focus-banner__return {
	font-weight: 600;
}

.e101-organiser-focus-banner__sub {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: #475569;
}
.e101-organiser-focus-flash {
	animation: e101-organiser-focus-pulse 1.1s ease-out 3;
	outline: 3px solid var(--e101-system-green, #58e28a);
	outline-offset: 4px;
	border-radius: 10px;
	box-shadow: 0 0 0 0 rgba(88, 226, 138, 0.35);
}
@keyframes e101-organiser-focus-pulse {
	0% {
		outline-color: var(--e101-system-green, #58e28a);
		box-shadow: 0 0 0 0 rgba(88, 226, 138, 0.35);
	}
	60% {
		outline-color: rgba(88, 226, 138, 0.35);
		box-shadow: 0 0 0 6px rgba(88, 226, 138, 0);
	}
	100% {
		outline-color: rgba(88, 226, 138, 0.12);
		box-shadow: 0 0 0 0 rgba(88, 226, 138, 0);
	}
}
