@media print { a[href]:after { content: none !important; } }

		:root {
			--theme-body-bg: #f1f5f9;
			--theme-body-text: #0f172a;
			--theme-header-bg: #0f2747;
			--theme-header-text: #ffffff;
			--theme-menu-bg: #0b1220;
			--theme-menu-text: #e5e7eb;
			--theme-menu-hover-bg: #1d4ed8;
			--theme-menu-hover-text: #ffffff;
			--theme-panel-bg: #ffffff;
			--theme-panel-border: #cbd5e1;
			--theme-panel-header-bg: #0f2747;
			--theme-panel-header-text: #ffffff;
			--theme-link: #1d4ed8;
			--theme-link-hover: #1e3a8a;
			--theme-primary: #1d4ed8;
			--theme-accent: #1d4ed8;
			--theme-button-bg: #1d4ed8;
			--theme-button-hover-bg: #1e40af;
			--theme-button-text: #ffffff;
			--site-button-bg: #1d4ed8;
			--site-button-text: #ffffff;
			--theme-footer-bg: #cbd5e1;
			--theme-footer-text: #0f172a;
			--theme-secondary-bg: #64748b;
			--theme-secondary-hover-bg: #475569;
			--theme-secondary-text: #ffffff;
			--theme-success-bg: #15803d;
			--theme-success-hover-bg: #166534;
			--theme-success-text: #166534;
			--theme-success-soft-bg: #dcfce7;
			--theme-success-soft-text: #166534;
			--theme-success-border: #86efac;
			--theme-danger-bg: #dc2626;
			--theme-danger-hover-bg: #b91c1c;
			--theme-danger-text: #b91c1c;
			--theme-danger-soft-bg: #fee2e2;
			--theme-danger-soft-text: #b91c1c;
			--theme-danger-border: #fecaca;
			--theme-warning-bg: #d97706;
			--theme-warning-hover-bg: #b45309;
			--theme-warning-text: #b45309;
			--theme-warning-soft-bg: #fef3c7;
			--theme-warning-soft-text: #92400e;
			--theme-warning-border: #fcd34d;
			--theme-info-bg: #2563eb;
			--theme-info-hover-bg: #1d4ed8;
			--theme-info-text: #1d4ed8;
			--theme-info-soft-bg: #dbeafe;
			--theme-info-soft-text: #1e40af;
			--theme-info-border: #bfdbfe;
			--theme-table-header-bg: #f1f5f9;
			--theme-table-row-alt-bg: #f8fafc;
			--theme-table-row-hover-bg: #eff6ff;
			--theme-table-border: #e2e8f0;

			--theme-input-bg: #ffffff;
			--theme-input-text: #0f172a;
			--theme-input-border: #64748b;
			--theme-input-placeholder: #475569;
			--theme-input-focus-border: #1d4ed8;
			--theme-input-focus-shadow: rgba(37, 99, 235, 0.25);
			--theme-input-disabled-bg: #e2e8f0;
			--theme-input-disabled-text: #475569;
			--theme-select-bg: #ffffff;
			--theme-select-text: #0f172a;
                        --theme-textarea-bg: #ffffff;
                        --theme-textarea-text: #0f172a;
		}

		.site-body { background: var(--theme-body-bg); color: var(--theme-body-text); }
		.site-header { background: var(--theme-header-bg); color: var(--theme-header-text); }
		.site-header button:hover { background: color-mix(in srgb, var(--theme-header-text) 15%, transparent); }
		.site-menu-panel { background: var(--theme-menu-bg); color: var(--theme-menu-text); }
		.site-menu-border { border-color: color-mix(in srgb, var(--theme-menu-text) 22%, transparent); }
		.site-card { border-color: var(--theme-panel-border); background: var(--theme-panel-bg); color: var(--theme-body-text); }
		.site-card-title { background: var(--theme-panel-header-bg); color: var(--theme-panel-header-text); }
		.site-link, .site-card a, #eventsTable a, #orgContacts a { color: var(--theme-link); text-decoration: underline; }
		.site-link:hover, .site-card a:hover, #eventsTable a:hover, #orgContacts a:hover { color: var(--theme-link-hover); }
		.site-button { background: var(--theme-button-bg); color: var(--theme-button-text); }
		.site-button:hover { background: var(--theme-button-hover-bg); }
		.site-footer { background: var(--theme-footer-bg); color: var(--theme-footer-text); }
		.site-primary-text { color: var(--theme-link); }
		.theme-text { color: var(--theme-body-text); }
		.theme-muted { color: color-mix(in srgb, var(--theme-body-text) 72%, var(--theme-body-bg)); }
		.theme-border { border-color: var(--theme-panel-border); }
		.theme-table-border { border-color: var(--theme-table-border); }
		.theme-table-header {
			background-color: var(--theme-table-header-bg);
			color: var(--theme-body-text);
		}
		.theme-table-alt { background-color: var(--theme-table-row-alt-bg); }
		.theme-table-hover:hover {
			background-color: var(--theme-table-row-hover-bg);
			color: var(--theme-body-text);
		}

		input,
		select,
		textarea,
		.site-input,
		.site-select,
		.site-textarea {
			background-color: var(--theme-input-bg);
			color: var(--theme-input-text);
			border: 1px solid var(--theme-input-border);
			border-radius: 0.375rem;
		}

		select,
		.site-select {
			background-color: var(--theme-select-bg);
			color: var(--theme-select-text);
		}

		textarea,
		.site-textarea {
			background-color: var(--theme-textarea-bg);
			color: var(--theme-textarea-text);
		}

		input::placeholder,
		textarea::placeholder {
			color: var(--theme-input-placeholder);
			opacity: 1;
		}

		input:focus,
		select:focus,
		textarea:focus,
		.site-input:focus,
		.site-select:focus,
		.site-textarea:focus {
			border-color: var(--theme-input-focus-border);
			box-shadow: 0 0 0 0.2rem var(--theme-input-focus-shadow);
			outline: none;
		}

		input:disabled,
		select:disabled,
		textarea:disabled,
		input[readonly],
		textarea[readonly] {
			background-color: var(--theme-input-disabled-bg);
			color: var(--theme-input-disabled-text);
			border-color: var(--theme-input-border);
			opacity: 1;
			cursor: not-allowed;
		}

		input[type="checkbox"],
		input[type="radio"] {
			accent-color: var(--theme-button-bg);
		}

		input[type="date"] {
			color-scheme: dark;
		}

		input[type="date"]::-webkit-calendar-picker-indicator {
			cursor: pointer;
			filter: invert(1) brightness(1.35);
			opacity: 0.9;
		}

                .site-account-menu {
                        background: color-mix(in srgb, var(--theme-header-text) 94%, var(--theme-header-bg));
                        color: var(--theme-header-bg);
		}

		.site-account-menu button:hover {
			background: color-mix(in srgb, var(--theme-header-bg) 12%, transparent);
		}

		/* Styles for server-generated menu markup from general.js */
		#menuData a,
		#menuData button.menu-parent-button {
			display: flex;
			width: 100%;
			align-items: center;
			justify-content: space-between;
			gap: 0.75rem;
			padding: 0.55rem 0.75rem;
			border-radius: 0.375rem;
			color: var(--theme-menu-text);
			text-align: left;
			text-decoration: none;
		}
		#menuData a:hover,
		#menuData button.menu-parent-button:hover { background: var(--theme-menu-hover-bg); color: var(--theme-menu-hover-text); }
		#menuData ul.menu-children { margin-left: 0.85rem; margin-top: 0.15rem; }
		#menuData .menu-icon { width: 1.5rem; flex: 0 0 auto; text-align: center; font-size: 1.5rem; font-weight: 700; line-height: 1; }
		#menuData li.menuBreak { border-top: 1px solid color-mix(in srgb, var(--theme-menu-text) 22%, transparent); margin-top: 0.45rem; padding-top: 0.45rem; }
		#personalMenu li {
			cursor: pointer;
			padding: 0.6rem 0.9rem;
			white-space: nowrap;
		}
		#personalMenu li:hover { background: color-mix(in srgb, var(--theme-link) 12%, transparent); }
		
		.theme-card,
.theme-panel,
.config-card,
.myfieldset,
.scroll-box {
    background-color: var(--theme-panel-bg);
    color: var(--theme-body-text);
    border-color: var(--theme-panel-border);
}

.theme-panel-translucent {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 10%, transparent);
}

.theme-panel-translucent-80,
.theme-card-translucent-80 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 80%, transparent);
}

.theme-panel-translucent-60 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 60%, transparent);
}

.theme-panel-translucent-70 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 70%, transparent);
}

.theme-panel-translucent-95 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 95%, transparent);
}

.theme-card-translucent-70 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 70%, transparent);
}

.theme-card-translucent-85 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 85%, transparent);
}

.theme-card-translucent-90 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 90%, transparent);
}

.theme-card-translucent-95 {
    background-color: color-mix(in srgb, var(--theme-panel-bg) 95%, transparent);
}

.theme-panel-border-translucent {
    border-color: color-mix(in srgb, var(--theme-panel-bg) 10%, transparent);
}

.theme-panel-border {
    border-color: var(--theme-panel-bg);
}

.theme-panel-ring {
    --tw-ring-color: color-mix(in srgb, var(--theme-panel-bg) 70%, transparent);
}

.theme-danger-ring {
    --tw-ring-color: var(--theme-danger-text);
}

.theme-card {
    border: 1px solid var(--theme-panel-border);
}

.theme-border {
    border-color: var(--theme-panel-border);
}

.theme-text {
    color: var(--theme-body-text);
}

.theme-muted {
    color: color-mix(in srgb, var(--theme-body-text) 70%, transparent);
}

.theme-link {
    color: var(--theme-link);
}

.theme-link:hover {
    color: var(--theme-link-hover);
}

.theme-input {
    background-color: var(--theme-panel-bg);
    color: var(--theme-body-text);
    border: 1px solid var(--theme-panel-border);
}

.theme-input::placeholder {
    color: color-mix(in srgb, var(--theme-body-text) 55%, transparent);
}

.theme-button {
    background-color: var(--theme-button-bg);
    color: var(--theme-button-text);
    border-color: var(--theme-button-bg);
}

.theme-button:hover {
    background-color: var(--theme-button-hover-bg);
}

.theme-tab {
    background-color: var(--theme-panel-bg);
    color: var(--theme-body-text);
    border-color: var(--theme-panel-border);
}

.theme-tab-active {
    background-color: var(--theme-button-bg);
    color: var(--theme-button-text);
    border-color: var(--theme-button-bg);
}

.theme-stat-card {
    background-color: var(--theme-panel-bg);
    color: var(--theme-body-text);
    border-color: var(--theme-panel-border);
}

.theme-stat-label {
    color: color-mix(in srgb, var(--theme-body-text) 70%, transparent);
}

.theme-stat-value {
    color: var(--theme-link);
}

.theme-secondary {
    background-color: var(--theme-secondary-bg);
    color: var(--theme-secondary-text);
    border-color: var(--theme-secondary-bg);
}

.theme-secondary:hover {
    background-color: var(--theme-secondary-hover-bg);
}

.theme-success-bg { background-color: var(--theme-success-bg); }
.theme-success-bg:hover { background-color: var(--theme-success-hover-bg); }
.theme-success-text { color: var(--theme-success-text); }
.theme-success-soft { background-color: var(--theme-success-soft-bg); color: var(--theme-success-soft-text); }
.theme-success-border { border-color: var(--theme-success-border); }

.theme-danger-bg { background-color: var(--theme-danger-bg); }
.theme-danger-bg:hover { background-color: var(--theme-danger-hover-bg); }
.theme-danger-text { color: var(--theme-danger-text); }
.theme-danger-soft { background-color: var(--theme-danger-soft-bg); color: var(--theme-danger-soft-text); }
.theme-danger-border { border-color: var(--theme-danger-border); }

.theme-warning-bg { background-color: var(--theme-warning-bg); }
.theme-warning-bg:hover { background-color: var(--theme-warning-hover-bg); }
.theme-warning-text { color: var(--theme-warning-text); }
.theme-warning-soft { background-color: var(--theme-warning-soft-bg); color: var(--theme-warning-soft-text); }
.theme-warning-border { border-color: var(--theme-warning-border); }

.theme-info-bg { background-color: var(--theme-info-bg); }
.theme-info-bg:hover { background-color: var(--theme-info-hover-bg); }
.theme-info-text { color: var(--theme-info-text); }
.theme-info-soft { background-color: var(--theme-info-soft-bg); color: var(--theme-info-soft-text); }
.theme-info-border { border-color: var(--theme-info-border); }

.theme-table-header {
    background-color: var(--theme-table-header-bg);
    color: var(--theme-body-text);
}

.theme-table-alt {
    background-color: var(--theme-table-row-alt-bg);
}

.theme-table-hover:hover {
    background-color: var(--theme-table-row-hover-bg);
}

.theme-table-border {
    border-color: var(--theme-table-border);
}
