:root{--ofc-green:#073f2a;--ofc-green-deep:#03291c;--ofc-green-soft:#e7efe9;--ofc-gold:#c6a15b;--ofc-gold-soft:#f4ead5;--ofc-ink:#17201b;--ofc-muted:#66736b;--ofc-line:#d4ddd7;--ofc-paper:#fff;--ofc-danger:#9f2e2e;--ofc-radius:14px}
.ofc-calendar-public,.ofc-calendar-admin{color:var(--ofc-ink);font-family:inherit}.ofc-calendar-toolbar,.ofc-module-head,.ofc-submodule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.ofc-calendar-toolbar{margin-bottom:24px}.ofc-calendar-toolbar h2,.ofc-module-head h1,.ofc-submodule-head h2{margin:.15rem 0 .45rem}.ofc-view-switch{display:flex;border:1px solid var(--ofc-line);border-radius:999px;padding:3px;background:#fff}.ofc-view-switch button{border:0;background:transparent;border-radius:999px;padding:8px 16px;color:var(--ofc-green);font-weight:800;cursor:pointer}.ofc-view-switch button.active{background:var(--ofc-green);color:#fff}.ofc-event-list,.ofc-record-list{display:grid;gap:14px}.ofc-event-card{display:grid;grid-template-columns:100px 1fr;gap:22px;border:1px solid var(--ofc-line);border-left:5px solid var(--ofc-gold);border-radius:var(--ofc-radius);padding:22px;background:#fff;box-shadow:0 8px 24px rgba(7,63,42,.07)}.ofc-event-date{display:grid;align-content:start;justify-items:center;padding:13px;border-radius:12px;background:var(--ofc-green);color:#fff}.ofc-event-date strong{font-size:2rem;line-height:1}.ofc-event-date span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.ofc-event-meta,.ofc-event-actions,.ofc-choice-row{display:flex;flex-wrap:wrap;gap:9px}.ofc-event-meta span,.ofc-system-status{display:inline-flex;border-radius:999px;background:var(--ofc-gold-soft);color:var(--ofc-green-deep);padding:5px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ofc-event-card h3{font-size:1.35rem;margin:8px 0}.ofc-event-card dl{display:flex;flex-wrap:wrap;gap:10px 30px;margin:16px 0}.ofc-event-card dl div{display:grid;gap:2px}.ofc-event-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ofc-muted);font-weight:900}.ofc-event-card dd{margin:0;font-weight:700}.ofc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--ofc-green);border-radius:8px;padding:8px 14px;background:#fff;color:var(--ofc-green);font-weight:900;text-decoration:none;cursor:pointer}.ofc-btn:hover,.ofc-btn:focus-visible{outline:3px solid rgba(198,161,91,.35);outline-offset:2px}.ofc-btn-gold{background:var(--ofc-gold);border-color:var(--ofc-gold);color:var(--ofc-green-deep)}.ofc-honest-empty{border:1px dashed #aebbb3;border-radius:var(--ofc-radius);background:#f6f8f6;padding:24px}.ofc-honest-empty strong{display:block;color:var(--ofc-green-deep);font-size:1rem}.ofc-honest-empty p{margin:.4rem 0 0;color:var(--ofc-muted)}
.ofc-module-head{padding:20px 22px;border-radius:var(--ofc-radius);background:linear-gradient(135deg,var(--ofc-green-deep),var(--ofc-green));color:#fff;margin-bottom:18px;border-bottom:4px solid var(--ofc-gold)}.ofc-module-head p{margin:0;color:#e5eee8}.ofc-calendar-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:680px;border:1px solid var(--ofc-line);border-radius:var(--ofc-radius);overflow:hidden;background:#fff}.ofc-calendar-nav{display:flex;flex-direction:column;background:#f1f5f2;border-right:1px solid var(--ofc-line);padding:12px}.ofc-calendar-nav button{border:0;border-left:3px solid transparent;background:transparent;color:var(--ofc-ink);text-align:left;padding:11px 12px;font-weight:800;cursor:pointer}.ofc-calendar-nav button:hover,.ofc-calendar-nav button:focus-visible{background:#e5ede8;outline:none}.ofc-calendar-nav button.active{border-left-color:var(--ofc-gold);background:var(--ofc-green);color:#fff}.ofc-calendar-main{min-width:0;padding:22px}.ofc-submodule{display:none}.ofc-submodule.active{display:block}.ofc-submodule-head{padding-bottom:15px;border-bottom:1px solid var(--ofc-line);margin-bottom:18px}.ofc-submodule-head span{color:var(--ofc-gold);font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:.72rem}.ofc-submodule-head p{margin:0;color:var(--ofc-muted)}.ofc-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.ofc-metric-grid article{border:1px solid var(--ofc-line);border-top:4px solid var(--ofc-gold);border-radius:12px;padding:15px;background:#fff}.ofc-metric-grid span,.ofc-metric-grid small{display:block;color:var(--ofc-muted)}.ofc-metric-grid strong{display:block;font-size:1.8rem;color:var(--ofc-green-deep);margin:4px 0}.ofc-record-row{display:grid;grid-template-columns:minmax(180px,1fr) 160px 130px auto;gap:14px;align-items:center;border-bottom:1px solid var(--ofc-line);padding:13px 4px}.ofc-record-row:last-child{border-bottom:0}.ofc-record-row strong,.ofc-record-row span{min-width:0}.ofc-pill{display:inline-flex;width:max-content;border-radius:999px;padding:4px 9px;background:var(--ofc-green-soft);color:var(--ofc-green);font-size:.72rem;font-weight:900;text-transform:uppercase}.ofc-settings-list{display:grid;border:1px solid var(--ofc-line);border-radius:12px;overflow:hidden}.ofc-settings-list article{display:grid;grid-template-columns:minmax(180px,.8fr) 1.5fr;gap:20px;padding:15px;border-bottom:1px solid var(--ofc-line)}.ofc-settings-list article:last-child{border-bottom:0}.ofc-settings-list span{color:var(--ofc-muted)}
.ofc-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;border:1px solid var(--ofc-line);border-radius:16px;padding:26px;color:var(--ofc-ink);box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:auto}.ofc-dialog::backdrop{background:rgba(3,41,28,.75)}.ofc-dialog-close{position:absolute;right:12px;top:8px}.ofc-dialog-close button{border:0;background:transparent;font-size:2rem;cursor:pointer;color:var(--ofc-green)}.ofc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.ofc-form-grid label{display:grid;gap:6px;font-size:.82rem;font-weight:900;color:var(--ofc-green-deep)}.ofc-form-grid label.wide{grid-column:1/-1}.ofc-form-grid input,.ofc-form-grid select,.ofc-form-grid textarea{width:100%;min-height:42px;border:1px solid #aebbb3;border-radius:8px;padding:9px;background:#fff;color:var(--ofc-ink);font:inherit}.ofc-form-grid textarea{min-height:78px;resize:vertical}.ofc-form-grid input:focus,.ofc-form-grid select:focus,.ofc-form-grid textarea:focus{border-color:var(--ofc-gold);outline:3px solid rgba(198,161,91,.25)}.ofc-choice-row label{display:flex;align-items:center;gap:7px;border:1px solid var(--ofc-line);border-radius:8px;padding:10px 15px}.ofc-form-status{font-weight:800}.ofc-form-status.error{color:var(--ofc-danger)}
@media(max-width:980px){.ofc-calendar-shell{grid-template-columns:1fr}.ofc-calendar-nav{display:flex;flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--ofc-line)}.ofc-calendar-nav button{white-space:nowrap;border-left:0;border-bottom:3px solid transparent}.ofc-calendar-nav button.active{border-bottom-color:var(--ofc-gold)}.ofc-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ofc-calendar-toolbar,.ofc-module-head,.ofc-submodule-head{display:grid}.ofc-event-card{grid-template-columns:1fr}.ofc-event-date{justify-items:start}.ofc-event-card dl{display:grid}.ofc-calendar-main{padding:15px}.ofc-metric-grid,.ofc-form-grid{grid-template-columns:1fr}.ofc-form-grid label.wide{grid-column:auto}.ofc-record-row{grid-template-columns:1fr}.ofc-settings-list article{grid-template-columns:1fr}.ofc-view-switch{width:max-content}}

.ofc-public-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.ofc-public-calendar-head h2{margin:.15rem 0 .35rem;color:var(--ofc-green-deep);font-size:2rem}.ofc-public-calendar-head p{margin:0;color:var(--ofc-muted)}.ofc-public-calendar-controls{display:flex;align-items:center;gap:6px}.ofc-public-calendar-controls a{display:inline-grid;place-items:center;min-height:42px;padding:8px 13px;border:1px solid var(--ofc-green);border-radius:7px;background:#fff;color:var(--ofc-green-deep);font-size:.75rem;font-weight:900;text-decoration:none}.ofc-public-calendar-controls a:hover,.ofc-public-calendar-controls a:focus-visible{border-color:var(--ofc-gold);outline:3px solid rgba(198,161,91,.25)}.ofc-public-calendar-scroll{width:100%;overflow-x:auto;border:1px solid var(--ofc-line);border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch}.ofc-public-calendar-weekdays,.ofc-public-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:840px}.ofc-public-calendar-weekdays{border-bottom:1px solid var(--ofc-line);background:var(--ofc-green-deep);color:#fff}.ofc-public-calendar-weekdays span{padding:10px 8px;text-align:center;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.ofc-public-calendar-grid{grid-auto-rows:minmax(122px,auto);gap:1px;background:var(--ofc-line)}.ofc-public-calendar-day{min-width:0;padding:8px;background:#fff}.ofc-public-calendar-day.outside{background:#f3f5f3;color:#89938d}.ofc-public-calendar-day.today{box-shadow:inset 0 0 0 3px var(--ofc-gold)}.ofc-public-calendar-date{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;color:var(--ofc-green-deep);font-size:.72rem}.ofc-public-calendar-date strong{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.78rem}.ofc-public-calendar-day.today .ofc-public-calendar-date strong{background:var(--ofc-gold);color:var(--ofc-green-deep)}.ofc-public-calendar-date span{color:var(--ofc-muted);font-size:.62rem;font-weight:800}.ofc-public-calendar-event{display:grid;gap:2px;margin-top:5px;padding:6px 7px;border-left:4px solid var(--ofc-gold);border-radius:5px;background:var(--ofc-gold-soft);color:var(--ofc-green-deep);text-decoration:none}.ofc-public-calendar-event strong{overflow:hidden;font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.ofc-public-calendar-event span{font-size:.61rem}.ofc-public-calendar-event:hover,.ofc-public-calendar-event:focus-visible{outline:2px solid var(--ofc-gold);outline-offset:1px}.ofc-upcoming-events-head{margin:34px 0 18px}.ofc-upcoming-events-head h2{margin:.2rem 0 0;color:var(--ofc-green-deep);font-size:1.8rem}
.ofc-calendar-public{color:#f4f0e6}.ofc-public-calendar-head h2,.ofc-upcoming-events-head h2{color:#f4f0e6}.ofc-public-calendar-head p{color:#cbd4cc}.ofc-calendar-public .ofc-event-card{color:var(--ofc-ink)}.ofc-calendar-public .ofc-event-card h3{color:var(--ofc-green-deep)}.ofc-calendar-public .ofc-event-card p,.ofc-calendar-public .ofc-event-card dd{color:var(--ofc-ink)}
.ofc-calendar-public .verified-event-announcement{border-color:rgba(211,173,90,.5);border-left-color:#d3ad5a;background:linear-gradient(145deg,#172b23,#0d1814);color:#f7f4ea;box-shadow:0 14px 34px rgba(0,0,0,.3)}.ofc-calendar-public .verified-event-announcement .ofc-event-date{border:1px solid rgba(228,199,116,.55);background:#062e20;color:#fff}.ofc-calendar-public .verified-event-announcement h3,.ofc-calendar-public .verified-event-announcement p,.ofc-calendar-public .verified-event-announcement dd{color:#fff}.ofc-calendar-public .verified-event-announcement dt{color:#d9e2db}.ofc-calendar-public .verified-event-announcement .ofc-event-meta span{background:#e4c774;color:#111b16}.ofc-calendar-public .verified-event-announcement .ofc-btn:not(.ofc-btn-gold){border-color:#d3ad5a;background:#fff;color:#073f2a}.member-dashboard .ofc-calendar-admin,.member-dashboard .ofc-calendar-main,.member-dashboard .ofc-submodule{color:#17201b}.member-dashboard .ofc-submodule-head h2,.member-dashboard .ofc-record-row strong,.member-dashboard .ofc-backend-calendar strong{color:#03291c}.member-dashboard .ofc-honest-empty p,.member-dashboard .ofc-submodule-head p,.member-dashboard .ofc-record-row span{color:#526058}

/* Public event cards use an opaque light surface so theme-level text colors cannot wash out their content. */
.ofc-event-card,
.ofc-calendar-public .ofc-event-card,
.ofc-calendar-public .ofc-event-card.verified-event-announcement {
	background: #fff;
	color: var(--ofc-ink);
}

.ofc-event-card h3,
.ofc-event-card p,
.ofc-event-card dd,
.ofc-calendar-public .ofc-event-card.verified-event-announcement h3,
.ofc-calendar-public .ofc-event-card.verified-event-announcement p,
.ofc-calendar-public .ofc-event-card.verified-event-announcement dd {
	color: var(--ofc-ink);
}

.ofc-calendar-public .ofc-event-card.verified-event-announcement dt {
	color: #526058;
}

.ofc-calendar-public .ofc-event-card.verified-event-announcement .ofc-event-meta span {
	background: var(--ofc-gold-soft);
	color: var(--ofc-green-deep);
}

.ofc-public-calendar-day[aria-current="date"],
.ofc-calendar-day[aria-current="date"] {
	box-shadow: inset 0 0 0 3px var(--ofc-gold);
}

.ofc-event-card[id],
#events-calendar {
	scroll-margin-top: 160px;
}

.ofc-home-event-viewbar,
.ofc-home-calendar-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 18px;
}

.ofc-viewer-timezone {
	margin: 0 0 14px;
	color: #526058;
	font-size: .82rem;
	font-weight: 800;
}

.ofc-home-calendar-heading {
	margin-top: 4px;
	color: var(--ofc-green-deep);
}

.ofc-home-calendar-heading strong {
	font-size: 1.35rem;
}

.ofc-home-calendar-heading a {
	color: var(--ofc-green);
	font-weight: 900;
}

#home-upcoming-events [data-ofc-view-panel][hidden] {
	display: none;
}

@media(max-width:820px) {
	.ofc-event-card[id],
	#events-calendar {
		scroll-margin-top: 104px;
	}
}

@media(max-width:640px){.ofc-public-calendar-head,.ofc-home-event-viewbar,.ofc-home-calendar-heading{display:grid}.ofc-public-calendar-controls{flex-wrap:wrap}.ofc-home-event-viewbar .ofc-view-switch{width:100%}.ofc-home-event-viewbar .ofc-view-switch button{flex:1}}
