.ekk-member-shell,.ekk-portal {
	--ekk-ink:#242424;
	--ekk-soft:#f3f1ec;
	--ekk-line:#ddd9d0;
	width:min(100% - 28px,920px);
	margin:40px auto;
	color:var(--ekk-ink);
}
.ekk-member-shell { padding:clamp(24px,5vw,52px); border:1px solid var(--ekk-line); border-radius:24px; background:#fff; box-shadow:0 20px 70px rgba(20,20,20,.08); }
.ekk-member-shell--login { width:min(100% - 28px,520px); }
.ekk-member-heading { margin-bottom:30px; }
.ekk-member-heading p,.ekk-portal__header p { margin:0 0 8px; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; opacity:.55; }
.ekk-member-heading h2,.ekk-portal__header h2 { margin:0; font-size:clamp(2rem,5vw,3.6rem); letter-spacing:-.045em; line-height:1; }
.ekk-member-heading>span { display:block; margin-top:13px; opacity:.68; }
.ekk-member-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ekk-member-field { display:grid; gap:7px; }
.ekk-member-field>span { font-weight:700; }
.ekk-member-field input,.ekk-member-field textarea { box-sizing:border-box; width:100%; padding:12px 14px; border:1px solid #cbc7bd; border-radius:10px; background:#fff; }
.ekk-member-field small { opacity:.6; }
.ekk-member-field--wide { grid-column:1/-1; }
.ekk-member-consent { display:flex; gap:9px; align-items:flex-start; font-size:.92rem; line-height:1.45; }
.ekk-member-button,.ekk-member-shell #wp-submit { min-height:52px; padding:12px 22px; border:0; border-radius:99px; background:#242424; color:#fff; font-weight:750; cursor:pointer; }
.ekk-member-success,.ekk-member-error,.ekk-member-notice { width:min(100% - 28px,920px); box-sizing:border-box; margin:20px auto; padding:15px 18px; border-radius:12px; }
.ekk-member-success { background:#e4f7eb; color:#176d3c; }
.ekk-member-error { background:#fee9e7; color:#952f25; }
.ekk-member-notice { background:#eef0f4; }
.ekk-member-pending { padding:30px 10px; text-align:center; }
.ekk-member-pending>span { display:inline-grid; place-items:center; width:62px; height:62px; border-radius:50%; background:#e4f7eb; color:#176d3c; font-size:28px; }
.ekk-portal__header { display:flex; align-items:center; gap:22px; padding:28px; border-radius:24px; background:#242424; color:#fff; }
.ekk-portal__header img { width:110px; height:110px; border-radius:24px; object-fit:cover; }
.ekk-portal__role { display:inline-block; margin-top:10px; opacity:.72; }
.ekk-portal__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.ekk-portal-card { padding:25px; border:1px solid var(--ekk-line); border-radius:20px; background:#fff; }
.ekk-portal-card h3 { margin-top:0; }
.ekk-portal-card dl { margin:0; }
.ekk-portal-card dl>div { display:grid; grid-template-columns:110px 1fr; gap:10px; padding:11px 0; border-bottom:1px solid var(--ekk-line); }
.ekk-portal-card dt { opacity:.58; }
.ekk-portal-card dd { margin:0; font-weight:650; }
.ekk-portal__ministries { display:grid; gap:10px; }
.ekk-portal__ministries>div { display:flex; justify-content:space-between; padding:13px; border-radius:12px; background:var(--ekk-soft); }
.ekk-portal-card--giving,.ekk-portal-card--edit { grid-column:1/-1; }
.ekk-portal-card--giving { background:var(--ekk-soft); }
.ekk-portal-card--giving>span { display:inline-block; padding:6px 10px; border-radius:99px; background:#ddd8ce; font-size:.8rem; font-weight:700; }
.ekk-portal footer { padding:20px 4px; text-align:right; }
.ekk-member-shell--login label { display:block; margin-bottom:7px; font-weight:700; }
.ekk-member-shell--login input[type="text"],.ekk-member-shell--login input[type="email"],.ekk-member-shell--login input[type="password"] { box-sizing:border-box; width:100%; padding:12px; border:1px solid #cbc7bd; border-radius:10px; }
.ekk-auth__google { display:flex; align-items:center; justify-content:center; gap:11px; min-height:50px; padding:0 18px; border:1px solid #cbc7bd; border-radius:999px; color:#242424; text-decoration:none; font-weight:700; }
.ekk-auth__google svg { width:21px; height:21px; }
.ekk-auth__divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:#777; }
.ekk-auth__divider::before,.ekk-auth__divider::after { content:""; height:1px; flex:1; background:#ddd9d0; }
.ekk-auth__form { display:grid; gap:15px; }
.ekk-auth__form label { display:grid!important; gap:7px; }
.ekk-auth__hint { color:#666; font-size:.9rem; }
.ekk-auth__password { margin-top:25px; border-top:1px solid #ddd9d0; padding-top:20px; }
.ekk-auth__password summary { cursor:pointer; font-weight:700; }
.ekk-auth__password form { margin-top:20px; }
.ekk-account-link { display:inline-flex; align-items:center; gap:9px; color:inherit; text-decoration:none; font-weight:700; }
.ekk-account-link__avatar { width:30px!important; height:30px!important; border-radius:50%; object-fit:cover; }
.ekk-public-form { --ekk-ink:#242424; --ekk-soft:#f3f1ec; --ekk-line:#ddd9d0; width:min(100% - 28px,800px); box-sizing:border-box; margin:40px auto; padding:clamp(24px,5vw,50px); border:1px solid var(--ekk-line); border-radius:24px; background:#fff; color:var(--ekk-ink); box-shadow:0 20px 70px rgba(20,20,20,.08); }
.ekk-public-form__heading { margin-bottom:28px; }
.ekk-public-form__heading p { margin:0 0 7px; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; opacity:.58; }
.ekk-public-form__heading h2 { margin:0; font-size:clamp(2rem,5vw,3.4rem); line-height:1; letter-spacing:-.04em; }
.ekk-public-form__heading span { display:block; margin-top:12px; opacity:.68; }
.ekk-public-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ekk-public-field { display:grid; gap:7px; }
.ekk-public-field--full { grid-column:1/-1; }
.ekk-public-field label { font-weight:700; }
.ekk-public-field>input,.ekk-public-field>select,.ekk-public-field>textarea { box-sizing:border-box; width:100%; min-height:48px; padding:12px 14px; border:1px solid #cbc7bd; border-radius:10px; background:#fff; font:inherit; }
.ekk-choice-group { display:grid; gap:8px; padding:8px 0; }
.ekk-choice-group label { display:flex; align-items:center; gap:8px; font-weight:500; }
.ekk-honeypot { position:absolute!important; left:-9999px!important; }
.ekk-news-grid { width:min(100% - 28px,1180px); margin:40px auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ekk-news-card { overflow:hidden; border:1px solid #e3e0d9; border-radius:20px; background:#fff; }
.ekk-news-card__image { display:block; aspect-ratio:16/9; background:#eceae5; }
.ekk-news-card__image img { width:100%; height:100%; object-fit:cover; }
.ekk-news-card__body { padding:22px; }
.ekk-news-card__meta { display:flex; justify-content:space-between; gap:10px; color:#6f716f; font-size:.8rem; }
.ekk-news-card h3 { margin:10px 0; font-size:1.35rem; line-height:1.2; }
.ekk-news-card h3 a { color:inherit; text-decoration:none; }
.ekk-news-card p { margin:0; color:#616363; }
.ekk-news-empty { grid-column:1/-1; display:grid; gap:5px; padding:34px; border:1px dashed #cfcbc2; border-radius:18px; color:#6a6a66; text-align:center; }
.ekk-news-empty strong { color:#242424; font-size:1.2rem; }
.ekk-workspace { --ekk-ink:#1d2535; --ekk-muted:#727887; --ekk-line:#e4e7ec; width:min(100% - 28px,1180px); margin:36px auto; overflow:hidden; border:1px solid var(--ekk-line); border-radius:26px; background:#f7f8fa; color:var(--ekk-ink); box-shadow:0 24px 80px rgba(24,31,45,.1); }
.ekk-workspace__header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 30px; background:#fff; border-bottom:1px solid var(--ekk-line); }
.ekk-workspace__person { display:flex; align-items:center; gap:14px; }
.ekk-workspace__person img { border-radius:18px; }
.ekk-workspace__person p,.ekk-workspace__person h2 { margin:0; }
.ekk-workspace__person p { color:#6c5ce7; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.ekk-workspace__person h2 { margin-top:3px; font-size:1.45rem; }
.ekk-workspace__person span { color:var(--ekk-muted); font-size:.85rem; }
.ekk-workspace__header>a { color:var(--ekk-muted); }
.ekk-workspace__nav { display:flex; gap:8px; padding:12px 30px; overflow-x:auto; border-bottom:1px solid var(--ekk-line); background:#fff; }
.ekk-workspace__nav a { padding:9px 14px; border-radius:9px; color:var(--ekk-muted); text-decoration:none; white-space:nowrap; }
.ekk-workspace__nav a.is-active { background:#efedff; color:#5c4bd8; font-weight:700; }
.ekk-workspace__content { padding:28px; }
.ekk-workspace__stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.ekk-workspace__stats>a { display:flex; align-items:center; gap:13px; padding:18px; border:1px solid var(--ekk-line); border-radius:15px; background:#fff; color:inherit; text-decoration:none; }
.ekk-workspace__stats .dashicons { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#efedff; color:#6c5ce7; }
.ekk-workspace__stats div { display:grid; }
.ekk-workspace__stats small { color:var(--ekk-muted); }
.ekk-workspace__stats strong { font-size:1.65rem; }
.ekk-workspace__modules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-top:14px; }
.ekk-workspace__modules>a { display:grid; gap:5px; min-height:120px; padding:19px; border-radius:15px; background:#202633; color:#fff; text-decoration:none; }
.ekk-workspace__modules .dashicons { color:#a99eff; }
.ekk-workspace__modules small { color:#adb2bd; }
.ekk-workspace__recent { margin:0 28px 28px; overflow:hidden; border:1px solid var(--ekk-line); border-radius:16px; background:#fff; }
.ekk-workspace__section-heading { display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--ekk-line); }
.ekk-workspace__section-heading p,.ekk-workspace__section-heading h3 { margin:0; }
.ekk-workspace__section-heading p { color:#6c5ce7; font-size:11px; font-weight:800; text-transform:uppercase; }
.ekk-workspace__member { display:flex; align-items:center; gap:12px; padding:13px 20px; border-bottom:1px solid var(--ekk-line); color:inherit; text-decoration:none; }
.ekk-workspace__member img { border-radius:12px; }
.ekk-workspace__member>span { display:grid; flex:1; }
.ekk-workspace__member small { color:var(--ekk-muted); }
.ekk-workspace__member em { font-style:normal; }
.ekk-workspace>footer { padding:0 28px 24px; text-align:right; }
.ekk-workspace-login { width:min(100% - 24px,520px); margin:40px auto; padding:clamp(22px,5vw,45px); box-sizing:border-box; border:1px solid #ddd9d0; border-radius:22px; background:#fff; box-shadow:0 20px 70px rgba(20,20,20,.08); }

@media (max-width:700px) {
	.ekk-member-form,.ekk-portal__grid { grid-template-columns:1fr; }
	.ekk-member-field--wide,.ekk-portal-card--giving,.ekk-portal-card--edit { grid-column:auto; }
	.ekk-portal__header { align-items:flex-start; }
	.ekk-portal__header img { width:78px; height:78px; border-radius:18px; }
	.ekk-portal-card dl>div { grid-template-columns:1fr; gap:2px; }
	.ekk-public-form__grid,.ekk-news-grid { grid-template-columns:1fr; }
	.ekk-public-field--full { grid-column:auto; }
	.ekk-member-shell,.ekk-portal,.ekk-public-form { width:min(100% - 20px,920px); margin:20px auto; border-radius:18px; }
	.ekk-member-shell,.ekk-public-form { padding:22px 18px; }
	.ekk-member-button { width:100%; }
	.ekk-workspace { width:min(100% - 16px,1180px); margin:12px auto; border-radius:18px; }
	.ekk-workspace__header { align-items:flex-start; padding:18px; }
	.ekk-workspace__person img { width:48px; height:48px; border-radius:13px; }
	.ekk-workspace__person h2 { font-size:1.1rem; }
	.ekk-workspace__header>a { font-size:.8rem; }
	.ekk-workspace__nav { padding:10px 14px; }
	.ekk-workspace__content { padding:16px; }
	.ekk-workspace__stats,.ekk-workspace__modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ekk-workspace__recent { margin:0 16px 16px; }
	.ekk-workspace__member em { display:none; }
}

@media (max-width:420px) {
	.ekk-workspace__stats,.ekk-workspace__modules { grid-template-columns:1fr; }
}
