:root,
body.oic-theme-calm {
	--oic-navy: #24352c;
	--oic-navy-2: #1c2b22;
	--oic-gold: #c4a35a;
	--oic-gold-2: #3d6b52;
	--oic-cream: #f3f6f1;
	--oic-paper: #ffffff;
	--oic-ink: #24302a;
	--oic-muted: #6b786f;
	--oic-line: #dce5dc;
	--oic-danger: #b42318;
	--oic-shadow: 0 1px 2px rgba(28, 43, 34, 0.04), 0 10px 28px rgba(28, 43, 34, 0.06);
	--oic-sidebar: #eef3ec;
	--oic-soft: #e7eee6;
	--oic-soft-2: #f7faf6;
	--oic-accent: #3d6b52;
	--oic-accent-soft: #d7e6db;
	--oic-conflict: #f3e2b8;
	--oic-day-out: #edf2eb;
	--oic-day-weekend: #f7faf6;
	--oic-day-out-weekend: #e8eee6;
	--oic-hover: #f4f8f3;
	--oic-overlay: rgba(28, 43, 34, 0.42);
	--oic-font: "DM Sans", "Segoe UI", sans-serif;
	--oic-serif: "Source Serif 4", "Iowan Old Style", Georgia, serif;
	--oic-fs: 0.9375rem;
	--oic-fs-sm: 0.8125rem;
	--oic-fs-xs: 0.75rem;
	--oic-radius: 16px;
}

body.oic-theme-classic {
	--oic-navy: #10233d;
	--oic-navy-2: #173155;
	--oic-gold: #c4a35a;
	--oic-gold-2: #e0c37a;
	--oic-cream: #f6f1e7;
	--oic-paper: #fffdf8;
	--oic-ink: #1c2430;
	--oic-muted: #667085;
	--oic-line: #e6dcc8;
	--oic-danger: #a33b3b;
	--oic-shadow: 0 18px 50px rgba(16, 35, 61, 0.12);
	--oic-sidebar: #10233d;
	--oic-soft: #f3ead7;
	--oic-soft-2: #fbf6ec;
	--oic-accent: #c4a35a;
	--oic-accent-soft: rgba(196, 163, 90, 0.18);
	--oic-conflict: #f8e2b8;
	--oic-day-out: #f4eee3;
	--oic-day-weekend: #fbf7ef;
	--oic-day-out-weekend: #f0eadf;
	--oic-hover: #f6f0e3;
	--oic-overlay: rgba(16, 35, 61, 0.45);
	--oic-font: "Avenir Next", "Segoe UI", sans-serif;
	--oic-serif: "Iowan Old Style", "Palatino Linotype", Palatino, serif;
}

* { box-sizing: border-box; }

html { margin: 0; }
html, body.oic-intranet-app { min-height: 100%; }
body.oic-intranet-app {
	margin: 0;
	background: var(--oic-cream);
	color: var(--oic-ink);
	font-family: var(--oic-font);
	font-size: var(--oic-fs);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

body.oic-intranet-app.admin-bar .oic-shell,
body.oic-intranet-app.admin-bar .oic-login {
	margin-top: 32px;
}

a:where(:not(.wp-element-button)){
	color:var(--oic-accent);
	:hover{
		color: var(--oic-accent);
		opacity: 0.8;
	}
}

.oic-shell {
	display: grid;
	grid-template-columns: 260px 1fr;
	min-height: 100vh;
}

.oic-nav {
	background: var(--oic-sidebar);
	color: var(--oic-ink);
	padding: 22px 16px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	border-right: 1px solid var(--oic-line);
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: auto;
}

body.oic-intranet-app.admin-bar .oic-nav {
	top: 32px;
	height: calc(100vh - 32px);
}

.oic-nav-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.oic-brand {
	display: flex;
	gap: 12px;
	align-items: center;
}

.oic-brand strong {
	display: block;
	font-size: 0.95rem;
	font-weight: 650;
}

.oic-brand span {
	display: block;
	font-size: var(--oic-fs-xs);
	color: var(--oic-muted);
	letter-spacing: 0;
	text-transform: none;
	opacity: 1;
}

.oic-mark {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: var(--oic-accent);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.04em;
	font-size: 0.8rem;
}

.oic-mark.lg {
	width: 64px;
	height: 64px;
	margin: 0 auto 12px;
	font-size: 1.05rem;
	border-radius: 18px;
}

.oic-nav-toggle {
	display: none;
	border: 1px solid var(--oic-line);
	background: var(--oic-paper);
	color: var(--oic-ink);
	border-radius: 999px;
	padding: 7px 12px;
	font: inherit;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
	cursor: pointer;
}

.oic-nav nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.oic-nav nav a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--oic-ink);
	text-decoration: none;
	padding: 9px 12px;
	border-radius: 10px;
	font-size: 0.9rem;
	font-weight: 500;
}

.oic-nav-icon {
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
	opacity: 0.8;
}

.oic-nav nav a.is-active,
.oic-nav nav a:hover {
	background: var(--oic-accent-soft);
	color: var(--oic-navy);
}

.oic-nav nav a.is-active .oic-nav-icon,
.oic-nav nav a:hover .oic-nav-icon {
	opacity: 1;
}

.oic-user {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--oic-line);
	font-size: var(--oic-fs-sm);
}

.oic-user-name {
	display: block;
	font-weight: 650;
	color: inherit;
	text-decoration: none;
	padding: 0;
}
.oic-user-name:hover { color: var(--oic-accent); }
.oic-user-role,
.oic-kicker {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.68rem;
	font-weight: 650;
	color: var(--oic-accent);
}

.oic-user-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}
.oic-user a { color: var(--oic-accent); text-decoration: none; padding: 0; }
.oic-user-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
}
.oic-user-links .oic-nav-icon {
	width: 0.95rem;
	height: 0.95rem;
}

body.oic-theme-classic .oic-nav {
	color: #fff;
	border-right: 0;
}
body.oic-theme-classic .oic-brand span,
body.oic-theme-classic .oic-nav nav a {
	color: #f3ead7;
}
body.oic-theme-classic .oic-nav nav a.is-active,
body.oic-theme-classic .oic-nav nav a:hover {
	background: var(--oic-accent-soft);
	color: #fff;
}
body.oic-theme-classic .oic-mark {
	background: var(--oic-gold);
	color: var(--oic-navy);
}
body.oic-theme-classic .oic-user {
	border-top-color: rgba(255, 255, 255, 0.12);
}
body.oic-theme-classic .oic-user-role,
body.oic-theme-classic .oic-kicker {
	color: var(--oic-gold);
}
body.oic-theme-classic .oic-user a { color: var(--oic-gold-2); }
body.oic-theme-classic .oic-nav-toggle {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.22);
}

.oic-main {
	padding: clamp(20px, 3vw, 40px) clamp(16px, 4vw, 48px) 64px;
	max-width: 1280px;
}

.oic-page-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	margin-bottom: 28px;
}

.oic-page-head h1,
.oic-login h1,
.oic-card h1,
.oic-card h2,
.oic-cal-nav h2,
.oic-cal-modal-body h3 {
	font-family: var(--oic-serif);
	margin: 0;
	color: var(--oic-navy);
	font-weight: 650;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.oic-page-head h1,
.oic-login h1 {
	font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.35rem);
}

.oic-card h2,
.oic-cal-nav h2 {
	font-size: clamp(1.15rem, 1rem + 0.5vw, 1.45rem);
}

.oic-head-actions,
.oic-actions,
.oic-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.oic-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--oic-navy);
	background: var(--oic-paper);
	color: var(--oic-navy);
	text-decoration: none;
	padding: 0.55rem 1rem;
	border-radius: 999px;
	font: inherit;
	font-weight: 600;
	font-size: var(--oic-fs-sm);
	cursor: pointer;
}

.oic-btn-primary {
	background: var(--oic-navy);
	color: #fff;
}

.oic-btn-ghost { background: transparent; }
.oic-btn-danger { border-color: var(--oic-danger); color: var(--oic-danger); }
.oic-btn-small { padding: 0.35rem 0.75rem; font-size: var(--oic-fs-xs); }
.oic-btn-block { width: 100%; }

.oic-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.oic-stats article,
.oic-stats > a,
.oic-card {
	background: var(--oic-paper);
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	padding: 1.15rem 1.25rem;
	box-shadow: var(--oic-shadow);
}
.oic-main > .oic-card {
	margin-bottom: 16px;
}

.oic-stats > a {
	display: block;
	text-decoration: none;
	color: inherit;
}

.oic-stats span,
.oic-meta,
.oic-empty,
.oic-help {
	color: var(--oic-muted);
}

.oic-stats strong {
	display: block;
	font-size: clamp(1.6rem, 1.3rem + 1vw, 2rem);
	margin-top: 8px;
	color: var(--oic-navy);
	font-family: var(--oic-serif);
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.oic-stats-members {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.oic-stats-members article {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.oic-stats-members .oic-stat-icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--oic-accent);
}

.oic-stats-members strong {
	margin-top: 0;
}

.oic-dashboard-stats {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.oic-dashboard-stats > a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.oic-stat-icon {
	width: 1.4rem;
	height: 1.4rem;
	color: var(--oic-accent);
}

.oic-dashboard-stats strong {
	margin-top: 0;
}

.oic-vh {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.oic-birthday-list li {
	display: flex;
	align-items: center;
	gap: 12px;
}

.oic-bday-day {
	flex: 0 0 2.4rem;
	height: 2.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--oic-soft);
	color: var(--oic-navy);
	font-weight: 700;
	font-family: var(--oic-serif);
}

.oic-feedback-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.oic-feedback-list li {
	border-bottom: 1px solid var(--oic-line);
	padding: 14px 0;
}

.oic-feedback-list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.oic-feedback-item-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.oic-feedback-meta {
	margin: 4px 0 8px;
	color: var(--oic-muted);
	font-size: var(--oic-fs-sm);
}

.oic-feedback-body {
	margin: 0;
}

.oic-feedback-status {
	flex: 0 0 auto;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--oic-soft);
	color: var(--oic-navy);
}

.oic-feedback-status-new { background: var(--oic-accent); color: #fff; }
.oic-feedback-status-done { background: var(--oic-navy); color: #fff; }

.oic-feedback-status-form {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.oic-feedback-status-form label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
}

.oic-feedback-status-form textarea {
	width: 100%;
	min-height: 4.5rem;
	resize: vertical;
	border: 1px solid var(--oic-line);
	border-radius: 8px;
	padding: 8px 10px;
	font: inherit;
	background: var(--oic-paper);
}

.oic-feedback-status-form > .oic-btn {
	justify-self: start;
}

.oic-feedback-reply {
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--oic-soft);
	border: 1px solid var(--oic-line);
}

.oic-feedback-reply strong {
	display: block;
	font-size: var(--oic-fs-sm);
}

.oic-feedback-reply em {
	display: block;
	margin: 2px 0 6px;
	font-style: normal;
	font-size: var(--oic-fs-xs);
	color: var(--oic-muted);
}

.oic-feedback-reply p {
	margin: 0;
}

.oic-feedback-status-form select {
	min-width: 140px;
	border: 1px solid var(--oic-line);
	border-radius: 8px;
	padding: 6px 8px;
	font: inherit;
	background: var(--oic-paper);
}

.oic-stat-birthdays,
.oic-stat-children,
.oic-stat-adults,
.oic-stat-baptized {
	cursor: pointer;
	border-color: var(--oic-accent);
	background: linear-gradient(180deg, var(--oic-paper) 0%, var(--oic-soft) 100%);
}

.oic-stat-birthdays em,
.oic-stat-children em,
.oic-stat-adults em {
	display: block;
	margin-top: 4px;
	font-style: normal;
	font-size: var(--oic-fs-xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--oic-accent);
}

.oic-birthday-pill {
	background: var(--oic-navy) !important;
	color: #fff !important;
}
.oic-child-pill {
	background: var(--oic-accent) !important;
	color: #fff !important;
}

.oic-grid-2,
.oic-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.oic-grid-2.oic-feedback-layout{
	align-items: flex-start;
}

.oic-card-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.oic-list { list-style: none; margin: 0; padding: 0; }
.oic-list li { border-bottom: 1px solid var(--oic-line); padding: 10px 0; }
.oic-list a { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: 4px; }
.oic-list em { color: var(--oic-muted); font-style: normal; font-size: var(--oic-fs-sm); }

.oic-filters {
	display: flex;
	gap: 16px;
	margin-bottom: 18px;
}

.oic-filters label,
.oic-login-form label,
.oic-profile-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
}

.oic-filters select,
.oic-filters input[type="month"],
.oic-login-form input[type="text"],
.oic-login-form input[type="password"],
.oic-profile-form input[type="text"],
.oic-profile-form input[type="password"],
.oic-profile-form input[type="email"],
.oic-profile-form input[type="number"],
.oic-profile-form select,
.oic-profile-form textarea {
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	padding: 10px 12px;
	min-width: 0;
	width: 100%;
	font: inherit;
	background: var(--oic-paper);
}

.oic-filters select,
.oic-filters input[type="month"] {
	min-width: 220px;
	width: auto;
}

.oic-view-toggle {
	display: inline-flex;
	border: 1px solid var(--oic-navy);
	border-radius: 999px;
	background: var(--oic-paper);
	overflow:hidden;
}
.oic-view-toggle a {
	padding: 8px 16px;
	text-decoration: none;
	color: var(--oic-navy);
	font-weight: 600;
	font-size: var(--oic-fs-sm);
}
.oic-view-toggle a.is-active {
	background: var(--oic-navy);
	color: #fff;
}

.oic-cal-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.oic-cal-nav {
	display: flex;
	align-items: center;
	gap: 8px;
}
.oic-cal-nav h2 {
	margin: 0 6px;
	min-width: 180px;
	text-align: center;
	font-family: var(--oic-serif);
	color: var(--oic-navy);
	font-size: clamp(1.2rem, 1rem + 0.8vw, 1.65rem);
}
.oic-cal-filters { margin-bottom: 0; }
.oic-cal-filters select,
.oic-cal-filters input[type="month"] { min-width: 160px; }
.oic-cal-summary { margin: 0 0 8px; }
.oic-cal-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}
.oic-cal-legend a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: inherit;
	text-decoration: none;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
}
.oic-cal-swatch {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex: 0 0 10px;
	display: inline-block;
	vertical-align: middle;
}
.oic-cards h2 {
	display: flex;
	align-items: center;
	gap: 10px;
}
.oic-cards h2 a {
	color: var(--oic-navy);
}
.oic-ministry-list {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr) minmax(0, 1fr) 9rem;
	background: var(--oic-paper);
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	box-shadow: var(--oic-shadow);
	overflow: hidden;
	margin-bottom: 16px;
}
.oic-ministry-cols,
.oic-ministry-row {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	column-gap: 20px;
	align-items: start;
	padding: 16px 20px;
}
.oic-ministry-cols {
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--oic-muted);
	border-bottom: 1px solid var(--oic-line);
	background: var(--oic-soft-2);
	padding-top: 12px;
	padding-bottom: 12px;
	align-items: center;
}
.oic-ministry-row + .oic-ministry-row {
	border-top: 1px solid var(--oic-line);
}
.oic-ministry-row:hover {
	background: var(--oic-hover);
}
.oic-ministry-name,
.oic-ministry-heads {
	min-width: 0;
}
.oic-ministry-name h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 1.05rem;
	font-family: var(--oic-serif);
	font-weight: 650;
	color: var(--oic-navy);
}
.oic-ministry-name h2 a {
	color: inherit;
	text-decoration: none;
}
.oic-ministry-name h2 a:hover {
	text-decoration: underline;
}
.oic-ministry-name p {
	margin: 6px 0 0;
	color: var(--oic-muted);
	font-size: var(--oic-fs-sm);
	line-height: 1.4;
}
.oic-ministry-name.has-swatch p { margin-left: 20px; }
.oic-ministry-kicker {
	margin: 6px 0 0;
	color: var(--oic-muted);
}
.oic-ministry-kicker span {
	margin-left: 12px;
}
.oic-ministry-heads h3 {
	display: none;
	margin: 0 0 4px;
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-ministry-heads p {
	margin: 0;
	color: var(--oic-ink);
	line-height: 1.4;
}
.oic-ministry-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
.oic-ministry-color-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.oic-color-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 10px;
}
.oic-color-preset {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px var(--oic-line);
	padding: 0;
	cursor: pointer;
	background: var(--oic-paper);
}
.oic-color-preset.is-auto {
	width: auto;
	border-radius: 999px;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 700;
	color: var(--oic-navy);
}
.oic-color-preset.is-selected {
	box-shadow: 0 0 0 2px var(--oic-navy);
}
.oic-cal-wrap {
	border: 1px solid var(--oic-line);
	border-radius: 16px;
	overflow: auto;
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
}
.oic-cal {
	display: grid;
	grid-template-columns: repeat(7, minmax(128px, 1fr));
	min-width: 900px;
	background: var(--oic-line);
	gap: 1px;
}
.oic-cal-wd {
	background: var(--oic-soft);
	padding: 10px 8px;
	text-align: center;
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--oic-navy);
}
.oic-cal-wd-short { display: none; }
.oic-cal-day {
	background: var(--oic-paper);
	min-height: 118px;
	padding: 6px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	cursor: pointer;
}
.oic-cal-day.is-outside { background: var(--oic-day-out); color: var(--oic-muted); }
.oic-cal-day.is-weekend:not(.is-conflict) { background: var(--oic-day-weekend); }
.oic-cal-day.is-outside.is-weekend:not(.is-conflict) { background: var(--oic-day-out-weekend); }
.oic-cal-day.is-today { box-shadow: inset 0 0 0 2px var(--oic-accent); }
.oic-cal-day.is-conflict { background: var(--oic-conflict); }
.oic-cal-day-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}
.oic-cal-day-num {
	border: 0;
	background: transparent;
	font: inherit;
	font-weight: 700;
	color: inherit;
	cursor: pointer;
	padding: 0 4px;
	line-height: 1.2;
}
.oic-cal-day.is-today .oic-cal-day-num {
	background: var(--oic-navy);
	color: #fff;
	border-radius: 999px;
	min-width: 24px;
	height: 24px;
}
.oic-cal-day-head .oic-event-conflict-tag { margin-left: 0; }
.oic-cal-events { display: flex; flex-direction: column; gap: 3px; }
.oic-cal-chip {
	display: flex;
	gap: 5px;
	align-items: baseline;
	min-width: 0;
	padding: 3px 6px;
	border-radius: 6px;
	background: var(--oic-paper);
	border-left: 3px solid var(--chip, var(--oic-accent));
	color: var(--oic-navy);
	text-decoration: none;
	font-size: var(--oic-fs-xs);
	line-height: 1.3;
	box-shadow: 0 1px 0 rgba(28, 43, 34, 0.06);
}
.oic-cal-chip:hover { background: var(--oic-hover); }
.oic-cal-chip.is-continue { opacity: 0.82; }
.oic-cal-time {
	flex: 0 0 auto;
	color: var(--oic-muted);
	font-variant-numeric: tabular-nums;
	font-size: 0.6875rem;
}
.oic-cal-title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 650;
}
.oic-cal-more {
	border: 0;
	background: transparent;
	color: var(--oic-navy);
	font: inherit;
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	text-align: left;
	cursor: pointer;
	padding: 2px 4px;
}
.oic-cal-modal {
	position: fixed;
	inset: 0;
	background: var(--oic-overlay);
	display: grid;
	place-items: center;
	padding: 24px;
	z-index: 80;
}
.oic-cal-modal[hidden] { display: none !important; }
.oic-cal-modal-card {
	position: relative;
	width: min(520px, 100%);
	max-height: min(80vh, 640px);
	overflow: auto;
	background: var(--oic-paper);
	border-radius: 18px;
	padding: 24px 22px 20px;
	box-shadow: var(--oic-shadow);
}
.oic-cal-modal-close {
	position: absolute;
	top: 10px;
	right: 12px;
	border: 0;
	background: transparent;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	color: var(--oic-muted);
}
.oic-cal-modal-body h3 {
	margin: 0 0 12px;
	color: var(--oic-navy);
	font-family: var(--oic-serif);
	font-size: 1.35rem;
}
.oic-cal-day-list { list-style: none; margin: 0; padding: 0; }
.oic-cal-day-list li {
	display: flex;
	gap: 10px;
	padding: 12px 0;
	border-bottom: 1px solid var(--oic-line);
}
.oic-cal-day-list li:last-child { border-bottom: 0; }
.oic-cal-day-list .oic-cal-swatch { margin-top: 6px; }
.oic-cal-day-list a { color: inherit; text-decoration: none; }
.oic-cal-day-list em {
	display: block;
	color: var(--oic-muted);
	font-style: normal;
	font-size: var(--oic-fs-sm);
	margin: 4px 0 8px;
}
.oic-cal-day-add { margin: 16px 0 0; }

.oic-table-wrap { overflow-x: auto; }
.oic-table { width: 100%; border-collapse: collapse; background: var(--oic-paper); border-radius: 16px; overflow: hidden; }
.oic-table th, .oic-table td { padding: 12px 14px; border-bottom: 1px solid var(--oic-line); text-align: left; }
.oic-table th { background: var(--oic-soft); color: var(--oic-navy); }
.oic-finance-note {
	margin: 0 0 16px;
	color: var(--oic-muted);
}
.oic-finance-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	margin: 0 0 18px;
}
.oic-finance-facts div {
	background: var(--oic-paper);
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	padding: 14px 16px;
}
.oic-finance-facts dt {
	margin: 0 0 4px;
	color: var(--oic-muted);
	font-size: var(--oic-fs-xs);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.oic-finance-facts dd {
	margin: 0;
	color: var(--oic-navy);
	font-family: var(--oic-serif);
	font-size: 1.15rem;
}
.oic-table tfoot td {
	font-weight: 700;
	color: var(--oic-navy);
	border-bottom: 0;
	background: var(--oic-soft-2);
}
.oic-table tr.oic-event-conflict td { background: var(--oic-conflict); }
.oic-event-conflict-note { margin: 0 0 12px; }
.oic-event-conflict-tag {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--oic-accent);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	vertical-align: middle;
	white-space: nowrap;
}
.oic-repeat-tag {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--oic-navy);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	vertical-align: middle;
	white-space: nowrap;
}
.oic-list-next {
	display: block;
	margin-top: 4px;
	color: var(--oic-muted);
	font-style: normal;
	font-size: var(--oic-fs-sm);
}
.oic-cal-chip.is-repeat .oic-cal-title::after {
	content: " ↻";
	font-weight: 700;
	opacity: 0.65;
}
.oic-row-actions, .oic-inline-form { display: flex; gap: 10px; align-items: center; }
.oic-link-button { background: none; border: 0; color: var(--oic-danger); cursor: pointer; padding: 0; font: inherit; }
.oic-text-button { background: none; border: 0; color: inherit; cursor: pointer; padding: 0; font: inherit; }

.oic-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px;
}

.oic-report-form {
	display: grid;
	gap: 12px;
	margin-top: 16px;
}
.oic-report-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 600;
}
.oic-report-form textarea,
.oic-report-form input[type="file"] {
	font: inherit;
	font-weight: 500;
}
.oic-report-form textarea {
	min-height: 8rem;
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	padding: 10px 12px;
	background: var(--oic-paper);
}
.oic-report-keeps {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 10px;
}
.oic-report-form label.oic-report-photo {
	position: relative;
	font-weight: 500;
}
.oic-report-photo img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}
.oic-report-photo input { margin-bottom: 4px; }
.oic-event-photos { margin-top: 14px; }

.oic-eval{
	margin-top:20px;
}
.oic-eval-share {
	display: flex;
	gap: 16px;
	align-items: center;
}
.oic-eval-qr {
	width: 168px;
	height: 168px;
	flex: 0 0 168px;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
}
.oic-eval-qr svg { display: block; width: 168px; height: 168px; }
.oic-eval-link { word-break: break-all; margin: 0 0 8px; }
.oic-eval-bars { list-style: none; margin: 16px 0 0; padding: 0; }
.oic-eval-bars li {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--oic-line);
}
.oic-eval-bars i {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	background: var(--oic-accent, #1c2b3a);
	border-radius: 99px;
}
.oic-eval-notes { display: grid; gap: 12px; margin-top: 16px; }
.oic-eval-notes article {
	padding-top: 12px;
	border-top: 1px solid var(--oic-line);
}
.oic-eval-notes header { display: flex; justify-content: space-between; gap: 12px; }
.oic-eval-notes p { margin: 6px 0 0; }
.oic-eval-notes p span { color: var(--oic-muted); }
.oic-eval-public {
	max-width: 640px;
	margin: 48px auto;
	padding: 0 16px 48px;
}
.oic-eval-public h1 { margin-bottom: 4px; }
.oic-eval-when {
	margin: 0 0 16px;
	color: var(--oic-muted);
}
.oic-eval-honeypot {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}
.oic-gallery img,
.oic-poster {
	width: 100%;
	border-radius: 12px;
	display: block;
}

.oic-poster-note {
	margin: 10px 0 0;
	color: var(--oic-muted);
	font-size: 0.92rem;
}

.oic-polish-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
}

.oic-polish-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0.38rem 0.95rem 0.38rem 0.48rem;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background:
		linear-gradient(var(--oic-paper), var(--oic-paper)) padding-box,
		linear-gradient(115deg, #4285f4, #9b72cb 55%, #d96570) border-box;
	box-shadow: 0 1px 2px rgba(32, 33, 36, 0.08);
	color: var(--oic-navy);
	font: inherit;
	font-weight: 650;
	font-size: var(--oic-fs-sm);
	line-height: 1;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.oic-polish-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(66, 133, 244, 0.18);
}

.oic-polish-btn:focus-visible {
	outline: 2px solid #4285f4;
	outline-offset: 3px;
}

.oic-polish-btn:disabled {
	cursor: wait;
	transform: none;
	opacity: 0.72;
}

.oic-polish-mark {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.oic-polish-mark svg {
	display: block;
	width: 18px;
	height: 18px;
}

.oic-polish-btn:disabled .oic-polish-mark {
	animation: oic-polish-glow 1s ease-in-out infinite;
}

.oic-polish-label {
	background: linear-gradient(115deg, #1a73e8, #8a4fd6 58%, #c44569);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

@keyframes oic-polish-glow {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.16); }
}

@media (prefers-reduced-motion: reduce) {
	.oic-polish-btn,
	.oic-polish-btn:disabled .oic-polish-mark {
		transition: none;
		animation: none;
	}
}

.oic-polish-note {
	margin: 0;
	color: var(--oic-muted);
	font-size: 0.92rem;
}

.oic-dl { list-style: none; margin: 0; padding: 0; }
.oic-dl li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--oic-line); }
.oic-dl span { color: var(--oic-muted); }

/* Event details: stacked label above value, empty fields hidden */
.oic-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.oic-detail { padding: 14px 0; border-bottom: 1px solid var(--oic-line); min-width: 0; }
.oic-detail-wide { grid-column: 1 / -1; }
.oic-details dt { margin: 0 0 4px; font-size: var(--oic-fs-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--oic-muted); }
.oic-details dd { margin: 0; font-weight: 600; color: var(--oic-ink); line-height: 1.45; overflow-wrap: anywhere; }
.oic-details + .oic-help { margin-top: 14px; }
@media (max-width: 520px) {
	.oic-details { grid-template-columns: 1fr; }
}

.oic-prose { line-height: 1.65; }
.oic-prose p { margin: 0 0 12px; }
.oic-prose p:last-child { margin-bottom: 0; }
.acf-field.oic-ministry-locked .acf-input {
	display: none;
}
.acf-field.oic-ministry-locked .acf-label {
	margin-bottom: 0;
}
.acf-field.oic-ministry-locked .description {
	margin-top: 4px;
	font-size: 1rem;
	color: var(--oic-ink);
}
.acf-field[data-name="oic_hosted_ministry"].-disabled .select2-container,
.acf-field[data-name="oic_hosted_ministry"] .acf-input [disabled] + .select2-container,
.acf-field[data-name="oic_finance_event"].-disabled .select2-container,
.acf-field[data-name="oic_finance_event"] .acf-input [disabled] + .select2-container,
.acf-field[data-name="oic_finance_ministry"].-disabled .select2-container,
.acf-field[data-name="oic_finance_ministry"] .acf-input [disabled] + .select2-container {
	pointer-events: none;
	opacity: .85;
}

.oic-form-card .acf-fields { border: 0 !important; }
.oic-form-card .acf-button,
.oic-form-card input[type="submit"] {
	background: var(--oic-navy) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 22px !important;
	color: #fff !important;
}

.oic-login {
	min-height: 100vh;
	display: grid;
	place-items: center;
	background: var(--oic-cream);
	padding: 24px;
}

body.oic-theme-classic .oic-login {
	background:
		radial-gradient(circle at top, rgba(196,163,90,0.28), transparent 32%),
		linear-gradient(160deg, #0c1b30 0%, #173155 55%, #10233d 100%);
}

.oic-login-card {
	width: min(440px, 100%);
	background: var(--oic-paper);
	border: 1px solid var(--oic-line);
	border-radius: 24px;
	padding: clamp(28px, 4vw, 40px) clamp(22px, 4vw, 36px);
	text-align: center;
	box-shadow: var(--oic-shadow);
}

.oic-login-lede,
.oic-login-foot { color: var(--oic-muted); font-size: 0.95rem; }
.oic-login .oic-kicker { margin: 4px 0 10px; }
.oic-login-form { text-align: left; display: grid; gap: 14px; margin: 24px 0; }
.oic-login-extra { margin: 0 0 12px; }
.oic-login-extra a { color: var(--oic-accent); font-weight: 600; text-decoration: none; }
.oic-remember { flex-direction: row !important; align-items: center; font-weight: 500 !important; }
.oic-alert { padding: 10px 12px; border-radius: 10px; margin: 16px 0; }
.oic-alert-error { background: #f8e1e1; color: var(--oic-danger); }
.oic-alert-ok { background: var(--oic-accent-soft); color: var(--oic-navy); }

.oic-members-toolbar { flex-wrap: wrap; }
.oic-filters-panel { display: contents; }
.oic-filters-toggle { display: none; }
.oic-members-search { flex: 1 1 220px; }
.oic-members-search input,
.oic-members-toolbar select {
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	padding: 10px 12px;
	font: inherit;
	background: var(--oic-paper);
	min-width: 160px;
}
.oic-members-search input { width: 100%; min-width: 0; }
.oic-members-count { margin: 0 0 12px; font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-members-list { display: flex; flex-direction: column; gap: 10px; }
.oic-member-card {
	background: var(--oic-paper);
	border: 1px solid var(--oic-line);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--oic-shadow);
}
.oic-member-main {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 14px 16px;
}
.oic-member-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
}
.oic-member-photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--oic-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: var(--oic-navy);
}
.oic-member-photo img { width: 100%; height: 100%; object-fit: cover; }
.oic-member-body h2 { margin: 0 0 4px; font-size: 1.125rem; font-family: var(--oic-serif); }
.oic-member-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.oic-member-meta span {
	font-size: var(--oic-fs-xs);
	background: var(--oic-soft);
	color: var(--oic-navy);
	padding: 2px 8px;
	border-radius: 999px;
}
.oic-member-contact { display: flex; flex-wrap: wrap; gap: 10px; font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-member-contact a { color: var(--oic-navy); }
.oic-member-details {
	border-top: 1px solid var(--oic-line);
	padding: 12px 16px 16px;
	background: var(--oic-soft-2);
}
.oic-member-details dl {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 10px 16px;
}
.oic-member-details dt {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--oic-muted);
}
.oic-member-details dd { margin: 2px 0 0; }

.oic-explorer {
	background: var(--oic-paper);
	border: 1px solid var(--oic-line);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--oic-shadow);
}
.oic-explorer-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	background: var(--oic-soft);
	border-bottom: 1px solid var(--oic-line);
	flex-wrap: wrap;
}
.oic-explorer-up {
	padding: 4px 10px;
	border: 1px solid var(--oic-line);
	border-radius: 8px;
	background: var(--oic-paper);
	color: var(--oic-navy);
	text-decoration: none;
	font-size: var(--oic-fs-sm);
	font-weight: 700;
}
.oic-explorer-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
}
.oic-explorer-crumbs a { color: var(--oic-navy); text-decoration: none; font-weight: 600; }
.oic-explorer-crumbs .is-current { color: var(--oic-ink); font-weight: 700; }
.oic-explorer-sep { color: var(--oic-muted); }
.oic-new-folder {
	margin-left: auto;
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}
.oic-new-folder input[type="text"] {
	min-width: 180px;
	padding: 6px 10px;
	border: 1px solid var(--oic-line);
	border-radius: 8px;
	background: var(--oic-paper);
}
.oic-folder-vis select,
.oic-folder-vis-form select,
.oic-new-folder select {
	padding: 6px 10px;
	border: 1px solid var(--oic-line);
	border-radius: 8px;
	background: var(--oic-paper);
	font-size: var(--oic-fs-sm);
	max-width: 170px;
}
.oic-folder-lock {
	display: inline-block;
	flex: 0 0 auto;
	padding: 1px 6px;
	border-radius: 999px;
	background: var(--oic-accent-soft);
	color: var(--oic-navy);
	font-size: 0.62rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.4;
}
.oic-explorer-body {
	display: grid;
	grid-template-columns: 240px 1fr;
	min-height: 420px;
}
.oic-explorer-tree {
	border-right: 1px solid var(--oic-line);
	padding: 10px 8px;
	background: var(--oic-soft-2);
	overflow: auto;
}
.oic-tree-list { list-style: none; margin: 0; padding: 0 0 0 14px; }
.oic-explorer-tree > .oic-tree-list { padding-left: 0; }
.oic-tree-item > .oic-tree-list { display: none; }
.oic-tree-item.is-open > .oic-tree-list { display: block; }
.oic-tree-row {
	display: flex;
	align-items: center;
	gap: 4px;
	border-radius: 8px;
}
.oic-tree-row a {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
	padding: 6px 8px 6px 2px;
	color: inherit;
	text-decoration: none;
	border-radius: 8px;
}
.oic-tree-row a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oic-tree-item.is-current > .oic-tree-row a,
.oic-tree-row a:hover { background: var(--oic-hover); }
.oic-tree-toggle,
.oic-tree-spacer {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	border: 0;
	background: transparent;
	padding: 0;
	position: relative;
}
.oic-tree-toggle { cursor: pointer; }
.oic-tree-toggle::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 6px;
	border: 5px solid transparent;
	border-left-color: var(--oic-navy);
}
.oic-tree-item.is-open > .oic-tree-row .oic-tree-toggle::before {
	top: 7px;
	left: 4px;
	border-left-color: transparent;
	border-top-color: var(--oic-navy);
}
.oic-explorer-main { overflow: auto; }
.oic-explorer-cols,
.oic-explorer-row {
	display: grid;
	grid-template-columns: minmax(160px, 1.5fr) 110px minmax(140px, 1fr) 120px auto;
	gap: 12px;
	align-items: center;
	padding: 8px 16px;
}
.oic-explorer-cols {
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--oic-muted);
	border-bottom: 1px solid var(--oic-line);
}
.oic-explorer-list { list-style: none; margin: 0; padding: 0; }
.oic-explorer-row { color: inherit; text-decoration: none; border-bottom: 1px solid var(--oic-line); }
.oic-explorer-row.is-folder { display: grid; }
.oic-explorer-row:hover { background: var(--oic-hover); }
.oic-explorer-name {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}
.oic-explorer-name strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 650;
}
.oic-explorer-type,
.oic-explorer-date,
.oic-explorer-user { color: var(--oic-muted); font-size: var(--oic-fs-sm); }
.oic-explorer-user em {
	display: block;
	font-style: normal;
	font-size: var(--oic-fs-xs);
	opacity: .85;
}
.oic-explorer-actions { display: flex; gap: 10px; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.oic-folder-rename {
	display: flex;
	gap: 6px;
	align-items: center;
}
.oic-folder-rename[hidden] { display: none !important; }
.oic-folder-rename input[type="text"] {
	width: 140px;
	padding: 4px 8px;
	border: 1px solid var(--oic-line);
	border-radius: 6px;
	background: var(--oic-paper);
}
.oic-file-glyph { width: 22px; height: 22px; flex: 0 0 22px; display: block; }
.oic-explorer-empty { padding: 32px 16px; }

.oic-lede,
.oic-help {
	margin: 8px 0 0;
	color: var(--oic-muted);
	font-size: 1rem;
	max-width: 40em;
	line-height: 1.55;
}
.oic-help { margin: 0 0 20px; }

.oic-profile-form {
	max-width: 680px;
	display: grid;
	gap: 8px;
}
.oic-profile-section {
	margin-bottom: 8px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--oic-line);
}
.oic-profile-section:last-of-type { border-bottom: 0; padding-bottom: 8px; }
.oic-profile-form h2 { margin: 0 0 4px; }
.oic-profile-form .oic-help { margin: 0 0 12px; }
.oic-profile-form .oic-meta { margin: 0 0 14px; }
.oic-profile-member {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin-top: 12px;
}
.oic-profile-photo {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.oic-profile-photo img,
.oic-profile-photo-empty {
	width: 96px;
	height: 96px;
	border-radius: 16px;
	background: var(--oic-soft-2);
	flex: 0 0 96px;
}
.oic-profile-photo img {
	object-fit: cover;
	display: block;
}
.oic-profile-photo-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--oic-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.oic-profile-photo input[type="file"] {
	font: inherit;
	font-weight: 500;
	max-width: 100%;
}
.oic-profile-form label.oic-profile-remove {
	flex-direction: row;
	align-items: center;
	margin: 10px 0 0;
}
.oic-profile-facts {
	display: grid;
	gap: 10px;
	margin: 0;
	flex: 1;
	min-width: 0;
}
.oic-profile-facts div { margin: 0; }
.oic-profile-facts dt {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--oic-muted);
	margin: 0 0 2px;
}
.oic-profile-facts dd { margin: 0; }
.oic-profile-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}
.oic-profile-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.oic-smtp-card,
.oic-settings-card {
	margin-top: 32px;
	max-width: 680px;
}
.oic-smtp-card h2,
.oic-settings-card h2 { margin: 0 0 8px; }
.oic-smtp-card .oic-profile-form { max-width: none; }
.oic-smtp-test { margin-top: 12px; }

.oic-check-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 14px 0 16px;
	font-weight: 600;
	line-height: 1.4;
}
.oic-check-row input {
	margin-top: 3px;
	width: 1.05rem;
	height: 1.05rem;
	flex: 0 0 auto;
}
.oic-page-head + .oic-settings-card {
	margin-top: 0;
}

.oic-menu-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 12px 0 16px;
}
.oic-menu-group {
	margin: 0;
	padding: 12px 14px 6px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
}
.oic-menu-group legend {
	padding: 0 6px;
	font-weight: 650;
}
.oic-menu-checks {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px 18px;
	margin: 8px 0 10px;
}
.oic-menu-checks .oic-check-row {
	margin: 4px 0;
}

.oic-theme-picker { max-width: 760px; }
.oic-theme-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 8px 0 22px;
}
.oic-theme-card {
	display: grid;
	gap: 8px;
	padding: 16px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	cursor: pointer;
	box-shadow: var(--oic-shadow);
	position: relative;
}
.oic-theme-card input { position: absolute; opacity: 0; pointer-events: none; }
.oic-theme-card.is-selected,
.oic-theme-card:has(input:checked) {
	border-color: var(--oic-accent);
	box-shadow: 0 0 0 2px var(--oic-accent-soft);
}
.oic-theme-card strong {
	font-size: 1.05rem;
	color: var(--oic-navy);
}
.oic-theme-card em {
	font-style: normal;
	color: var(--oic-muted);
	font-size: var(--oic-fs-sm);
	line-height: 1.45;
}
.oic-theme-swatch {
	display: grid;
	grid-template-columns: 42px 1fr;
	grid-template-rows: 12px 48px;
	gap: 6px;
	height: 72px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid var(--oic-line);
}
.oic-theme-swatch span:first-child {
	grid-row: 1 / 3;
	background: #eef3ec;
}
.oic-theme-swatch span:nth-child(2) { background: #f3f6f1; }
.oic-theme-swatch span:nth-child(3) { background: #fff; }
.oic-theme-preview-classic .oic-theme-swatch span:first-child { background: #10233d; }
.oic-theme-preview-classic .oic-theme-swatch span:nth-child(2) { background: #f6f1e7; }
.oic-theme-preview-classic .oic-theme-swatch span:nth-child(3) { background: #fffdf8; }

@media (max-width: 900px) {
	.oic-shell { grid-template-columns: 1fr; }
	.oic-nav {
		height: auto;
		position: sticky;
		top: 0;
		z-index: 40;
		border-right: 0;
		border-bottom: 1px solid var(--oic-line);
		padding: 14px 16px;
	}
	.oic-nav-toggle { display: inline-flex; }
	.oic-nav nav,
	.oic-nav .oic-user { display: none; }
	.oic-nav.is-open nav {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding-top: 8px;
	}
	.oic-nav.is-open .oic-user {
		display: block;
		margin: 12px 0 0;
		padding-top: 12px;
		border-top: 1px solid var(--oic-line);
	}
	body.oic-theme-classic .oic-nav.is-open .oic-user {
		border-top-color: rgba(255, 255, 255, 0.12);
	}
	.oic-main { padding: 20px 16px 48px; }
	.oic-stats, .oic-grid-2, .oic-cards, .oic-theme-grid, .oic-profile-grid, .oic-menu-checks, .oic-menu-groups { grid-template-columns: 1fr; }
	.oic-stats-members { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.oic-dashboard-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.oic-page-head { flex-direction: column; align-items: flex-start; }
	.oic-ministry-list {
		display: block;
	}
	.oic-ministry-cols { display: none; }
	.oic-ministry-row {
		display: grid;
		grid-template-columns: 1fr;
		grid-column: auto;
		gap: 10px;
	}
	.oic-ministry-heads h3 { display: block; }
	.oic-ministry-name.has-swatch p { margin-left: 20px; }
	.oic-ministry-actions { justify-content: flex-start; }
	.oic-member-main { grid-template-columns: 48px 1fr; }
	.oic-member-actions { grid-column: 1 / -1; justify-content: flex-start; }
	.oic-members-toolbar {
		flex-direction: column;
		gap: 12px;
	}
	.oic-members-search { flex: none; width: 100%; }
	.oic-filters-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		order: -1;
		border: 1px solid var(--oic-line);
		background: var(--oic-paper);
		color: var(--oic-navy);
		border-radius: 10px;
		padding: 10px 12px;
		font: inherit;
		font-weight: 650;
		cursor: pointer;
	}
	.oic-filters-toggle-mark {
		display: inline-block;
		transition: transform 0.15s ease;
		color: var(--oic-muted);
	}
	.oic-members-toolbar.is-open .oic-filters-toggle-mark {
		transform: rotate(180deg);
	}
	.oic-members-toolbar .oic-filters-panel {
		display: none;
		flex-direction: column;
		gap: 12px;
		width: 100%;
	}
	.oic-members-toolbar.is-open .oic-filters-panel {
		display: flex;
	}
	.oic-members-toolbar select { min-width: 100%; }
	.oic-filters { flex-direction: column; }
	.oic-filters select,
	.oic-filters input[type="month"] { min-width: 0; width: 100%; }
	.oic-explorer-body { grid-template-columns: 1fr; }
	.oic-explorer-tree { border-right: 0; border-bottom: 1px solid var(--oic-line); max-height: 180px; }
	.oic-explorer-cols,
	.oic-explorer-row { grid-template-columns: 1fr minmax(110px, 0.9fr); }
	.oic-explorer-type,
	.oic-explorer-date,
	.oic-explorer-cols span:nth-child(2),
	.oic-explorer-cols span:nth-child(4) { display: none; }
	.oic-cal-nav h2 { font-size: 1.25rem; min-width: 0; }
	.oic-cal-filters { width: 100%; }
	.oic-cal-filters select,
	.oic-cal-filters input[type="month"] { min-width: 0; width: 100%; }
	.oic-cal-wrap { overflow: hidden; max-width: 100%; }
	.oic-cal {
		min-width: 0;
		width: 100%;
		grid-template-columns: repeat(7, minmax(0, 1fr));
	}
	.oic-cal-wd {
		padding: 8px 2px;
		letter-spacing: 0.02em;
	}
	.oic-cal-day {
		min-height: 88px;
		padding: 4px 3px 6px;
		min-width: 0;
	}
	.oic-cal-chip .oic-cal-time { display: none; }
	.oic-cal-modal { padding: 12px; }
}

@media (max-width: 700px) {
	.oic-stats { grid-template-columns: 1fr 1fr; }
	.oic-stats-members { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
	.oic-stats-members article {
		align-items: center;
		text-align: center;
		padding: 12px 8px;
	}
	.oic-stats-members .oic-stat-label,
	.oic-stats-members em,
	.oic-dashboard-stats .oic-stat-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.oic-dashboard-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.oic-dashboard-stats > a {
		align-items: center;
		text-align: center;
		padding: 12px 8px;
	}
	.oic-table thead { display: none; }
	.oic-table tr { display: block; margin-bottom: 12px; border: 1px solid var(--oic-line); border-radius: 12px; }
	.oic-table tr.oic-event-conflict { border-color: var(--oic-accent); background: var(--oic-conflict); }
	.oic-table tr.oic-event-conflict td { background: transparent; }
	.oic-table td { display: block; border: 0; }
	.oic-table td::before { content: attr(data-label); display: block; font-weight: 700; color: var(--oic-muted); margin-bottom: 4px; }
	.oic-cal-wd-full { display: none; }
	.oic-cal-wd-short { display: inline; }
	.oic-cal-day {
		min-height: 62px;
		padding: 4px 2px 6px;
	}
	.oic-cal-day-num { font-size: 0.8rem; padding: 0; }
	.oic-cal-day.is-today .oic-cal-day-num {
		min-width: 22px;
		height: 22px;
	}
	.oic-cal-day-head .oic-event-conflict-tag { display: none; }
	.oic-cal-events {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 3px;
		padding-top: 2px;
	}
	.oic-cal-chip {
		width: 7px;
		height: 7px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--chip, var(--oic-accent));
		box-shadow: none;
		overflow: hidden;
		pointer-events: none;
	}
	.oic-cal-chip .oic-cal-title,
	.oic-cal-chip .oic-cal-time { display: none; }
	.oic-cal-more { display: none; }
}

@media (max-width: 520px) {
	.oic-stats { grid-template-columns: 1fr; }
	.oic-stats-members { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
	.oic-dashboard-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.oic-brand span { display: none; }
	.oic-login-card { padding: 24px 18px; }
}

@media screen and (max-width: 782px) {
	body.oic-intranet-app.admin-bar .oic-shell,
	body.oic-intranet-app.admin-bar .oic-login {
		margin-top: 46px;
	}
	body.oic-intranet-app.admin-bar .oic-nav {
		top: 46px;
		height: auto;
	}
}

html:has(body.oic-page-pane) {
	height: 100%;
	overflow: hidden;
}
body.oic-page-pane {
	overflow: hidden;
	height: 100vh;
}
body.oic-page-pane .oic-shell {
	min-height: 0;
	height: 100vh;
	max-height: 100vh;
	overflow: hidden;
}
body.oic-page-pane.admin-bar {
	height: calc(100vh - 32px);
}
body.oic-page-pane.admin-bar .oic-shell {
	height: calc(100vh - 32px);
	max-height: calc(100vh - 32px);
}
body.oic-page-pane .oic-main {
	max-width: none;
	padding: 0;
	min-height: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
}
body.oic-page-messenger .oic-msg-admin-err {
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 6;
	margin: 0;
}
@media screen and (max-width: 782px) {
	body.oic-page-pane.admin-bar {
		height: calc(100vh - 46px);
	}
	body.oic-page-pane.admin-bar .oic-shell {
		height: calc(100vh - 46px);
		max-height: calc(100vh - 46px);
	}
}
@media (max-width: 900px) {
	body.oic-page-pane .oic-shell {
		grid-template-rows: auto 1fr;
	}
	body.oic-page-pane .oic-nav {
		height: auto;
		max-height: none;
	}
}

.oic-msg {
	display: grid;
	grid-template-columns: minmax(260px, 320px) 1fr;
	flex: 1;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	background: var(--oic-paper);
	border-top: 1px solid var(--oic-line);
}
.oic-msg-setup {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 48px 24px;
	text-align: center;
	color: var(--oic-muted);
}
.oic-msg-setup h1 { margin: 0; color: var(--oic-navy); }
.oic-msg-list {
	border-right: 1px solid var(--oic-line);
	background: var(--oic-soft-2);
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
	overflow: hidden;
}
.oic-msg-list-head {
	padding: 18px 16px 12px;
	border-bottom: 1px solid var(--oic-line);
	flex-shrink: 0;
}
.oic-msg-list-head h1 {
	margin: 0 0 12px;
	font-size: 1.35rem;
}
.oic-msg-search input {
	width: 100%;
	border: 1px solid var(--oic-line);
	border-radius: 999px;
	padding: 8px 14px;
	background: var(--oic-paper);
	font: inherit;
}
.oic-msg-people {
	overflow-x: hidden;
	overflow-y: auto;
	flex: 1;
	min-height: 0;
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}
.oic-msg-person {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	border: 0;
	background: transparent;
	text-align: left;
	padding: 10px 10px;
	border-radius: 12px;
	cursor: pointer;
	color: inherit;
	font: inherit;
}
.oic-msg-person:hover,
.oic-msg-person.is-active { background: var(--oic-hover); }
.oic-msg-person.is-group { border: 1px solid var(--oic-line); background: var(--oic-paper); margin-bottom: 6px; }
.oic-msg-person.is-unread {
	background: var(--oic-accent-soft);
}
.oic-msg-person.is-unread:hover,
.oic-msg-person.is-unread.is-active {
	background: var(--oic-accent-soft);
}
.oic-msg-person-copy { min-width: 0; flex: 1; }
.oic-msg-person-copy strong,
.oic-msg-thread-head strong {
	display: block;
	font-weight: 600;
	color: var(--oic-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.oic-msg-person.is-unread .oic-msg-person-copy strong {
	font-weight: 700;
}
.oic-msg-person.is-unread .oic-msg-person-copy em {
	color: var(--oic-navy);
	font-weight: 600;
}
.oic-msg-unread {
	margin-left: auto;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--oic-accent);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
body.oic-theme-classic .oic-msg-unread {
	color: var(--oic-navy);
}
.oic-msg-person-copy em,
.oic-msg-thread-head em {
	display: block;
	font-style: normal;
	font-size: var(--oic-fs-sm);
	color: var(--oic-muted);
}
.oic-msg-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	flex: 0 0 40px;
	background: var(--oic-accent-soft);
	color: var(--oic-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 700;
}
.oic-msg-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.oic-msg-avatar.is-small { width: 28px; height: 28px; flex-basis: 28px; font-size: 0.6rem; }
.oic-msg-face {
	position: relative;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
}
.oic-msg-face .oic-msg-avatar { margin: 0; }
.oic-msg-face[data-name]::after {
	content: attr(data-name);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	transform: translateX(-50%) translateY(4px);
	background: var(--oic-navy);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 650;
	line-height: 1.2;
	padding: 5px 8px;
	border-radius: 6px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	box-shadow: var(--oic-shadow);
	z-index: 8;
	transition: opacity 0.12s ease, transform 0.12s ease;
}
.oic-msg-face[data-name]::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% + 2px);
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: var(--oic-navy);
	opacity: 0;
	pointer-events: none;
	z-index: 8;
	transition: opacity 0.12s ease;
}
.oic-msg-face[data-name]:hover::after,
.oic-msg-face[data-name]:focus-visible::after {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}
.oic-msg-face[data-name]:hover::before,
.oic-msg-face[data-name]:focus-visible::before {
	opacity: 1;
}
.oic-msg-thread {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	background: var(--oic-paper);
}
.oic-msg-thread.is-idle .oic-msg-composer { display: none; }
.oic-msg-thread-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--oic-line);
	flex-shrink: 0;
}
.oic-msg-back {
	display: none;
	border: 0;
	background: transparent;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	color: var(--oic-navy);
	padding: 0 4px;
}
.oic-msg-stream {
	flex: 1;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 32px 16px 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}
.oic-msg-day {
	align-self: center;
	font-size: var(--oic-fs-xs);
	color: var(--oic-muted);
	margin: 8px 0;
}
.oic-msg-bubble-row {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	max-width: 78%;
}
.oic-msg-bubble-row.is-mine {
	align-self: flex-end;
	flex-direction: row-reverse;
}
.oic-msg-bubble {
	background: var(--oic-soft);
	color: var(--oic-ink);
	padding: 8px 12px;
	border-radius: 16px 16px 16px 6px;
	white-space: pre-wrap;
	word-break: break-word;
	line-height: 1.4;
}
.oic-msg-bubble-row.is-mine .oic-msg-bubble {
	background: var(--oic-accent);
	color: #fff;
	border-radius: 16px 16px 6px 16px;
}
body.oic-theme-classic .oic-msg-bubble-row.is-mine .oic-msg-bubble {
	color: #10233d;
}
.oic-msg-none { color: var(--oic-muted); text-align: center; margin: auto; }
.oic-msg-composer {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	padding: 12px 16px 16px;
	border-top: 1px solid var(--oic-line);
	flex-shrink: 0;
	background: var(--oic-paper);
}
.oic-msg-composer textarea {
	flex: 1;
	resize: none;
	border: 1px solid var(--oic-line);
	border-radius: 20px;
	padding: 10px 14px;
	font: inherit;
	max-height: 120px;
	background: var(--oic-soft-2);
}
.oic-msg-composer .oic-btn { border-radius: 999px; }
.oic-sql-setup {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.75rem;
	line-height: 1.4;
	width: 100%;
	max-width: 680px;
	margin-top: 16px;
}
.oic-msg-admin-err { margin: 12px 16px; }

@media (max-width: 800px) {
	.oic-msg { grid-template-columns: 1fr; }
	.oic-msg.is-thread .oic-msg-list { display: none; }
	.oic-msg:not(.is-thread) .oic-msg-thread { display: none; }
	.oic-msg-back { display: inline-block; }
	body.oic-page-messenger .oic-main { min-height: 0; }
}

.oic-wiki {
	display: grid;
	grid-template-columns: minmax(260px, 320px) 1fr;
	flex: 1;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	background: var(--oic-paper);
	border-top: 1px solid var(--oic-line);
}
.oic-wiki-list {
	border-right: 1px solid var(--oic-line);
	background: var(--oic-soft-2);
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
	overflow: hidden;
}
.oic-wiki-list-head {
	padding: 18px 16px 12px;
	border-bottom: 1px solid var(--oic-line);
	flex-shrink: 0;
}
.oic-wiki-list-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
.oic-wiki-list-title h1 {
	margin: 0;
	font-size: 1.35rem;
}
.oic-wiki-search input,
.oic-wiki-add-cat input,
.oic-wiki-form input[type="text"],
.oic-wiki-form select {
	width: 100%;
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	padding: 8px 12px;
	background: var(--oic-paper);
	font: inherit;
	color: inherit;
}
.oic-wiki-search input { border-radius: 999px; }
.oic-wiki-add-cat {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}
.oic-wiki-add-cat input { flex: 1; min-width: 0; }
.oic-wiki-tree {
	overflow: auto;
	flex: 1;
	min-height: 0;
	padding: 8px;
	-webkit-overflow-scrolling: touch;
}
.oic-wiki-cat {
	border: 0;
	background: transparent;
	margin: 0 0 6px;
}
.oic-wiki-cat summary {
	list-style: none;
	cursor: pointer;
	font-weight: 700;
	padding: 8px 10px;
	display: flex;
	align-items: center;
	gap: 8px;
	border-radius: 8px;
	color: var(--oic-navy);
	text-transform: uppercase;
}
.oic-wiki-cat summary::-webkit-details-marker { display: none; }
.oic-wiki-cat summary::marker { content: none; }
.oic-wiki-cat summary::before {
	content: "";
	width: 0;
	height: 0;
	border-left: 5px solid currentColor;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	opacity: 0.55;
	flex: 0 0 auto;
}
.oic-wiki-cat[open] summary::before { transform: rotate(90deg); }
.oic-wiki-cat summary:hover { background: var(--oic-hover); }
.oic-wiki-cat-body { padding: 0 0 8px; }
.oic-wiki-grip {
	flex: 0 0 auto;
	border: 0;
	background: transparent;
	color: var(--oic-muted);
	cursor: grab;
	padding: 4px 2px;
	font: inherit;
	font-size: 0.85rem;
	letter-spacing: -2px;
	line-height: 1;
}
.oic-wiki-grip:active { cursor: grabbing; }
.oic-wiki-page {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 2px 0;
	padding-left: 18px;
	border-radius: 8px;
}
.oic-wiki-page[hidden] { display: none !important; }
.oic-wiki-pages.is-drop-in { background: var(--oic-hover); border-radius: 8px; }
.oic-wiki-cat.is-drop-before,
.oic-wiki-page.is-drop-before { box-shadow: inset 0 2px 0 var(--oic-accent); }
.oic-wiki-cat.is-drop-after,
.oic-wiki-page.is-drop-after { box-shadow: inset 0 -2px 0 var(--oic-accent); }
.oic-wiki-cat.is-dragging,
.oic-wiki-page.is-dragging { opacity: 0.45; }
.oic-wiki-sort-status {
	min-height: 1rem;
	margin: 8px 0 0;
	color: var(--oic-muted);
	font-size: var(--oic-fs-xs);
}
.oic-wiki-link {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0px 10px;
	border-radius: 8px;
	text-decoration: none;
	color: var(--oic-accent);
}
.oic-wiki-doc {
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
	opacity: 0.85;
}
.oic-wiki-link.is-active .oic-wiki-doc { opacity: 1; }
.oic-wiki-link:hover,
.oic-wiki-link.is-active { background: var(--oic-hover); }
.oic-wiki-link.is-active { font-weight: 700; color: var(--oic-navy); }
.oic-wiki-link[hidden],
.oic-wiki-cat[hidden] { display: none !important; }
.oic-wiki-empty {
	margin: 4px 0 8px 28px;
	color: var(--oic-accent);
	font-size: var(--oic-fs-sm);
}
.oic-wiki-cat-body .oic-link-button {
	margin: 4px 0 0 28px;
	font-size: var(--oic-fs-xs);
}
.oic-wiki-read {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	background: var(--oic-paper);
}
.oic-wiki-read-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border-bottom: 1px solid var(--oic-line);
	flex-shrink: 0;
}
.oic-wiki-read-titles { min-width: 0; flex: 1; }
.oic-wiki-read-head strong {
	display: block;
	font-family: var(--oic-serif);
	font-size: 1.25rem;
	font-weight: 650;
	color: var(--oic-navy);
	line-height: 1.25;
}
.oic-wiki-read-head em {
	display: block;
	margin-top: 2px;
	font-style: normal;
	color: var(--oic-muted);
	font-size: var(--oic-fs-sm);
}
.oic-wiki-back {
	display: none;
	border: 0;
	background: transparent;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	color: var(--oic-navy);
	padding: 0 4px;
	text-decoration: none;
}
.oic-wiki-scroll {
	flex: 1;
	min-height: 0;
	overflow: auto;
	padding: 28px 32px 40px;
	-webkit-overflow-scrolling: touch;
}
.oic-wiki-body {
	max-width: 44rem;
	font-family: var(--oic-serif);
	font-size: 1.05rem;
	line-height: 1.7;
}
.oic-wiki-body h2,
.oic-wiki-body h3,
.oic-wiki-body h4 {
	font-family: var(--oic-serif);
	color: var(--oic-navy);
	line-height: 1.25;
	margin: 1.4rem 0 0.5rem;
}
.oic-wiki-body p { margin: 0 0 0.9rem; }
.oic-wiki-body ul,
.oic-wiki-body ol { margin: 0 0 0.9rem; padding-left: 1.25rem; }
.oic-wiki-body blockquote {
	margin: 0 0 0.9rem;
	padding-left: 14px;
	border-left: 3px solid var(--oic-gold);
	color: var(--oic-navy);
}
.oic-wiki-body a { color: var(--oic-navy); }
.oic-wiki-body img { max-width: 100%; height: auto; }
.oic-wiki-body iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 480px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	background: #fff;
}
.oic-wiki-idle {
	margin: auto;
	text-align: center;
	color: var(--oic-muted);
	padding: 32px 20px;
}
.oic-wiki-form { max-width: 46rem; }
.oic-wiki-form label {
	display: block;
	margin: 14px 0 6px;
	font-weight: 650;
	font-size: var(--oic-fs-sm);
	color: var(--oic-navy);
}
.oic-wiki-read.is-editing { overflow: auto; }
.oic-wiki-read.is-editing .oic-wiki-read-head {
	position: sticky;
	top: 0;
	background: var(--oic-paper);
	z-index: 3;
}
.oic-wiki-read.is-editing .oic-wiki-scroll { overflow: visible; }
.oic-wiki-form .wp-editor-wrap {
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	background: #fff;
}
.oic-wiki-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}
.oic-wiki-delete { margin-top: 28px; }
@media (max-width: 800px) {
	.oic-wiki { grid-template-columns: 1fr; }
	.oic-wiki.is-open .oic-wiki-list { display: none; }
	.oic-wiki:not(.is-open) .oic-wiki-read { display: none; }
	.oic-wiki-back { display: inline-block; }
	.oic-wiki-scroll { padding: 20px 16px 32px; }
}

/* ==========================================================================
   Intranet forms (ACF): grid layout, inputs, buttons — v1.1.71
   ========================================================================== */
.oic-form-card .acf-form > .acf-fields,
.oic-form-card .acf-form .acf-fields.acf-form-fields {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 22px 20px;
}
.oic-form-card .acf-form > .acf-fields::after,
.oic-form-card .acf-form .acf-fields.acf-form-fields::after { display: none; }
.oic-form-card .acf-fields > .acf-field {
	grid-column: span 6;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	min-width: 0;
}

/* Side-by-side pairs (span 3 = half, span 2 = third) */
.oic-form-card .acf-field[data-name="oic_mission"],
.oic-form-card .acf-field[data-name="oic_vision"],
.oic-form-card .acf-field[data-name="oic_ministry_coordinator"],
.oic-form-card .acf-field[data-name="oic_ministry_assistant"],
.oic-form-card .acf-field[data-name="oic_event_start"],
.oic-form-card .acf-field[data-name="oic_event_end"],
.oic-form-card .acf-field[data-name="oic_event_repeat_until"],
.oic-form-card .acf-field[data-name="oic_event_location"],
.oic-form-card .acf-field[data-name="oic_event_cost"],
.oic-form-card .acf-field[data-name="oic_event_promotion"],
.oic-form-card .acf-field[data-name="oic_event_poster"],
.oic-form-card .acf-field[data-name="oic_hosted_ministry"],
.oic-form-card .acf-field[data-name="oic_finance_event"],
.oic-form-card .acf-field[data-name="oic_finance_ministry"],
.oic-form-card .acf-field[data-name="oic_resource_category"],
.oic-form-card .acf-field[data-name="oic_visibility"],
.oic-form-card .acf-field[data-name="email_address"],
.oic-form-card .acf-field[data-name="contact_number"],
.oic-form-card .acf-field[data-name="accepted_jesus"],
.oic-form-card .acf-field[data-name="baptized"],
.oic-form-card .acf-field[data-name="date_of_salvation"],
.oic-form-card .acf-field[data-name="previous_church_affiliation"],
.oic-form-card .acf-field[data-name="member_since"],
.oic-form-card .acf-field[data-name="spouse_firstname"],
.oic-form-card .acf-field[data-name="spouse_lastname"] { grid-column: span 3; }

.oic-form-card .acf-field[data-name="last_name"],
.oic-form-card .acf-field[data-name="first_name"],
.oic-form-card .acf-field[data-name="middle"],
.oic-form-card .acf-field[data-name="date_of_birth"],
.oic-form-card .acf-field[data-name="gender"],
.oic-form-card .acf-field[data-name="marital_status"],
.oic-form-card .acf-field[data-name="suburb"],
.oic-form-card .acf-field[data-name="post_code"],
.oic-form-card .acf-field[data-name="state"],
.oic-form-card .acf-field[data-name="oic_total_income"],
.oic-form-card .acf-field[data-name="oic_total_expenses"],
.oic-form-card .acf-field[data-name="oic_net_balance"] { grid-column: span 2; }

/* Labels + help text */
.oic-form-card .acf-field .acf-label { margin: 0 0 8px; }
.oic-form-card .acf-field .acf-label label {
	font-size: var(--oic-fs-sm);
	font-weight: 600;
	color: var(--oic-ink);
	margin: 0;
}
.oic-form-card .acf-field .acf-label .description,
.oic-form-card .acf-field .acf-input > .description {
	margin-top: 3px;
	font-size: var(--oic-fs-xs);
	line-height: 1.45;
	color: var(--oic-muted);
}
.oic-form-card .acf-required { color: var(--oic-danger); }

/* Inputs */
.oic-form-card .acf-field input[type="text"],
.oic-form-card .acf-field input[type="email"],
.oic-form-card .acf-field input[type="number"],
.oic-form-card .acf-field input[type="url"],
.oic-form-card .acf-field input[type="tel"],
.oic-form-card .acf-field input[type="password"],
.oic-form-card .acf-field input[type="search"],
.oic-form-card .acf-field textarea,
.oic-form-card .acf-field select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	background-color: var(--oic-paper);
	color: var(--oic-ink);
	font: inherit;
	font-size: var(--oic-fs);
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.oic-form-card .acf-field textarea { min-height: 96px; resize: vertical; }
.oic-form-card .acf-field select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b786f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.oic-form-card .acf-field input:focus,
.oic-form-card .acf-field textarea:focus,
.oic-form-card .acf-field select:focus,
.oic-form-card .select2-container--focus .select2-selection,
.oic-form-card .select2-container--open .select2-selection {
	outline: none;
	border-color: var(--oic-accent) !important;
	box-shadow: 0 0 0 3px var(--oic-accent-soft) !important;
}
.oic-form-card .acf-field input[readonly],
.oic-form-card .acf-field input[disabled] {
	background: var(--oic-soft-2);
	color: var(--oic-muted);
}

/* Select2 (Hosted ministry, leaders, member, category) */
.oic-form-card .select2-container { width: 100% !important; }
.oic-form-card .select2-container .select2-selection--single,
.oic-form-card .select2-container .select2-selection--multiple {
	min-height: 44px;
	border: 1px solid var(--oic-line) !important;
	border-radius: 10px !important;
	background: var(--oic-paper);
}
.oic-form-card .select2-container .select2-selection--single { height: 44px; }
.oic-form-card .acf-field .select2-search__field,
.oic-form-card .acf-field .select2-search__field:focus {
	min-height: 0;
	height: 30px;
	margin-top: 4px;
	padding: 0 4px;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	background: transparent;
	font-size: var(--oic-fs);
}
.oic-form-card .wp-picker-container .wp-color-result.button { border-radius: 10px; min-height: 36px; border-color: var(--oic-line); }
.oic-form-card .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 42px;
	padding-left: 12px;
	padding-right: 36px;
	color: var(--oic-ink);
}
.oic-form-card .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; right: 8px; }
.oic-form-card .select2-container .select2-selection--multiple { padding: 4px 8px; }
.oic-form-card .select2-container .select2-selection__placeholder { color: var(--oic-muted); }
.oic-form-card .select2-container .select2-selection__choice {
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--oic-accent-soft) !important;
	padding: 2px 10px !important;
	margin-top: 4px !important;
}

/* Radios / checkboxes as tidy rows */
.oic-form-card .acf-radio-list,
.oic-form-card .acf-checkbox-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 !important;
	border: 0 !important;
}
.oic-form-card .acf-radio-list li,
.oic-form-card .acf-checkbox-list li { margin: 0 !important; float: none !important; }
.oic-form-card .acf-radio-list label,
.oic-form-card .acf-checkbox-list label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--oic-line);
	border-radius: 999px;
	background: var(--oic-paper);
	font-size: var(--oic-fs-sm);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.oic-form-card .acf-radio-list label.selected,
.oic-form-card .acf-checkbox-list label.selected,
.oic-form-card .acf-radio-list label:has(input:checked),
.oic-form-card .acf-checkbox-list label:has(input:checked) {
	border-color: var(--oic-accent);
	background: var(--oic-accent-soft);
}
.oic-form-card .acf-radio-list input,
.oic-form-card .acf-checkbox-list input { margin: 0; accent-color: var(--oic-accent); }

/* Rich text editors */
.oic-form-card .acf-editor-wrap .wp-editor-container {
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	overflow: hidden;
}
.oic-form-card .acf-editor-wrap .mce-toolbar-grp,
.oic-form-card .acf-editor-wrap div.mce-toolbar-grp > div { background: var(--oic-soft-2) !important; border-color: var(--oic-line) !important; }
.oic-form-card .acf-editor-wrap .mce-statusbar { border-color: var(--oic-line) !important; }

/* Image / file pickers: dashed drop zone */
.oic-form-card .acf-image-uploader:not(.has-value) .hide-if-value p,
.oic-form-card .acf-file-uploader:not(.has-value) .hide-if-value p {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	min-height: 44px;
	padding: 10px 10px 10px 14px;
	border: 1px dashed var(--oic-line);
	border-radius: 10px;
	background: var(--oic-soft-2);
	color: var(--oic-muted);
	font-size: var(--oic-fs-sm);
}
.oic-form-card .acf-gallery {
	border: 1px solid var(--oic-line) !important;
	border-radius: 10px;
	overflow: hidden;
	height: 260px !important;
	background: var(--oic-soft-2);
}
.oic-form-card .acf-gallery .acf-gallery-toolbar {
	background: var(--oic-paper);
	border-top: 1px solid var(--oic-line);
}
.oic-form-card .acf-gallery .acf-gallery-toolbar select { width: auto; min-height: 36px; padding-top: 6px; padding-bottom: 6px; font-size: var(--oic-fs-sm); }

/* Repeaters (finance income/expenses) */
.oic-form-card .acf-repeater .acf-table {
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.oic-form-card .acf-repeater .acf-table > thead > tr > th {
	background: var(--oic-soft-2);
	border-color: var(--oic-line);
	padding: 10px 12px;
	font-size: var(--oic-fs-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--oic-muted);
}
.oic-form-card .acf-repeater .acf-table > tbody > tr > td { border-color: var(--oic-line); padding: 10px 12px; }
.oic-form-card .acf-repeater .acf-row-handle { background: var(--oic-soft-2); }
.oic-form-card .acf-repeater .acf-actions { margin-top: 10px; }

/* Buttons inside fields: secondary outline pills */
.oic-form-card .acf-field .acf-button,
.oic-form-card .acf-field .button:not(.wp-color-result):not(.wp-picker-clear):not(.ed_button) {
	display: inline-flex !important;
	align-items: center;
	min-height: 36px;
	padding: 6px 16px !important;
	border: 1px solid var(--oic-navy) !important;
	border-radius: 999px !important;
	background: var(--oic-paper) !important;
	color: var(--oic-navy) !important;
	font: inherit;
	font-size: var(--oic-fs-sm) !important;
	font-weight: 600;
	line-height: 1.2 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	white-space: nowrap;
}
.oic-form-card .acf-field .acf-button:hover,
.oic-form-card .acf-field .button:not(.wp-color-result):not(.wp-picker-clear):not(.ed_button):hover { background: var(--oic-hover) !important; }

/* Submit bar */
.oic-form-card .acf-form-submit {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--oic-line);
}
.oic-form-card .acf-form-submit input[type="submit"],
.oic-form-card .acf-form-submit .acf-button {
	min-height: 46px;
	padding: 12px 28px !important;
	font: inherit;
	font-size: var(--oic-fs) !important;
	font-weight: 600;
	cursor: pointer;
	transition: opacity .15s;
}
.oic-form-card .acf-form-submit input[type="submit"]:hover { opacity: .9; }
.oic-form-card .acf-form-submit .acf-spinner { order: -1; }

@media (max-width: 700px) {
	.oic-form-card .acf-fields > .acf-field { grid-column: 1 / -1 !important; }
	.oic-form-card .acf-form-submit input[type="submit"] { width: 100%; }
}
/* Keep inputs aligned across a row when only one field has help text */
.oic-form-card .acf-fields > .acf-field:not(.acf-hidden) { display: flex; flex-direction: column; }
.oic-form-card .acf-fields > .acf-field > .acf-input { margin-top: auto; }

/* WYSIWYG Visual / Code tabs — v1.1.72 */
.oic-form-card .acf-editor-wrap .wp-editor-tools { padding: 0; margin-bottom: -1px; position: relative; z-index: 1; }
.oic-form-card .acf-editor-wrap .wp-editor-tabs { float: right; display: flex; gap: 4px; }
.oic-form-card .acf-editor-wrap .wp-switch-editor {
	float: none;
	margin: 0;
	height: auto;
	padding: 6px 14px;
	border: 1px solid var(--oic-line);
	border-bottom-color: transparent;
	border-radius: 8px 8px 0 0;
	background: var(--oic-soft);
	color: var(--oic-muted);
	font: inherit;
	font-size: var(--oic-fs-xs);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
}
.oic-form-card .acf-editor-wrap.tmce-active .switch-tmce,
.oic-form-card .acf-editor-wrap.html-active .switch-html {
	background: var(--oic-soft-2);
	color: var(--oic-ink);
	border-bottom-color: var(--oic-soft-2);
}
.oic-form-card .acf-editor-wrap .wp-editor-container { border-top-right-radius: 0; }
.oic-form-card .acf-editor-wrap .quicktags-toolbar {
	background: var(--oic-soft-2);
	border-bottom: 1px solid var(--oic-line);
	padding: 6px 8px;
}
.oic-form-card .acf-editor-wrap .quicktags-toolbar .ed_button {
	min-height: 28px;
	margin: 2px;
	padding: 2px 10px;
	border: 1px solid var(--oic-line);
	border-radius: 6px;
	background: var(--oic-paper);
	color: var(--oic-ink);
	font-size: var(--oic-fs-xs);
}
.oic-form-card .acf-field textarea.wp-editor-area {
	min-height: 260px;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	line-height: 1.6;
}

/* ==========================================================================
   Events page redesign — v1.1.73
   ========================================================================== */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}
.oic-ev { --oic-busy: #e9b949; }

/* Shared date tile */
.oic-ev-date {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 58px;
	padding: 7px 0 8px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--chip, var(--oic-accent)) 12%, var(--oic-paper));
	color: var(--oic-ink);
	text-decoration: none;
	line-height: 1;
	box-shadow: inset 0 3px 0 var(--chip, var(--oic-accent));
}
.oic-ev-date-wd,
.oic-ev-date-m {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-ev-date-d {
	margin: 4px 0 3px;
	font-family: var(--oic-serif);
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--oic-navy);
}

/* Coming up */
.oic-ev-coming { margin: 0 0 24px; }
.oic-ev-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 12px;
}
.oic-ev-section-head h2 {
	margin: 0;
	font-size: var(--oic-fs-xs);
	font-family: var(--oic-font);
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-ev-section-head a {
	font-size: var(--oic-fs-sm);
	font-weight: 600;
	color: var(--oic-accent);
	text-decoration: none;
}
.oic-ev-coming-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.oic-ev-coming-card {
	display: flex;
	gap: 14px;
	align-items: center;
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	color: var(--oic-ink);
	text-decoration: none;
	transition: transform .15s, box-shadow .15s, border-color .15s;
}
.oic-ev-coming-card:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--chip) 45%, var(--oic-line));
}
.oic-ev-coming-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.oic-ev-coming-body strong {
	font-size: var(--oic-fs);
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.oic-ev-when {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--oic-accent);
}
.oic-ev-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 6px;
	margin: 0;
	font-size: var(--oic-fs-sm);
	color: var(--oic-muted);
	min-width: 0;
}
.oic-ev-coming-body .oic-ev-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Calendar card */
.oic-ev-card {
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	overflow: hidden;
}
.oic-ev-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	padding: 18px 20px 14px;
}
.oic-ev .oic-cal-nav { display: flex; align-items: center; gap: 10px; margin: 0; }
.oic-ev .oic-cal-nav h2 { margin: 0 4px; min-width: 190px; text-align: center; font-size: 1.6rem; }
.oic-ev-icon-btn {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--oic-line);
	border-radius: 999px;
	background: var(--oic-paper);
	color: var(--oic-navy);
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none;
	transition: background .15s, border-color .15s;
}
.oic-ev-icon-btn:hover { background: var(--oic-hover); border-color: var(--oic-navy); }

.oic-ev-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
.oic-ev-filters select,
.oic-ev-filters input[type="month"] {
	min-height: 38px;
	padding: 7px 14px;
	border: 1px solid var(--oic-line);
	border-radius: 999px;
	background-color: var(--oic-paper);
	color: var(--oic-ink);
	font: inherit;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
}
.oic-ev-filters select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b786f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
}
.oic-ev-filters select:focus,
.oic-ev-filters input:focus { outline: none; border-color: var(--oic-accent); box-shadow: 0 0 0 3px var(--oic-accent-soft); }

.oic-ev-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 20px;
	padding: 0 20px 16px;
}
.oic-ev-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	font-size: var(--oic-fs-sm);
	color: var(--oic-muted);
}
.oic-ev-stats strong { color: var(--oic-ink); }
.oic-ev-stats a { color: var(--oic-accent); font-weight: 600; text-decoration: none; }
.oic-ev-legend { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.oic-ev-legend a,
.oic-ev-legend-busy {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 11px;
	border: 1px solid var(--oic-line);
	border-radius: 999px;
	background: var(--oic-paper);
	color: var(--oic-ink);
	font-size: var(--oic-fs-xs);
	font-weight: 600;
	text-decoration: none;
	transition: background .15s, border-color .15s, opacity .15s;
}
.oic-ev-legend a .oic-cal-swatch { background: var(--chip); }
.oic-ev-legend a:hover { border-color: var(--chip); }
.oic-ev-legend a.is-active {
	border-color: var(--chip);
	background: color-mix(in srgb, var(--chip) 14%, var(--oic-paper));
}
.oic-ev-legend a.is-dim { opacity: .55; }
.oic-ev-legend-busy { cursor: help; color: var(--oic-muted); border-style: dashed; }
.oic-ev-busy-swatch {
	width: 10px; height: 10px;
	border-radius: 3px;
	background: color-mix(in srgb, var(--oic-busy) 35%, var(--oic-paper));
	box-shadow: inset 0 2px 0 var(--oic-busy);
}

/* Grid inside card */
.oic-ev .oic-cal-wrap {
	border: 0;
	border-top: 1px solid var(--oic-line);
	border-radius: 0;
	box-shadow: none;
}
.oic-ev .oic-cal { background: var(--oic-line); }
.oic-ev .oic-cal-wd {
	background: var(--oic-soft-2);
	padding: 10px 8px;
	color: var(--oic-muted);
	letter-spacing: .1em;
}
.oic-ev .oic-cal-day {
	min-height: 122px;
	padding: 8px;
	transition: background .15s;
}
.oic-ev .oic-cal-day:hover { background: var(--oic-hover); }
.oic-ev .oic-cal-day.is-weekend:not(.is-conflict) { background: var(--oic-paper); }
.oic-ev .oic-cal-day.is-weekend:not(.is-conflict):hover { background: var(--oic-hover); }
.oic-ev .oic-cal-day.is-outside,
.oic-ev .oic-cal-day.is-outside.is-weekend:not(.is-conflict) { background: var(--oic-soft-2); }
.oic-ev .oic-cal-day.is-outside .oic-cal-day-num { color: color-mix(in srgb, var(--oic-muted) 70%, transparent); font-weight: 500; }
.oic-ev .oic-cal-day.is-past:not(.is-outside) .oic-cal-day-num { color: var(--oic-muted); }
.oic-ev .oic-cal-day.is-conflict {
	background: color-mix(in srgb, var(--oic-busy) 12%, var(--oic-paper));
	box-shadow: inset 0 3px 0 var(--oic-busy);
}
.oic-ev .oic-cal-day.is-today { box-shadow: none; background: color-mix(in srgb, var(--oic-accent) 6%, var(--oic-paper)); }
.oic-ev .oic-cal-day.is-today.is-conflict { box-shadow: inset 0 3px 0 var(--oic-busy); }
.oic-ev .oic-cal-day-num {
	min-width: 28px;
	height: 28px;
	padding: 0 6px;
	border-radius: 999px;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--oic-ink);
}
.oic-ev .oic-cal-day-num:hover { background: var(--oic-soft); }
.oic-ev .oic-cal-day.is-today .oic-cal-day-num {
	min-width: 28px;
	height: 28px;
	background: var(--oic-accent);
	color: #fff;
	font-weight: 700;
}
.oic-ev .oic-cal-day-head .oic-event-conflict-tag {
	padding: 1px 7px;
	background: color-mix(in srgb, var(--oic-busy) 30%, var(--oic-paper));
	color: var(--oic-ink);
	font-size: 0.6875rem;
}
.oic-ev .oic-cal-chip {
	padding: 4px 7px;
	border-left: 3px solid var(--chip, var(--oic-accent));
	border-radius: 3px 7px 7px 3px;
	background: color-mix(in srgb, var(--chip, var(--oic-accent)) 13%, var(--oic-paper));
	box-shadow: none;
	color: var(--oic-ink);
	transition: background .15s;
}
.oic-ev .oic-cal-chip:hover { background: color-mix(in srgb, var(--chip, var(--oic-accent)) 24%, var(--oic-paper)); }
.oic-ev .oic-cal-day.is-past .oic-cal-chip { opacity: .7; }
.oic-ev .oic-cal-time { color: color-mix(in srgb, var(--oic-ink) 60%, transparent); }
.oic-ev .oic-cal-title { font-weight: 600; }
.oic-ev .oic-cal-more { color: var(--oic-accent); }

/* Agenda (list view) */
.oic-ev-list-filters {
	margin-bottom: 22px;
	padding: 12px 14px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
}
.oic-ev-count { margin-left: auto; font-size: var(--oic-fs-sm); color: var(--oic-muted); font-weight: 600; }
.oic-ev-group { margin-bottom: 28px; }
.oic-ev-group-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-size: 1.15rem;
}
.oic-ev-group-head::after { content: ""; flex: 1; height: 1px; background: var(--oic-line); }
.oic-ev-group-head span {
	order: 2;
	padding: 1px 9px;
	border-radius: 999px;
	background: var(--oic-soft);
	font-family: var(--oic-font);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	color: var(--oic-muted);
}
.oic-ev-group-head::after { order: 3; }
.oic-ev-rows { display: flex; flex-direction: column; gap: 10px; }
.oic-ev-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	transition: border-color .15s;
}
.oic-ev-row:hover { border-color: color-mix(in srgb, var(--chip) 45%, var(--oic-line)); }
.oic-ev-row.is-past { opacity: .62; box-shadow: none; }
.oic-ev-row.is-past:hover { opacity: 1; }
.oic-ev-row-main { flex: 1; min-width: 0; }
.oic-ev-row-main h3 {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0 0 4px;
	font-family: var(--oic-font);
	font-size: 1.05rem;
	font-weight: 700;
}
.oic-ev-row-main h3 a { color: var(--oic-ink); text-decoration: none; }
.oic-ev-row-main h3 a:hover { color: var(--oic-accent); }
.oic-ev-swatch { width: 9px; height: 9px; border-radius: 999px; background: var(--chip); flex: 0 0 auto; }
.oic-ev-sep { color: var(--oic-line); margin: 0 2px; }
.oic-ev-sub { margin: 4px 0 0; font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-ev-pill {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--oic-soft);
	color: var(--oic-muted);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: .03em;
	white-space: nowrap;
}
.oic-ev-pill-soon { background: var(--oic-accent-soft); color: var(--oic-accent); }
.oic-ev-pill-busy { background: color-mix(in srgb, var(--oic-busy) 28%, var(--oic-paper)); color: var(--oic-ink); }
.oic-ev-row-actions { display: flex; gap: 6px; flex: 0 0 auto; }
.oic-ev-row-actions .oic-btn { border-color: var(--oic-line); }
.oic-ev-row-actions .oic-btn:hover { border-color: var(--oic-navy); background: var(--oic-hover); }
.oic-ev-empty { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

@media (max-width: 1100px) {
	.oic-ev-coming-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.oic-ev-coming-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin: 0 -16px;
		padding: 2px 16px 10px;
	}
	.oic-ev-coming-card { flex: 0 0 250px; width: 250px; scroll-snap-align: start; }
	.oic-ev-toolbar { padding: 14px; }
	.oic-ev .oic-cal-nav { width: 100%; justify-content: space-between; }
	.oic-ev .oic-cal-nav h2 { min-width: 0; font-size: 1.25rem; }
	.oic-ev-filters { width: 100%; }
	.oic-ev-filters select,
	.oic-ev-filters input[type="month"] { flex: 1 1 140px; min-width: 0; }
	.oic-ev-meta-row { padding: 0 14px 14px; }
	.oic-ev .oic-cal-day { min-height: 58px; padding: 4px; }
	.oic-ev .oic-cal-day-num { min-width: 24px; height: 24px; font-size: 0.8rem; padding: 0; }
	.oic-ev .oic-cal-day.is-today .oic-cal-day-num { min-width: 24px; height: 24px; }
	.oic-ev .oic-cal-chip { box-shadow: none; background: var(--chip); padding: 0; }
	.oic-ev-row { flex-wrap: wrap; padding: 12px; gap: 12px; }
	.oic-ev-row-main { flex: 1 1 calc(100% - 80px); }
	.oic-ev-row-actions { width: 100%; padding-left: 70px; }
	.oic-ev-count { width: 100%; margin-left: 0; }
}

.oic-ev, .oic-ev-coming, .oic-ev-card { min-width: 0; max-width: 100%; }
.oic-ev-coming { overflow: hidden; }
@media (max-width: 700px) {
	.oic-ev .oic-cal-chip { border-left: 0; border-radius: 999px; }
}
.oic-main { min-width: 0; }
.oic-ev-coming { contain: inline-size; }

/* Per-date evaluations for repeating events — v1.1.74 */
.oic-eval-day {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: -4px 0 14px;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--oic-accent-soft);
	color: var(--oic-ink);
	font-weight: 600;
	font-size: var(--oic-fs-sm);
}
.oic-eval-day span {
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--oic-accent);
}
.oic-eval-dates { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--oic-line); }
.oic-eval-dates h3 {
	margin: 0 0 10px;
	font-family: var(--oic-font);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-eval-dates ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.oic-eval-dates a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	color: var(--oic-ink);
	text-decoration: none;
	transition: background .15s, border-color .15s;
}
.oic-eval-dates a:hover { background: var(--oic-hover); border-color: var(--oic-accent); }
.oic-eval-dates li.is-current a { border-color: var(--oic-accent); background: var(--oic-accent-soft); }
.oic-eval-dates-day { font-weight: 600; font-size: var(--oic-fs-sm); }
.oic-eval-dates-day em {
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--oic-accent);
	color: #fff;
	font-style: normal;
	font-size: 0.6875rem;
	font-weight: 700;
}
.oic-eval-dates-meta { font-size: var(--oic-fs-sm); color: var(--oic-muted); white-space: nowrap; }

/* Email notification settings — v1.1.75 */
.oic-notify-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.oic-notify-head h2 { margin-bottom: 4px; }
.oic-notify-status {
	flex: 0 0 auto;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--oic-soft);
	color: var(--oic-muted);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.oic-notify-status.is-on { background: var(--oic-accent-soft); color: var(--oic-accent); }
.oic-notify-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 14px 0 4px;
	padding: 0;
	list-style: none;
}
.oic-notify-facts li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 180px;
	padding: 10px 14px;
	border-radius: 12px;
	background: var(--oic-soft-2);
	border: 1px solid var(--oic-line);
}
.oic-notify-facts span { font-size: var(--oic-fs-xs); color: var(--oic-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.oic-notify-facts strong { font-size: var(--oic-fs-sm); }
.oic-notify-rules { margin: 12px 0 6px; padding: 0 0 0 18px; color: var(--oic-muted); font-size: var(--oic-fs-sm); line-height: 1.55; }
.oic-notify-rules strong { color: var(--oic-ink); }
.oic-notify-toggle { padding: 12px 14px; border: 1px solid var(--oic-line); border-radius: 12px; background: var(--oic-paper); }
.oic-recipients { margin: 6px 0 4px; }
.oic-recipients-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 8px; }
.oic-recipients-count { font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-recipients-tools { margin-left: auto; display: flex; gap: 12px; }
.oic-link-btn { padding: 0; border: 0; background: none; color: var(--oic-accent); font: inherit; font-size: var(--oic-fs-sm); font-weight: 600; cursor: pointer; }
.oic-link-btn:hover { text-decoration: underline; }
.oic-recipient-group { margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
.oic-recipient-group legend { padding: 0; margin-bottom: 6px; font-size: var(--oic-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--oic-muted); }
.oic-recipient-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.oic-recipient {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 9px 12px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	background: var(--oic-paper);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.oic-recipient:hover { border-color: var(--oic-accent); }
.oic-recipient:has(input:checked) { border-color: var(--oic-accent); background: var(--oic-accent-soft); }
.oic-recipient input { margin: 0; accent-color: var(--oic-accent); flex: 0 0 auto; }
.oic-recipient-avatar {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: var(--oic-soft);
	color: var(--oic-navy);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
}
.oic-recipient-text { display: flex; flex-direction: column; min-width: 0; }
.oic-recipient-text strong { font-size: var(--oic-fs-sm); }
.oic-recipient-text em { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oic-notify-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.oic-notify-preview { margin-left: auto; font-size: var(--oic-fs-sm); font-weight: 600; color: var(--oic-accent); text-decoration: none; }

/* ==========================================================================
   Dashboard, Ministries, Members, Resources — v1.1.76
   ========================================================================== */

/* ---------- Dashboard ---------- */
.oic-dash-head h1 { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem); }
.oic-dash-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}
.oic-dash-stats a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	color: inherit;
	text-decoration: none;
	transition: transform .15s, border-color .15s;
}
.oic-dash-stats a:hover { transform: translateY(-2px); border-color: var(--oic-accent); }
.oic-dash-stat-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--oic-accent-soft);
}
.oic-dash-stat-icon .oic-stat-icon { width: 22px; height: 22px; color: var(--oic-accent); }
.oic-dash-stats strong {
	display: block;
	font-family: var(--oic-serif);
	font-size: 1.75rem;
	line-height: 1;
	color: var(--oic-navy);
}
.oic-dash-stats em { display: block; margin-top: 4px; font-style: normal; font-size: var(--oic-fs-sm); color: var(--oic-muted); }

.oic-dash-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}
.oic-dash-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.oic-dash-grid .oic-card { margin: 0; }
.oic-card-head h2 { display: flex; align-items: center; gap: 8px; }
.oic-dash-h-icon { width: 20px; height: 20px; color: var(--oic-accent); }
.oic-dash-agenda { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.oic-dash-agenda a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px;
	border-radius: 14px;
	color: inherit;
	text-decoration: none;
	transition: background .15s;
}
.oic-dash-agenda a:hover { background: var(--oic-hover); }
.oic-dash-agenda .oic-ev-date { width: 54px; }
.oic-dash-agenda-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.oic-dash-agenda-body strong { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: 1rem; }
.oic-dash-agenda-body em { display: flex; align-items: center; gap: 6px; font-style: normal; font-size: var(--oic-fs-sm); color: var(--oic-muted); }

.oic-dash-actions h2 { margin-bottom: 12px; }
.oic-dash-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.oic-dash-action-grid a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	color: inherit;
	text-decoration: none;
	transition: border-color .15s, background .15s;
}
.oic-dash-action-grid a:hover { border-color: var(--oic-accent); background: var(--oic-hover); }
.oic-dash-action-grid .oic-stat-icon { flex: 0 0 auto; width: 20px; height: 20px; }
.oic-dash-action-grid span { display: flex; flex-direction: column; min-width: 0; }
.oic-dash-action-grid strong { font-size: var(--oic-fs-sm); }
.oic-dash-action-grid em { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.oic-dash-bday-list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.oic-dash-bday-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 8px;
	border-radius: 12px;
}
.oic-dash-bday-list li.is-today { background: var(--oic-accent-soft); }
.oic-dash-bday-list li.is-past { opacity: .55; }
.oic-dash-bday-day {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--oic-soft);
	font-weight: 700;
	font-size: var(--oic-fs-sm);
	color: var(--oic-navy);
}
.oic-dash-bday-list li.is-today .oic-dash-bday-day { background: var(--oic-accent); color: #fff; }
.oic-dash-bday-name { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.oic-dash-bday-name strong { font-size: var(--oic-fs-sm); }
.oic-dash-bday-name em { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); }

/* ---------- Ministries ---------- */
.oic-min-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
	gap: 18px;
}
.oic-min-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	overflow: hidden;
	transition: transform .15s, border-color .15s;
}
.oic-min-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--chip) 45%, var(--oic-line)); }
.oic-min-cover {
	position: relative;
	display: grid;
	place-items: center;
	height: 120px;
	background:
		radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--chip) 35%, transparent), transparent 55%),
		linear-gradient(135deg, color-mix(in srgb, var(--chip) 22%, var(--oic-paper)), color-mix(in srgb, var(--chip) 8%, var(--oic-paper)));
	border-bottom: 3px solid var(--chip);
	text-decoration: none;
	overflow: hidden;
}
.oic-min-cover img { width: 100%; height: 100%; object-fit: cover; }
.oic-min-cover.has-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, .18));
}
.oic-min-cover span {
	font-family: var(--oic-serif);
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: color-mix(in srgb, var(--chip) 70%, var(--oic-navy));
	opacity: .85;
}
.oic-min-body { flex: 1; padding: 16px 18px 6px; }
.oic-min-body h2 { margin: 0 0 6px; font-size: 1.3rem; }
.oic-min-body h2 a { color: var(--oic-ink); text-decoration: none; }
.oic-min-body h2 a:hover { color: var(--oic-accent); }
.oic-min-mission {
	margin: 0 0 14px;
	font-size: var(--oic-fs-sm);
	line-height: 1.55;
	color: var(--oic-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.oic-min-people { display: flex; flex-direction: column; gap: 12px; padding-top: 12px; border-top: 1px solid var(--oic-line); }
.oic-min-lead { display: flex; align-items: center; gap: 10px; }
.oic-min-avatar {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--chip) 18%, var(--oic-paper));
	color: var(--oic-navy);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
}
.oic-min-lead > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.oic-min-people em {
	font-style: normal;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-min-lead strong { font-size: var(--oic-fs-sm); }
.oic-min-assist > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.oic-min-assist > div span {
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--oic-soft);
	font-size: var(--oic-fs-xs);
	font-weight: 600;
	color: var(--oic-ink);
}
.oic-min-assist > div span.is-more { background: transparent; border: 1px dashed var(--oic-line); color: var(--oic-muted); cursor: help; }
.oic-min-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 12px;
	padding: 12px 18px;
	border-top: 1px solid var(--oic-line);
	background: var(--oic-soft-2);
}
.oic-min-next {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: var(--oic-fs-xs);
	font-weight: 600;
	color: var(--oic-ink);
	text-decoration: none;
}
.oic-min-next span {
	margin-right: 4px;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--oic-accent-soft);
	color: var(--oic-accent);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.oic-min-next.is-none { color: var(--oic-muted); font-weight: 500; }
.oic-min-actions { display: flex; gap: 6px; flex: 0 0 auto; }
.oic-min-actions .oic-btn,
.oic-ev-row-actions .oic-btn { background: var(--oic-paper); }

/* ---------- Members ---------- */
.oic-stats.oic-stats-members { gap: 12px; margin-bottom: 18px; }
.oic-stats-members article {
	display: grid !important;
	grid-template-columns: 42px 1fr;
	grid-template-rows: auto auto;
	column-gap: 12px;
	row-gap: 0;
	align-items: center;
	padding: 14px 16px;
	transition: transform .15s, border-color .15s;
}
.oic-stats-members article[role="button"] { cursor: pointer; }
.oic-stats-members article[role="button"]:hover { transform: translateY(-2px); border-color: var(--oic-accent); }
.oic-stats-members .oic-stat-icon {
	grid-row: 1 / span 3;
	width: 42px !important;
	height: 42px !important;
	padding: 10px;
	border-radius: 12px;
	background: var(--oic-accent-soft);
	box-sizing: border-box;
}
.oic-stats-members strong { grid-column: 2; grid-row: 1; font-size: 1.6rem; margin: 0; line-height: 1.05; }
.oic-stats-members .oic-stat-label { grid-column: 2; grid-row: 2; font-size: var(--oic-fs-sm); }
.oic-stats-members em { grid-column: 2; grid-row: 3; font-style: normal; font-size: 0.6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--oic-accent); }

@media (min-width: 901px) {
	.oic-members-toolbar {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
		padding: 12px;
		margin-bottom: 14px;
		border: 1px solid var(--oic-line);
		border-radius: var(--oic-radius);
		background: var(--oic-paper);
		box-shadow: var(--oic-shadow);
	}
	.oic-members-toolbar .oic-members-search { flex: 1 1 100%; margin: 0; position: relative; }
	.oic-members-toolbar .oic-members-search > span { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.oic-members-toolbar .oic-members-search input {
		min-height: 44px;
		padding: 10px 14px 10px 42px;
		border: 1px solid var(--oic-line);
		border-radius: 999px;
		background: var(--oic-soft-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b786f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 15px center;
		font-size: var(--oic-fs);
	}
	.oic-members-toolbar .oic-members-search input:focus { outline: none; border-color: var(--oic-accent); background-color: var(--oic-paper); box-shadow: 0 0 0 3px var(--oic-accent-soft); }
	.oic-members-toolbar .oic-filters-panel label {
		display: inline-flex;
		flex-direction: row;
		align-items: center;
		gap: 0;
		padding: 0 0 0 12px;
		border: 1px solid var(--oic-line);
		border-radius: 999px;
		background: var(--oic-paper);
		font-size: var(--oic-fs-xs);
		font-weight: 600;
		color: var(--oic-muted);
		transition: border-color .15s;
	}
	.oic-members-toolbar .oic-filters-panel label:hover,
	.oic-members-toolbar .oic-filters-panel label:focus-within { border-color: var(--oic-accent); }
	.oic-members-toolbar .oic-filters-panel label > span::after { content: ":"; }
	.oic-members-toolbar .oic-filters-panel select {
		min-width: 0;
		width: auto;
		min-height: 34px;
		padding: 4px 30px 4px 6px;
		border: 0;
		border-radius: 999px;
		background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b786f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;
		-webkit-appearance: none;
		appearance: none;
		color: var(--oic-ink);
		font: inherit;
		font-size: var(--oic-fs-sm);
		font-weight: 600;
		cursor: pointer;
	}
	.oic-members-toolbar .oic-filters-panel select:focus { outline: none; }
	.oic-members-list { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(460px, 1fr)); gap: 12px; align-items: start; }
}
.oic-member-card[hidden] { display: none !important; }
.oic-member-card { transition: border-color .15s; }
.oic-member-card:hover { border-color: color-mix(in srgb, var(--oic-accent) 45%, var(--oic-line)); }
.oic-member-main { grid-template-columns: 52px minmax(0, 1fr) auto; }
.oic-member-photo { width: 52px; height: 52px; }
.oic-member-photo span { font-size: var(--oic-fs-sm); }
.oic-member-body h2 { font-size: 1.05rem; }
.oic-member-contact { gap: 4px 12px; }
.oic-member-contact a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.oic-member-actions { flex-direction: column; align-items: stretch; gap: 6px; }
.oic-member-actions .oic-btn { justify-content: center; border-color: var(--oic-line); }
.oic-member-actions .oic-btn:hover { border-color: var(--oic-navy); background: var(--oic-hover); }
.oic-members-count { font-weight: 600; }

/* ---------- Resources ---------- */
.oic-res { overflow: visible; }
.oic-res .oic-explorer-toolbar { position: relative; gap: 12px; padding: 12px 16px; }
.oic-res-up { width: 32px; height: 32px; font-size: 1.2rem; }
.oic-res .oic-explorer-crumbs { font-size: var(--oic-fs-sm); }
.oic-res-new { position: relative; margin-left: auto; }
.oic-res-new > summary { list-style: none; cursor: pointer; }
.oic-res-new > summary::-webkit-details-marker { display: none; }
.oic-res-new[open] > summary { background: var(--oic-navy); color: #fff; }
.oic-res-new .oic-new-folder {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 20;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	width: 300px;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--oic-line);
	border-radius: 14px;
	background: var(--oic-paper);
	box-shadow: 0 18px 40px rgba(28, 43, 34, .16);
}
.oic-res-field { display: flex; flex-direction: column; gap: 5px; font-size: var(--oic-fs-xs); font-weight: 700; color: var(--oic-muted); }
.oic-res-field input,
.oic-res-field select {
	width: 100%;
	max-width: none !important;
	min-height: 38px;
	padding: 7px 10px !important;
	border: 1px solid var(--oic-line);
	border-radius: 10px !important;
	background: var(--oic-paper);
	font: inherit;
	font-size: var(--oic-fs-sm) !important;
	font-weight: 500;
	color: var(--oic-ink);
}
.oic-res .oic-explorer-body { min-height: 380px; }
.oic-res .oic-explorer-tree { border-bottom-left-radius: 16px; }
.oic-res .oic-explorer-main { padding: 18px 20px 22px; overflow: visible; }
.oic-res-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 14px; }
.oic-res-head h2 { margin: 0; font-size: 1.4rem; }
.oic-res-head p { margin: 0; font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-res-label {
	margin: 18px 0 8px;
	font-family: var(--oic-font);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-res-folders { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.oic-res-folder {
	position: relative;
	display: flex;
	align-items: center;
	border: 1px solid var(--oic-line);
	border-radius: 14px;
	background: var(--oic-paper);
	transition: border-color .15s, background .15s;
}
.oic-res-folder:hover { border-color: var(--oic-accent); background: var(--oic-hover); }
.oic-res-folder-link { flex: 1; display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 6px 12px 12px; color: inherit; text-decoration: none; }
.oic-res-folder-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #fbf1d6;
}
.oic-res-folder-icon svg { width: 22px; height: 22px; }
.oic-res-folder-text { display: flex; flex-direction: column; min-width: 0; }
.oic-res-folder-text strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oic-res-folder-text em { display: flex; align-items: center; gap: 6px; font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); }
.oic-res-menu { position: relative; flex: 0 0 auto; margin-right: 6px; }
.oic-res-menu > summary {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	list-style: none;
	cursor: pointer;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--oic-muted);
}
.oic-res-menu > summary::-webkit-details-marker { display: none; }
.oic-res-menu > summary:hover,
.oic-res-menu[open] > summary { background: var(--oic-soft); color: var(--oic-ink); }
.oic-res-menu-pop {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 30;
	width: 240px;
	padding: 12px;
	border: 1px solid var(--oic-line);
	border-radius: 14px;
	background: var(--oic-paper);
	box-shadow: 0 18px 40px rgba(28, 43, 34, .16);
}
.oic-res-menu-pop .oic-explorer-actions { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.oic-res-menu-pop .oic-inline-form { display: block; }
.oic-res-menu-item {
	display: block;
	width: 100%;
	padding: 8px 10px;
	border: 0;
	border-radius: 8px;
	background: none;
	font: inherit;
	font-size: var(--oic-fs-sm);
	font-weight: 600;
	color: var(--oic-ink);
	text-align: left;
	cursor: pointer;
}
.oic-res-menu-item:hover { background: var(--oic-hover); }
.oic-res-menu-item.is-danger { color: var(--oic-danger); }
.oic-res-menu-pop .oic-folder-rename { display: flex; gap: 6px; }
.oic-res-menu-pop .oic-folder-rename input { flex: 1; min-width: 0; padding: 6px 10px; border: 1px solid var(--oic-line); border-radius: 8px; }
.oic-res-files { list-style: none; margin: 0; padding: 0; border: 1px solid var(--oic-line); border-radius: 14px; overflow: hidden; }
.oic-res-file {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 160px) 110px auto;
	align-items: center;
	gap: 14px;
	padding: 10px 14px;
	background: var(--oic-paper);
}
.oic-res-file + .oic-res-file { border-top: 1px solid var(--oic-line); }
.oic-res-file:hover { background: var(--oic-hover); }
.oic-res-file-name { display: flex; align-items: center; gap: 12px; min-width: 0; color: inherit; text-decoration: none; }
.oic-res-file-icon { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px; background: var(--oic-soft); }
.oic-res-file-icon svg { width: 20px; height: 20px; }
.oic-res-file-text { display: flex; flex-direction: column; min-width: 0; }
.oic-res-file-text strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oic-res-file-text em,
.oic-res-file-who,
.oic-res-file-date { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oic-res-file-actions { display: flex; align-items: center; gap: 6px; }
.oic-res-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 40px 16px; border: 1px dashed var(--oic-line); border-radius: 14px; text-align: center; color: var(--oic-muted); }
.oic-res-empty svg { width: 40px; height: 40px; opacity: .6; }
.oic-res-empty p { margin: 4px 0; }

@media (max-width: 1100px) {
	.oic-dash-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.oic-dash-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.oic-dash-stats a { padding: 12px; gap: 10px; }
	.oic-dash-stat-icon { width: 38px; height: 38px; border-radius: 11px; }
	.oic-dash-stats strong { font-size: 1.4rem; }
	.oic-min-grid { grid-template-columns: 1fr; }
	.oic-stats-members article { grid-template-columns: 1fr; padding: 10px; }
	.oic-stats-members .oic-stat-icon { display: none; }
	.oic-stats-members strong,
	.oic-stats-members .oic-stat-label,
	.oic-stats-members em { grid-column: 1; }
	.oic-member-main { grid-template-columns: 44px minmax(0, 1fr); }
	.oic-member-photo { width: 44px; height: 44px; }
	.oic-member-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; padding-left: 58px; }
	.oic-res .oic-explorer-body { grid-template-columns: 1fr; }
	.oic-res .oic-explorer-tree { display: none; }
	.oic-res .oic-explorer-main { padding: 14px; }
	.oic-res-file { grid-template-columns: minmax(0, 1fr) auto; }
	.oic-res-file-who,
	.oic-res-file-date { display: none; }
	.oic-res-new .oic-new-folder { width: min(300px, calc(100vw - 48px)); }
}
.oic-min-body h2,
.oic-res-head h2 { font-family: var(--oic-serif); font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.oic-min-body h2 + .oic-min-people { margin-top: 10px; }
@media (min-width: 901px) {
	.oic-members-toolbar .oic-filters-panel select { max-width: 200px; text-overflow: ellipsis; }
}
.oic-res-menu-pop form,
.oic-res-menu-pop label { min-width: 0; width: 100%; margin: 0; }
.oic-res-menu-pop select {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 38px;
	min-height: 0 !important;
	padding: 6px 10px !important;
}
.oic-res .oic-res-menu-pop select,
.oic-res .oic-new-folder select,
.oic-res .oic-new-folder input[type="text"] { box-sizing: border-box !important; height: 38px !important; line-height: 1.2 !important; }

/* Resources tree: root "Resources" folder as the parent of everything — v1.1.78 */
.oic-tree-root { margin: 2px 0 6px; }
.oic-tree-root-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	background: var(--oic-paper);
	color: inherit;
	text-decoration: none;
	transition: border-color .15s, background .15s;
}
.oic-tree-root-link:hover { border-color: var(--oic-accent); }
.oic-tree-root.is-current .oic-tree-root-link { border-color: var(--oic-accent); background: var(--oic-accent-soft); }
.oic-tree-root-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--oic-accent);
}
.oic-tree-root-icon .oic-stat-icon { width: 18px; height: 18px; color: #fff; }
.oic-tree-root-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.oic-tree-root-text strong { font-size: var(--oic-fs); font-weight: 700; color: var(--oic-ink); }
.oic-tree-root-text em { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); }
/* Child folders hang off the root with a guide line */
.oic-explorer-tree > .oic-tree-list {
	margin-left: 26px;
	padding-left: 8px !important;
	border-left: 2px solid var(--oic-line);
}
.oic-explorer-tree .oic-tree-list .oic-tree-list {
	margin-left: 9px;
	padding-left: 8px;
	border-left: 1px dashed var(--oic-line);
}
@media (min-width: 701px) {
	.oic-res .oic-explorer-body { grid-template-columns: 270px minmax(0, 1fr); }
}
.oic-res-folder-text em { white-space: nowrap; }

/* Calendar busy levels: 2–3 gold, 4 light red, 5+ red — v1.1.82 */
.oic-ev { --oic-busy-4: #e5484d; --oic-busy-5: #c62828; }
.oic-ev .oic-cal-day.is-very-busy {
	background: color-mix(in srgb, var(--oic-busy-4) 9%, var(--oic-paper));
	box-shadow: inset 0 3px 0 color-mix(in srgb, var(--oic-busy-4) 75%, var(--oic-paper));
}
.oic-ev .oic-cal-day.is-packed {
	background: color-mix(in srgb, var(--oic-busy-5) 17%, var(--oic-paper));
	box-shadow: inset 0 4px 0 var(--oic-busy-5);
}
.oic-ev .oic-cal-day.is-very-busy:hover { background: color-mix(in srgb, var(--oic-busy-4) 14%, var(--oic-paper)); }
.oic-ev .oic-cal-day.is-packed:hover { background: color-mix(in srgb, var(--oic-busy-5) 22%, var(--oic-paper)); }
.oic-ev .oic-cal-day.is-very-busy .oic-event-conflict-tag {
	background: color-mix(in srgb, var(--oic-busy-4) 22%, var(--oic-paper));
	color: #7a1c1f;
}
.oic-ev .oic-cal-day.is-packed .oic-event-conflict-tag { background: var(--oic-busy-5); color: #fff; }
/* Keep event chips crisp and readable on the tinted days */
.oic-ev .oic-cal-day.is-very-busy .oic-cal-chip,
.oic-ev .oic-cal-day.is-packed .oic-cal-chip {
	background: color-mix(in srgb, var(--chip, var(--oic-accent)) 10%, #ffffff);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}
.oic-ev .oic-cal-day.is-very-busy .oic-cal-more,
.oic-ev .oic-cal-day.is-packed .oic-cal-more { color: #8f1d1f; }
.oic-ev-busy-swatch.is-very-busy {
	background: color-mix(in srgb, var(--oic-busy-4) 18%, var(--oic-paper));
	box-shadow: inset 0 2px 0 var(--oic-busy-4);
}
.oic-ev-busy-swatch.is-packed {
	background: color-mix(in srgb, var(--oic-busy-5) 30%, var(--oic-paper));
	box-shadow: inset 0 2px 0 var(--oic-busy-5);
}

/* Ministries: admin reorder mode */
.oic-min-sortbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-bottom: 14px;
	padding: 12px 16px;
	border: 1px dashed var(--oic-accent);
	border-radius: 14px;
	background: var(--oic-accent-soft);
	font-size: var(--oic-fs-sm);
}
.oic-min-sortbar[hidden] { display: none; }
.oic-min-sortstatus { margin-left: auto; font-weight: 600; color: var(--oic-accent); }
.oic-min-sorttools { display: none; }
.oic-min-grid.is-sorting .oic-min-sorttools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	border-bottom: 1px solid var(--oic-line);
	background: var(--oic-soft-2);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
	color: var(--oic-muted);
}
.oic-min-grid.is-sorting .oic-min-card { cursor: grab; outline: 2px dashed transparent; transition: outline-color .15s, opacity .15s, transform .15s; }
.oic-min-grid.is-sorting .oic-min-card:hover { outline-color: var(--oic-accent); transform: none; }
.oic-min-grid.is-sorting .oic-min-card.is-dragging { opacity: .45; cursor: grabbing; }
.oic-min-grid.is-sorting .oic-min-card a { pointer-events: none; }
.oic-min-handle { letter-spacing: .04em; }
.oic-min-sorttools button {
	width: 30px;
	height: 28px;
	margin-left: 4px;
	border: 1px solid var(--oic-line);
	border-radius: 8px;
	background: var(--oic-paper);
	color: var(--oic-ink);
	font-weight: 700;
	cursor: pointer;
}
.oic-min-sorttools button:hover { border-color: var(--oic-accent); }
[data-oic-reorder][hidden] { display: none !important; }

/* Repeat months picker — v1.1.84 */
.oic-form-card .acf-field[data-name="oic_event_repeat_months"] .acf-checkbox-list label { min-width: 62px; justify-content: center; }
.oic-form-card .acf-field[data-name="oic_event_repeat_months"] .acf-checkbox-toggle label { font-weight: 700; }

/* ==========================================================================
   v1.1.85 — ministry people, single ministry page, list view by month
   ========================================================================== */

/* Avatars with real profile photos */
.oic-min-avatar.has-photo,
.oic-mv-avatar.has-photo { padding: 0; overflow: hidden; background: var(--oic-soft); }
.oic-min-avatar.has-photo img,
.oic-mv-avatar.has-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Single ministry page ---------- */
.oic-mv-hero {
	position: relative;
	margin-bottom: 20px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	overflow: hidden;
}
.oic-mv-cover {
	position: relative;
	display: grid;
	place-items: center;
	height: 180px;
	background:
		radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--chip) 35%, transparent), transparent 55%),
		linear-gradient(135deg, color-mix(in srgb, var(--chip) 24%, var(--oic-paper)), color-mix(in srgb, var(--chip) 8%, var(--oic-paper)));
	border-bottom: 4px solid var(--chip);
}
.oic-mv-cover img { width: 100%; height: 100%; object-fit: cover; }
.oic-mv-hero.has-image .oic-mv-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .25)); }
.oic-mv-cover span {
	font-family: var(--oic-serif);
	font-size: 3.4rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--chip) 70%, var(--oic-navy));
	opacity: .85;
}
.oic-mv-hero-body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px 24px;
	padding: 20px 24px 22px;
}
.oic-mv-hero-body h1 { margin: 0; font-family: var(--oic-serif); font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.5rem); }
.oic-mv-lede { margin: 8px 0 0; max-width: 680px; color: var(--oic-muted); line-height: 1.55; }
.oic-mv-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	align-items: start;
}
.oic-mv-main,
.oic-mv-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.oic-mv-main .oic-card,
.oic-mv-side .oic-card { margin: 0; }
.oic-mv-mv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.oic-mv-mv p { margin: 0; line-height: 1.6; }
.oic-mv-people h2,
.oic-mv-staff h2 { margin-bottom: 14px; }
.oic-mv-head { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--oic-line); }
.oic-mv-head > div { display: flex; flex-direction: column; min-width: 0; }
.oic-mv-head em,
.oic-mv-people h3 {
	margin: 0;
	font-family: var(--oic-font);
	font-style: normal;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--oic-muted);
}
.oic-mv-head strong { font-size: 1.05rem; }
.oic-mv-head a { font-size: var(--oic-fs-xs); color: var(--oic-accent); text-decoration: none; overflow: hidden; text-overflow: ellipsis; }
.oic-mv-people h3 { margin: 14px 0 8px; }
.oic-mv-avatar {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--chip, var(--oic-accent)) 18%, var(--oic-paper));
	color: var(--oic-navy);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
}
.oic-mv-avatar.is-large { width: 60px; height: 60px; font-size: 1.05rem; box-shadow: 0 0 0 3px var(--oic-paper), 0 0 0 5px color-mix(in srgb, var(--chip, var(--oic-accent)) 45%, var(--oic-paper)); }
.oic-mv-team { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.oic-mv-team li { display: flex; align-items: center; gap: 10px; font-size: var(--oic-fs-sm); font-weight: 600; }
.oic-mv-events ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.oic-mv-events a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 12px; color: inherit; text-decoration: none; }
.oic-mv-events a:hover { background: var(--oic-hover); }
.oic-mv-events .oic-ev-date { width: 50px; padding: 5px 0 6px; }
.oic-mv-events .oic-ev-date-d { font-size: 1.3rem; }
.oic-mv-event-text { display: flex; flex-direction: column; min-width: 0; }
.oic-mv-event-text strong { font-size: var(--oic-fs-sm); }
.oic-mv-event-text em { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); }
.oic-mv-colour { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--oic-line); font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-mv-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.oic-mv-gallery a { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--oic-soft); }
.oic-mv-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.oic-mv-gallery a:hover img { transform: scale(1.04); }

/* ---------- List view: months as collapsible sections ---------- */
.oic-ev-month-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin: -6px 0 14px; }
.oic-ev-month-toggle { margin-left: auto; display: flex; gap: 14px; }
.oic-ev-month {
	margin-bottom: 14px;
	border: 1px solid var(--oic-line);
	border-radius: var(--oic-radius);
	background: var(--oic-paper);
	box-shadow: var(--oic-shadow);
	overflow: hidden;
}
.oic-ev-month > summary {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 12px;
	padding: 14px 18px;
	list-style: none;
	cursor: pointer;
	user-select: none;
}
.oic-ev-month > summary::-webkit-details-marker { display: none; }
.oic-ev-month > summary:hover { background: var(--oic-hover); }
.oic-ev-month-name { font-family: var(--oic-serif); font-size: 1.2rem; font-weight: 600; color: var(--oic-ink); }
.oic-ev-month-count { padding: 2px 10px; border-radius: 999px; background: var(--oic-soft); font-size: var(--oic-fs-xs); font-weight: 700; color: var(--oic-muted); }
.oic-ev-month-busy { padding: 2px 10px; border-radius: 999px; background: color-mix(in srgb, var(--oic-busy, #e9b949) 26%, var(--oic-paper)); font-size: var(--oic-fs-xs); font-weight: 700; color: var(--oic-ink); }
.oic-ev-month-chevron { margin-left: auto; width: 10px; height: 10px; border-right: 2px solid var(--oic-muted); border-bottom: 2px solid var(--oic-muted); transform: rotate(45deg); transition: transform .2s; }
.oic-ev-month[open] .oic-ev-month-chevron { transform: rotate(-135deg); }
.oic-ev-month.is-current { border-color: color-mix(in srgb, var(--oic-accent) 45%, var(--oic-line)); }
.oic-ev-month.is-past:not([open]) .oic-ev-month-name { color: var(--oic-muted); }
.oic-ev-month .oic-ev-rows { padding: 4px 12px 12px; gap: 8px; }
.oic-ev-month .oic-ev-row { box-shadow: none; }
.oic-ev-pill-repeat { background: var(--oic-soft); color: var(--oic-muted); cursor: help; }

/* Same-day rows use the calendar's busy colours */
.oic-ev-row.is-busy {
	background: color-mix(in srgb, var(--oic-busy, #e9b949) 12%, var(--oic-paper));
	border-color: color-mix(in srgb, var(--oic-busy, #e9b949) 45%, var(--oic-line));
}
.oic-ev-row.is-very-busy {
	background: color-mix(in srgb, #e5484d 9%, var(--oic-paper));
	border-color: color-mix(in srgb, #e5484d 45%, var(--oic-line));
}
.oic-ev-row.is-packed {
	background: color-mix(in srgb, #c62828 15%, var(--oic-paper));
	border-color: color-mix(in srgb, #c62828 60%, var(--oic-line));
}
.oic-ev-row.is-busy .oic-ev-date,
.oic-ev-row.is-very-busy .oic-ev-date,
.oic-ev-row.is-packed .oic-ev-date { background: color-mix(in srgb, var(--chip, var(--oic-accent)) 12%, #ffffff); }
.oic-ev-pill-busy.is-very-busy { background: color-mix(in srgb, #e5484d 22%, var(--oic-paper)); color: #7a1c1f; }
.oic-ev-pill-busy.is-packed { background: #c62828; color: #fff; }
.oic-ev-row.is-past.is-busy,
.oic-ev-row.is-past.is-very-busy,
.oic-ev-row.is-past.is-packed { opacity: .7; }

@media (max-width: 1100px) {
	.oic-mv-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.oic-mv-cover { height: 130px; }
	.oic-mv-mv { grid-template-columns: 1fr; }
	.oic-mv-hero-body { padding: 16px; }
	.oic-ev-month > summary { padding: 12px 14px; }
	.oic-ev-month .oic-ev-rows { padding: 4px 8px 8px; }
	.oic-ev-month-toggle { margin-left: 0; }
}

/* ==========================================================================
   Leave (1.1.88)
   ========================================================================== */
.oic-nav-badge {
	margin-left: auto;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--oic-gold);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
}
.oic-lv-dot {
	display: inline-block;
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	margin-right: 7px;
	border-radius: 50%;
	background: var(--chip, var(--oic-accent));
	vertical-align: 1px;
}
.oic-lv-avatar {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--chip, var(--oic-accent)) 18%, var(--oic-paper));
	color: var(--oic-navy);
	font-size: var(--oic-fs-xs);
	font-weight: 700;
}
.oic-lv-avatar.has-photo { padding: 0; overflow: hidden; background: var(--oic-soft); }
.oic-lv-avatar.has-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.oic-lv-avatar.is-large { width: 64px; height: 64px; font-size: 1.1rem; box-shadow: 0 0 0 3px var(--oic-paper), 0 0 0 5px color-mix(in srgb, var(--chip, var(--oic-accent)) 50%, var(--oic-paper)); }

/* Status chips */
.oic-lv-status {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
	background: var(--oic-soft);
	color: var(--oic-navy);
}
.oic-lv-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: 0.85; }
.oic-lv-status.is-pending { background: #fbf1d9; color: #8a5a00; }
.oic-lv-status.is-approved { background: #dcefe2; color: #1f6b3d; }
.oic-lv-status.is-declined { background: #f9e0dd; color: #a12a1e; }
.oic-lv-status.is-cancelled { background: var(--oic-soft); color: var(--oic-muted); }
.oic-lv-status.is-big { padding: 7px 14px; font-size: var(--oic-fs-sm); }

.oic-lv-count {
	min-width: 26px;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--oic-soft);
	color: var(--oic-muted);
	font-size: var(--oic-fs-sm);
	font-weight: 700;
	text-align: center;
}
.oic-lv-count.is-hot { background: var(--oic-gold); color: #fff; }

/* Staff strip */
.oic-lv-staff {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 20px;
}
.oic-lv-queue { border-top: 3px solid var(--oic-gold); }

/* Lists */
.oic-lv-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.oic-lv-list a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 10px;
	margin: 0 -10px;
	border-radius: 12px;
	color: inherit;
	text-decoration: none;
}
.oic-lv-list a:hover { background: var(--oic-hover); }
.oic-lv-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.oic-lv-main strong { font-size: var(--oic-fs); font-weight: 600; }
.oic-lv-main em { font-style: normal; font-size: var(--oic-fs-sm); color: var(--oic-muted); display: flex; align-items: center; flex-wrap: wrap; }
.oic-lv-days, .oic-lv-cover { flex: 0 0 auto; font-size: var(--oic-fs-sm); color: var(--oic-muted); white-space: nowrap; }
.oic-lv-now { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--chip, var(--oic-accent)); color: #fff; font-size: 0.68rem; font-weight: 700; vertical-align: 2px; }
.oic-lv-bar { flex: 0 0 auto; align-self: stretch; width: 4px; border-radius: 4px; background: var(--chip, var(--oic-accent)); }
.oic-lv-mine li.is-past { opacity: 0.6; }
.oic-lv-list.is-compact a { padding: 8px 10px; }

/* Layout */
.oic-lv-layout,
.oic-lv-view {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}
.oic-lv-col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

/* Apply form */
.oic-lv-apply > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	list-style: none;
}
.oic-lv-apply > summary::-webkit-details-marker { display: none; }
.oic-lv-apply > summary h2 { margin: 0 0 2px; }
.oic-lv-apply > summary .oic-help { margin: 0; }
.oic-lv-chev { width: 10px; height: 10px; border-right: 2px solid var(--oic-muted); border-bottom: 2px solid var(--oic-muted); transform: rotate(45deg); transition: transform 0.2s; margin-right: 6px; }
.oic-lv-apply[open] .oic-lv-chev { transform: rotate(-135deg); }
.oic-lv-apply:not([open]) { cursor: pointer; }
.oic-lv-form { display: grid; gap: 16px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--oic-line); }
.oic-lv-form label,
.oic-lv-decide label { display: flex; flex-direction: column; gap: 6px; font-size: var(--oic-fs-sm); font-weight: 600; }
.oic-lv-form label em,
.oic-lv-decide label em { font-style: normal; font-weight: 400; color: var(--oic-muted); }
.oic-lv-form input[type="date"],
.oic-lv-form input[type="text"],
.oic-lv-form select,
.oic-lv-form textarea,
.oic-lv-decide textarea {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--oic-line);
	border-radius: 10px;
	padding: 10px 12px;
	font: inherit;
	background: var(--oic-paper);
	color: var(--oic-ink);
}
.oic-lv-form textarea,
.oic-lv-decide textarea { resize: vertical; }
.oic-lv-types { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.oic-lv-types legend { padding: 0; margin-bottom: 8px; font-size: var(--oic-fs-sm); font-weight: 600; }
.oic-lv-types label { position: relative; display: block; cursor: pointer; }
.oic-lv-types input { position: absolute; opacity: 0; pointer-events: none; }
.oic-lv-types label > span {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 12px 14px;
	border: 1px solid var(--oic-line);
	border-radius: 12px;
	background: var(--oic-paper);
	font-weight: 600;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.oic-lv-types label > span small { flex-basis: 100%; margin: 3px 0 0 16px; font-weight: 400; font-size: var(--oic-fs-xs); color: var(--oic-muted); }
.oic-lv-types label:hover > span { border-color: color-mix(in srgb, var(--chip) 50%, var(--oic-line)); }
.oic-lv-types input:checked + span {
	border-color: var(--chip);
	background: color-mix(in srgb, var(--chip) 9%, var(--oic-paper));
	box-shadow: 0 0 0 1px var(--chip);
}
.oic-lv-types input:focus-visible + span { outline: 2px solid var(--chip); outline-offset: 2px; }
.oic-lv-dates,
.oic-lv-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.oic-lv-form label.oic-lv-half { flex-direction: row; align-items: center; gap: 8px; font-weight: 500; margin-top: -6px; }
.oic-lv-form label.oic-lv-half[hidden] { display: none; }
.oic-lv-tally {
	margin: -4px 0 0;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--oic-accent-soft);
	color: var(--oic-navy);
	font-size: var(--oic-fs-sm);
	font-weight: 600;
}
.oic-lv-tally.is-warn { background: #fbf1d9; color: #8a5a00; }
.oic-lv-tally[hidden] { display: none; }
.oic-lv-submit { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.oic-lv-submit .oic-help { margin: 0; }

/* Balance */
.oic-lv-balance { display: flex; flex-direction: column; gap: 16px; }
.oic-lv-balance .oic-card-head { margin-bottom: 0; }
.oic-lv-bal-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: var(--oic-fs-sm); }
.oic-lv-bal-head strong { font-weight: 600; }
.oic-lv-bal-head span { color: var(--oic-muted); text-align: right; }
.oic-lv-meter { display: flex; height: 8px; margin-top: 7px; border-radius: 999px; background: var(--oic-soft); overflow: hidden; }
.oic-lv-meter .is-used { background: var(--chip); }
.oic-lv-meter .is-pending { background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--chip) 55%, transparent) 0 4px, color-mix(in srgb, var(--chip) 25%, transparent) 4px 8px); }
.oic-lv-bal-note { margin: 5px 0 0; font-size: var(--oic-fs-xs); color: var(--oic-muted); }

/* History table */
.oic-lv-history { margin-top: 20px; }
.oic-lv-filter { display: flex; flex-wrap: wrap; gap: 4px; }
.oic-lv-filter a { padding: 5px 12px; border-radius: 999px; font-size: var(--oic-fs-sm); font-weight: 600; color: var(--oic-muted); text-decoration: none; }
.oic-lv-filter a:hover { background: var(--oic-hover); color: var(--oic-ink); }
.oic-lv-filter a.is-active { background: var(--oic-navy); color: #fff; }
.oic-lv-table-wrap { overflow-x: auto; margin: 0 -4px; }
.oic-lv-table { width: 100%; border-collapse: collapse; font-size: var(--oic-fs-sm); }
.oic-lv-table th { text-align: left; padding: 8px 10px; font-size: var(--oic-fs-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--oic-muted); border-bottom: 1px solid var(--oic-line); white-space: nowrap; }
.oic-lv-table td { padding: 11px 10px; border-bottom: 1px solid var(--oic-line); white-space: nowrap; }
.oic-lv-table tr:last-child td { border-bottom: 0; }
.oic-lv-table td a { font-weight: 600; color: var(--oic-ink); }

/* Single request */
.oic-lv-head .oic-kicker { display: flex; align-items: center; }
.oic-lv-who { display: flex; align-items: center; gap: 18px; min-width: 0; }
.oic-lv-who h1 { margin: 2px 0; }
.oic-lv-who .oic-lede { margin: 0; }
.oic-lv-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; }
.oic-lv-facts div { padding: 12px 0; border-bottom: 1px solid var(--oic-line); }
.oic-lv-facts div:nth-child(odd) { padding-right: 16px; }
.oic-lv-facts dt { font-size: var(--oic-fs-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--oic-muted); }
.oic-lv-facts dd { margin: 4px 0 0; font-weight: 600; }
.oic-lv-facts dd small { font-weight: 400; color: var(--oic-muted); }
.oic-lv-view h3 { margin: 18px 0 6px; font-size: var(--oic-fs-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--oic-muted); }
.oic-lv-note { margin: 0; white-space: normal; line-height: 1.6; }
.oic-lv-decide { display: grid; gap: 12px; border-top: 3px solid var(--oic-gold); }
.oic-lv-decide h2 { margin: 0; }
.oic-lv-decide .oic-help { margin: 0; }
.oic-lv-decide-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.oic-lv-decision h2 { margin: 0 0 2px; }
.oic-lv-decision.is-approved { border-top: 3px solid #2f8f55; }
.oic-lv-decision.is-declined { border-top: 3px solid var(--oic-danger); }
.oic-lv-decision blockquote { margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--oic-gold); background: color-mix(in srgb, var(--oic-gold) 8%, var(--oic-paper)); border-radius: 0 10px 10px 0; }
.oic-lv-waiting { border-top: 3px solid var(--oic-gold); }
.oic-lv-waiting h2 { margin: 0 0 4px; }
.oic-lv-cancel { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.oic-lv-cancel .oic-help { margin: 0; }
.oic-lv-events { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.oic-lv-events a { display: flex; align-items: center; gap: 12px; padding: 6px; margin: 0 -6px; border-radius: 12px; color: inherit; text-decoration: none; }
.oic-lv-events a:hover { background: var(--oic-hover); }
.oic-lv-events a > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.oic-lv-events strong { font-weight: 600; font-size: var(--oic-fs-sm); }
.oic-lv-events em { font-style: normal; font-size: var(--oic-fs-xs); color: var(--oic-muted); }
.oic-lv-log { list-style: none; margin: 0; padding: 0 0 0 18px; position: relative; display: flex; flex-direction: column; gap: 14px; }
.oic-lv-log::before { content: ""; position: absolute; left: 4px; top: 6px; bottom: 6px; width: 2px; background: var(--oic-line); }
.oic-lv-log li { position: relative; display: flex; flex-direction: column; font-size: var(--oic-fs-sm); }
.oic-lv-log li::before { content: ""; position: absolute; left: -18px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--oic-paper); border: 2px solid var(--oic-muted); }
.oic-lv-log li.is-approved::before { border-color: #2f8f55; background: #2f8f55; }
.oic-lv-log li.is-declined::before { border-color: var(--oic-danger); background: var(--oic-danger); }
.oic-lv-log li.is-submitted::before { border-color: var(--oic-gold); }
.oic-lv-log span { color: var(--oic-muted); font-size: var(--oic-fs-xs); }

/* Dashboard alert */
.oic-lv-alert {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 20px;
	padding: 14px 18px;
	border: 1px solid color-mix(in srgb, var(--oic-gold) 45%, var(--oic-line));
	border-radius: var(--oic-radius);
	background: color-mix(in srgb, var(--oic-gold) 10%, var(--oic-paper));
	color: var(--oic-ink);
	text-decoration: none;
}
.oic-lv-alert:hover { border-color: var(--oic-gold); }
.oic-lv-alert > span:nth-child(2) { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.oic-lv-alert em { font-style: normal; font-size: var(--oic-fs-sm); color: var(--oic-muted); }
.oic-lv-alert-icon { width: 26px; height: 26px; flex: 0 0 auto; color: var(--oic-gold); }

/* Settings */
.oic-lv-settings h3 { margin: 22px 0 6px; font-family: var(--oic-font); font-size: var(--oic-fs); }
.oic-lv-type-rows { display: flex; flex-direction: column; gap: 8px; max-width: 560px; }
.oic-lv-type-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px 40px; gap: 10px; align-items: center; }
.oic-lv-type-row.is-head { font-size: var(--oic-fs-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--oic-muted); }
.oic-lv-type-row label { display: flex; align-items: center; }
.oic-lv-type-row.is-new .oic-lv-dot { background: var(--oic-line); }
.oic-lv-type-row input[type="text"],
.oic-lv-type-row input[type="number"] { width: 100%; min-width: 0; border: 1px solid var(--oic-line); border-radius: 10px; padding: 8px 10px; font: inherit; background: var(--oic-paper); }
.oic-lv-type-row input[type="checkbox"] { width: 18px; height: 18px; justify-self: center; }
.oic-lv-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2px 16px; margin: 6px 0 4px 26px; }
.oic-lv-settings .oic-btn-primary { margin-top: 18px; }

@media (max-width: 900px) {
	.oic-lv-staff,
	.oic-lv-layout,
	.oic-lv-view { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.oic-lv-dates,
	.oic-lv-pair,
	.oic-lv-facts { grid-template-columns: minmax(0, 1fr); }
	.oic-lv-facts div:nth-child(odd) { padding-right: 0; }
	.oic-lv-list a { flex-wrap: wrap; }
	.oic-lv-cover, .oic-lv-days { width: 100%; padding-left: 50px; }
	.oic-lv-who { gap: 12px; }
	.oic-lv-alert { flex-wrap: wrap; }
}

/* Leave fixes */
.oic-lv-form input, .oic-lv-form select, .oic-lv-form textarea,
.oic-lv-decide textarea, .oic-lv-type-row input { box-sizing: border-box; }
.oic-lv-main em { display: block; }
.oic-lv-main em .oic-lv-dot { margin-right: 6px; }
.oic-lv-staff .oic-card-head .oic-help,
.oic-lv-history .oic-card-head .oic-help { margin: 0; }
.oic-lv-history .oic-card-head { flex-wrap: wrap; gap: 10px; }
.oic-lv-balance + .oic-lv-balance { margin-top: 0; }

/* ==========================================================================
   Celebrations, Whole Church, skipped dates (1.1.90)
   ========================================================================== */
.oic-celeb-icon { width: 14px; height: 14px; flex: 0 0 auto; vertical-align: -2px; }
.is-birthday .oic-celeb-icon, .oic-ev-celeb.is-birthday .oic-celeb-icon { color: #c2410c; }
.is-anniversary .oic-celeb-icon { color: #be185d; }

/* Calendar legend toggle */
.oic-ev-legend-celeb {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border: 1px dashed #e6b8c8;
	border-radius: 999px;
	background: var(--oic-paper);
	color: var(--oic-muted);
	font: inherit;
	font-size: var(--oic-fs-xs);
	font-weight: 600;
	cursor: pointer;
}
.oic-ev-legend-celeb.is-active { border-style: solid; background: #fdf2f6; color: #9d174d; }
.oic-ev-legend-celeb .oic-celeb-icon { color: #c2410c; }

/* Calendar day cells */
.oic-cal-celebs { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 3px; min-width: 0; }
.oic-cal-celeb {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
	padding: 1px 6px;
	border-radius: 6px;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}
.oic-cal-celeb > span { overflow: hidden; text-overflow: ellipsis; }
.oic-cal-celeb .oic-celeb-icon { width: 11px; height: 11px; }
.oic-cal-celeb.is-birthday { background: #fff4e8; color: #9a3412; }
.oic-cal-celeb.is-anniversary { background: #fdf2f6; color: #9d174d; }
.oic-cal-celeb.is-more { background: transparent; color: var(--oic-muted); padding-left: 2px; }
.oic-hide-celebs .oic-cal-celebs,
.oic-hide-celebs .oic-cal-celeb-list,
.oic-hide-celebs .oic-ev-celebs { display: none !important; }
@media (max-width: 700px) {
	.oic-cal-celeb > span { display: none; }
	.oic-cal-celebs { flex-direction: row; flex-wrap: wrap; }
	.oic-cal-celeb { padding: 1px 3px; }
}

/* Day detail */
.oic-cal-celeb-list { list-style: none; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: linear-gradient(135deg, #fff7ef, #fdf2f6); display: flex; flex-direction: column; gap: 8px; }
.oic-cal-celeb-list li { display: flex; align-items: flex-start; gap: 10px; font-size: var(--oic-fs-sm); }
.oic-cal-celeb-list li .oic-celeb-icon { width: 18px; height: 18px; margin-top: 1px; }
.oic-cal-celeb-list li > span { display: flex; flex-direction: column; }
.oic-cal-celeb-list em { font-style: normal; color: var(--oic-muted); font-size: var(--oic-fs-xs); }
.oic-cal-celeb-list a { color: var(--oic-ink); }
.oic-cal-skip { margin: 6px 0 0; }
.oic-cal-skip .oic-link-btn { display: inline-flex; align-items: center; gap: 5px; color: var(--oic-danger); font-size: var(--oic-fs-xs); }

/* List view strip */
.oic-ev-celebs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 15px;
	padding: 9px 12px;
	border-radius: 12px;
	background: linear-gradient(135deg, #fff7ef, #fdf2f6);
}
.oic-ev-celebs-label { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; font-size: var(--oic-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9a3412; }
.oic-ev-celeb { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px 3px 4px; border-radius: 999px; background: var(--oic-paper); border: 1px solid #f3dccb; font-size: var(--oic-fs-xs); font-weight: 600; color: var(--oic-ink); }
.oic-ev-celeb.is-anniversary { border-color: #f2cfdc; }
.oic-ev-celeb b { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 999px; background: #fff4e8; color: #9a3412; font-size: 0.68rem; }
.oic-ev-celeb.is-anniversary b { background: #fdf2f6; color: #9d174d; }

/* Event page: skipped dates */
.oic-skip-card .oic-card-head h2 { display: flex; align-items: center; gap: 8px; }
.oic-skip-list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.oic-skip-list li { display: inline-flex; align-items: center; gap: 10px; padding: 6px 6px 6px 12px; border: 1px dashed var(--oic-line); border-radius: 999px; font-size: var(--oic-fs-sm); font-weight: 600; text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--oic-danger) 60%, transparent); }
.oic-skip-list li.is-past { opacity: .55; }
.oic-skip-list li form { margin: 0; }
.oic-skip-list li .oic-btn { text-decoration: none; }
.oic-skip-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 0 0 8px; }
.oic-skip-form label { display: flex; flex-direction: column; gap: 6px; font-size: var(--oic-fs-sm); font-weight: 600; }
.oic-skip-form select { box-sizing: border-box; min-width: 220px; border: 1px solid var(--oic-line); border-radius: 10px; padding: 8px 10px; font: inherit; background: var(--oic-paper); color: var(--oic-ink); }

/* Dashboard */
.oic-dash-celeb-month { margin: 14px 0 6px; font-family: var(--oic-font); font-size: var(--oic-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--oic-muted); }
.oic-dash-celebs .oic-card-head + .oic-dash-celeb-month { margin-top: 2px; }
.oic-dash-celebs .oic-dash-bday-name em { display: flex; align-items: center; gap: 5px; }
.oic-dash-celebs .oic-dash-bday-name a { color: inherit; text-decoration: none; }
.oic-dash-celebs .oic-dash-bday-name a:hover strong { text-decoration: underline; }
.oic-dash-bday-list li.is-anniversary .oic-dash-bday-day { background: #fdf2f6; color: #9d174d; }
.oic-dash-celebs .oic-empty { margin: 0 0 4px; }

/* Members: couples */
.oic-couples { margin-bottom: 20px; border-top: 3px solid #e6b8c8; }
.oic-couples .oic-card-head h2 { display: flex; align-items: center; gap: 8px; }
.oic-couples .oic-dash-h-icon { color: #be185d; }
.oic-couple-list { list-style: none; margin: 4px 0 8px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.oic-couple-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid var(--oic-line); border-radius: 12px; }
.oic-couple-names { display: flex; flex-direction: column; font-size: var(--oic-fs-sm); }
.oic-couple-names em { font-style: normal; color: var(--oic-muted); font-size: var(--oic-fs-xs); }
.oic-couple-list form { display: flex; gap: 6px; margin: 0; }
.oic-couple-gap { margin: 6px 0 0; }

.oic-skip-alert { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 20px 14px; }
.oic-skip-alert form { margin: 0; }
