:root {
    --escf-cream: #f3eee3;
    --escf-ivory: #faf7f1;
    --escf-brown: #4a3522;
    --escf-gold: #b48a3c;
    --escf-border: #dfd2bd;
    --escf-muted: #6b5a49;
    --escf-success: #2f6b3f;
    --escf-error: #9b2f2f;
    --escf-info: #245070;
}

.escf-shortcode {
    background: var(--escf-ivory);
    border: 1px solid var(--escf-border);
    border-radius: 12px;
    color: var(--escf-brown);
    margin: 0 0 24px;
    padding: 24px;
}

.escf-shortcode__title {
    color: var(--escf-brown);
    font-size: 1.25rem;
    margin: 0 0 12px;
}

.escf-shortcode__body p {
    margin: 0;
}

.escf-page-template {
    background: var(--escf-ivory);
    border: 1px solid var(--escf-border);
    border-radius: 12px;
    margin: 0 0 24px;
    padding: 24px;
}

.escf-access-page {
    background: linear-gradient(145deg, #f8f4eb 0%, #f1e8d7 100%);
    border: 1px solid #d8c8ab;
    border-radius: 16px;
    padding: 28px;
}

.escf-access-page__header {
    margin-bottom: 18px;
}

.escf-access-page__title {
    color: var(--escf-brown);
    font-size: 1.7rem;
    margin: 0 0 8px;
}

.escf-access-page__subtitle {
    color: var(--escf-muted);
    margin: 0;
}

.escf-access-page--login {
    background:
        radial-gradient(circle at 8% 18%, rgba(255, 255, 255, 0.72) 0, rgba(255, 255, 255, 0) 42%),
        radial-gradient(circle at 90% 75%, rgba(204, 183, 153, 0.2) 0, rgba(204, 183, 153, 0) 46%),
        linear-gradient(140deg, #f3eee3 0%, #f7f3eb 48%, #ede3d3 100%);
    border-color: #d6c2a0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
    padding: 44px 36px 34px;
}

.escf-login-shell__header {
    margin-bottom: 26px;
    text-align: center;
}

.escf-login-shell__title {
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(2rem, 3.3vw, 3rem);
    font-weight: 500;
    letter-spacing: 0.01em;
}

.escf-login-shell__subtitle {
    font-size: 1.05rem;
    margin: 0 auto;
    max-width: 760px;
}

.escf-login-shell__divider {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: center;
    margin-top: 14px;
}

.escf-login-shell__line {
    background: linear-gradient(90deg, transparent 0%, #b39767 25%, #b39767 75%, transparent 100%);
    height: 1px;
    max-width: 320px;
    width: 34%;
}

.escf-login-shell__monogram {
    color: #9f8150;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: 1.32rem;
    letter-spacing: 0.3em;
    white-space: nowrap;
}

.escf-login-cards {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.escf-login-card {
    align-items: center;
    background: rgba(255, 253, 249, 0.82);
    border: 1px solid #dac8ad;
    display: flex;
    flex-direction: column;
    min-height: 420px;
    text-align: center;
}

.escf-login-card--auth {
    align-items: stretch;
    text-align: left;
}

.escf-login-card--first {
    background:
        radial-gradient(circle at 74% 22%, rgba(208, 188, 157, 0.2) 0, rgba(208, 188, 157, 0) 52%),
        linear-gradient(160deg, #f8f4ed 0%, #f4ede0 100%);
    border-color: #b89d74;
    box-shadow: 0 12px 24px rgba(61, 43, 24, 0.06);
}

.escf-login-card__icon {
    color: #9f8150;
    display: inline-flex;
    justify-content: center;
    margin: 4px auto 10px;
}

.escf-login-card__icon svg {
    fill: none;
    height: 40px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
    width: 40px;
}

.escf-login-shell .escf-login-card h2 {
    color: #4b3423;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(1.9rem, 2.2vw, 2.4rem);
    font-weight: 500;
    line-height: 1.06;
    margin: 4px 0 8px;
}

.escf-login-shell .escf-login-card p {
    margin-bottom: 8px;
}

.escf-login-card__separator {
    border: 0;
    border-top: 1px solid #e7dbc8;
    margin: 8px 0 14px;
    width: 100%;
}

.escf-login-card--auth .escf-login-card__separator {
    margin-top: 14px;
}

.escf-login-card .escf-form {
    width: 100%;
}

.escf-login-card .escf-form label {
    color: #5a4634;
    font-size: 0.95rem;
}

.escf-login-card .escf-form input {
    border-color: #d7c7ad;
}

.escf-login-card .escf-checkbox {
    margin: 6px 0 2px;
}

.escf-login-card .escf-button {
    margin-top: 6px;
    width: 100%;
}

.escf-login-card__helper-link {
    color: #7b6341;
    font-size: 0.96rem;
    margin-top: 8px;
    text-align: center;
    text-decoration: underline;
}

.escf-login-card__actions {
    margin: 10px 0 4px;
    width: 100%;
}

.escf-login-card__actions .escf-button {
    margin-top: 0;
    max-width: 100%;
    width: auto;
}

.escf-button--accent {
    background: linear-gradient(180deg, #b59a6f 0%, #9a7d4f 100%);
    border: 1px solid #8e7348;
    box-shadow: 0 6px 12px rgba(70, 54, 34, 0.12);
    color: #fff;
}

.escf-login-newcomer {
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: 120px 1fr;
    margin: 24px auto 0;
    max-width: 940px;
    text-align: left;
}

.escf-login-newcomer__icon {
    color: #c2ad86;
    justify-self: center;
}

.escf-login-newcomer__icon svg {
    fill: none;
    height: 74px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
    width: 74px;
}

.escf-login-shell .escf-login-newcomer__content h2 {
    color: #4c3726;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(2rem, 2.5vw, 2.5rem);
    margin: 0 0 4px;
}

.escf-login-newcomer .escf-access-note {
    margin-top: 4px;
}

.escf-access-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: 1.35fr 1fr;
}

.escf-access-panel {
    background: #fffdf8;
    border: 1px solid #e2d5bf;
    border-radius: 12px;
    padding: 20px;
}

.escf-access-panel h2 {
    color: var(--escf-brown);
    font-size: 1.15rem;
    margin: 0 0 10px;
}

.escf-access-panel p {
    color: var(--escf-muted);
    margin: 0 0 12px;
}

.escf-access-message {
    border-radius: 10px;
    font-weight: 500;
    margin: 0 0 14px;
    padding: 12px 14px;
}

.escf-access-message.is-success {
    background: #ecf8ef;
    border: 1px solid #b9dfc3;
    color: var(--escf-success);
}

.escf-access-message.is-error {
    background: #fceeee;
    border: 1px solid #efc5c5;
    color: var(--escf-error);
}

.escf-access-message.is-info {
    background: #edf5fb;
    border: 1px solid #c6dbea;
    color: var(--escf-info);
}

.escf-form {
    display: grid;
    gap: 12px;
}

.escf-form label {
    color: var(--escf-brown);
    font-size: 0.95rem;
    font-weight: 600;
}

.escf-form input,
.escf-form textarea {
    background: #fff;
    border: 1px solid #ccbba2;
    border-radius: 8px;
    color: #2e241a;
    font-size: 0.96rem;
    padding: 10px 12px;
}

.escf-form input:focus,
.escf-form textarea:focus {
    border-color: var(--escf-gold);
    box-shadow: 0 0 0 3px rgba(180, 138, 60, 0.15);
    outline: none;
}

.escf-form input[type="file"] {
    line-height: 1.35;
    padding: 8px 10px;
}

.escf-form-grid--files {
    gap: 14px;
    grid-template-columns: 1fr;
}

.escf-input-help {
    color: #7b6b58;
    font-size: 0.83rem;
    margin: 6px 0 0;
}

.escf-honeypot {
    left: -9999px;
    position: absolute;
    top: -9999px;
}

.escf-checkbox {
    align-items: flex-start;
    display: flex;
    gap: 8px;
    font-weight: 400;
}

.escf-checkbox input {
    margin-top: 3px;
}

.escf-checkbox a {
    color: var(--escf-brown);
    text-decoration: underline;
}

.escf-button {
    border-radius: 8px;
    display: inline-block;
    font-weight: 600;
    padding: 11px 16px;
    text-align: center;
    text-decoration: none;
}

.escf-button--primary {
    background: var(--escf-brown);
    border: 1px solid var(--escf-brown);
    color: #fff;
}

.escf-button--ghost {
    background: transparent;
    border: 1px solid #9e8662;
    color: var(--escf-brown);
}

.escf-access-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.escf-link-cards {
    display: grid;
    gap: 10px;
}

.escf-link-card {
    background: #fff;
    border: 1px solid #d9c9af;
    border-radius: 10px;
    color: inherit;
    display: grid;
    gap: 5px;
    padding: 12px;
    text-decoration: none;
}

.escf-link-card strong {
    color: var(--escf-brown);
}

.escf-link-card span {
    color: var(--escf-muted);
    font-size: 0.92rem;
}

.escf-access-note {
    color: var(--escf-muted);
    font-size: 0.92rem;
    margin-top: 12px;
}

.escf-access-note a {
    color: var(--escf-brown);
    text-decoration: underline;
}

.escf-step-list {
    color: var(--escf-muted);
    margin: 0;
    padding-left: 20px;
}

.escf-step-list li {
    margin-bottom: 8px;
}

.escf-form-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
}

.escf-shortcode--dashboard {
    background: transparent;
    border: 0;
    border-radius: 0;
    margin: 0;
    padding: 0;
}

.escf-dashboard-shell {
    color: #4d3a2a;
    font-family: "Source Sans Pro", "Segoe UI", sans-serif;
}

.escf-dashboard-layout {
    background:
        radial-gradient(circle at 84% 16%, rgba(215, 196, 167, 0.2) 0, rgba(215, 196, 167, 0) 44%),
        radial-gradient(circle at 6% 88%, rgba(255, 255, 255, 0.54) 0, rgba(255, 255, 255, 0) 36%),
        linear-gradient(145deg, #f4efe7 0%, #f7f3eb 46%, #eee4d7 100%);
    border: 1px solid #dccfbc;
    border-radius: 20px;
    box-shadow: 0 18px 36px rgba(76, 56, 35, 0.07);
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    min-height: 700px;
    overflow: hidden;
}

.escf-dashboard-layout__sidebar {
    background:
        radial-gradient(circle at 88% 6%, rgba(255, 255, 255, 0.44) 0, rgba(255, 255, 255, 0) 34%),
        linear-gradient(180deg, #f6f2eb 0%, #f2ece2 48%, #ece4d8 100%);
    border-right: 1px solid #dfd3c0;
    color: #4a3524;
}

.escf-dashboard-layout__content {
    display: grid;
    gap: 20px;
    padding: 26px;
}

.escf-dashboard-sidebar {
    display: grid;
    gap: 16px;
    grid-template-rows: auto auto auto 1fr auto auto;
    min-height: 100%;
    padding: 24px 18px 18px;
}

.escf-dashboard-sidebar__brand {
    border-bottom: 1px solid #d8cab2;
    padding-bottom: 14px;
}

.escf-dashboard-sidebar__brand-logo {
    display: block;
    height: auto;
    margin: 0 0 10px;
    max-width: 250px;
    width: 100%;
}

.escf-dashboard-sidebar__brand-title {
    color: #7d6035;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: 1.9rem;
    line-height: 1.05;
    margin: 0;
}

.escf-dashboard-sidebar__brand-subtitle {
    color: #6f5740;
    font-size: 0.89rem;
    margin: 6px 0 0;
}

.escf-dashboard-sidebar__nav--spotlight {
    border-bottom: 1px solid #dbcdb6;
    padding-bottom: 12px;
}

.escf-dashboard-sidebar__admin {
    border-top: 1px solid #dbcdb6;
    padding-top: 12px;
}

.escf-dashboard-sidebar__section-title {
    color: #6f5842;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.escf-dashboard-sidebar__list {
    display: grid;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.escf-dashboard-sidebar__link {
    align-items: center;
    border-radius: 10px;
    color: #5b442f;
    display: grid;
    font-size: 1.08rem;
    gap: 12px;
    grid-template-columns: 20px minmax(0, 1fr);
    padding: 11px 12px;
    text-decoration: none;
}

.escf-dashboard-sidebar__link:hover,
.escf-dashboard-sidebar__link:focus-visible {
    background: #f9f5ee;
    color: #3f2f21;
}

.escf-dashboard-sidebar__link.is-active {
    background: linear-gradient(180deg, #f0e8dc 0%, #eae0d2 100%);
    border-left: 3px solid #a67b45;
    color: #3d2d20;
    font-weight: 600;
    padding-left: 9px;
}

.escf-dashboard-sidebar__link--admin {
    color: #6a5038;
    font-size: 1rem;
}

.escf-dashboard-sidebar__icon {
    color: #9f7a45;
    font-size: 18px;
    height: 18px;
    line-height: 18px;
    width: 18px;
}

.escf-dashboard-sidebar__utility {
    border-top: 1px solid #d9ccb8;
    padding-top: 12px;
}

.escf-dashboard-sidebar__member {
    border-top: 1px solid #d8ccb8;
    color: #6a5037;
    font-size: 0.9rem;
    margin: 0;
    padding-top: 11px;
}

.escf-dashboard-header {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.escf-dashboard-search {
    align-items: center;
    display: flex;
    flex: 1;
    position: relative;
}

.escf-dashboard-search__icon {
    color: #8d7150;
    left: 14px;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.escf-dashboard-search__icon svg {
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
}

.escf-dashboard-search input {
    background: #fffefb;
    border: 1px solid #d8c9b2;
    border-radius: 12px;
    color: #3a2e22;
    font-size: 1.08rem;
    padding: 12px 16px 12px 44px;
    width: 100%;
}

.escf-dashboard-header__actions {
    align-items: center;
    display: flex;
    gap: 12px;
}

.escf-dashboard-notification {
    align-items: center;
    background: #fffdf9;
    border: 1px solid #d8cab3;
    border-radius: 999px;
    color: #5d4832;
    display: inline-flex;
    justify-content: center;
    min-height: 42px;
    min-width: 42px;
    padding: 0;
    position: relative;
}

.escf-dashboard-notification strong {
    background: #ac7f4a;
    border-radius: 999px;
    color: #fff;
    font-size: 0.72rem;
    min-width: 18px;
    padding: 1px 5px;
    position: absolute;
    right: -5px;
    text-align: center;
    top: -4px;
}

.escf-dashboard-profile-chip {
    align-items: center;
    background: #fffdf9;
    border: 1px solid #d8cab3;
    border-radius: 999px;
    display: inline-flex;
    gap: 10px;
    padding: 5px 12px 5px 5px;
}

.escf-dashboard-profile-chip img {
    border-radius: 50%;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.escf-dashboard-profile-chip__placeholder {
    align-items: center;
    background: linear-gradient(180deg, #b89b72 0%, #a5804f 100%);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.escf-dashboard-profile-chip span {
    color: #4f3a27;
    font-size: 0.95rem;
    font-weight: 600;
}

.escf-dashboard-card {
    background: #fffdf9;
    border: 1px solid #e2d6c2;
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(82, 61, 38, 0.05);
    padding: 20px;
}

.escf-dashboard-card--notice {
    margin: 12px 0;
}

.escf-dashboard-module__header {
    border-bottom: 1px solid #eadfce;
    margin-bottom: 12px;
    padding-bottom: 10px;
}

.escf-dashboard-module__header h3 {
    color: #473324;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: 2rem;
    margin: 0;
}

.escf-dashboard-module__footer {
    margin: 14px 0 0;
}

.escf-dashboard-module__more {
    color: #7f5d35;
    display: inline-block;
    font-weight: 600;
    text-decoration: underline;
}

.escf-dashboard-empty {
    color: #78644f;
    margin: 0;
}

.escf-dashboard-welcome {
    display: grid;
    gap: 14px;
}

.escf-dashboard-welcome__hero {
    align-items: center;
    background-color: #f1e9dd;
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 18px;
    min-height: 300px;
    overflow: hidden;
    position: relative;
}

.escf-dashboard-welcome__hero::after {
    border: 1px solid rgba(171, 136, 83, 0.36);
    border-radius: 14px;
    content: "";
    inset: 10px;
    pointer-events: none;
    position: absolute;
}

.escf-dashboard-welcome__intro h2 {
    color: #463023;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(2.35rem, 4vw, 3.35rem);
    margin: 0 0 16px;
    position: relative;
    z-index: 1;
}

.escf-dashboard-welcome__meta {
    display: grid;
    gap: 12px;
    margin: 0;
    position: relative;
    z-index: 1;
}

.escf-dashboard-welcome__meta div {
    padding: 0;
}

.escf-dashboard-welcome__meta dt {
    color: #5d4632;
    display: inline;
    font-size: 1rem;
    margin-right: 6px;
}

.escf-dashboard-welcome__meta dd {
    color: #392a1e;
    display: inline;
    font-size: 1.15rem;
    margin: 0;
}

.escf-dashboard-welcome__actions {
    margin: 20px 0 0;
    position: relative;
    z-index: 1;
}

.escf-dashboard-welcome__portrait {
    align-self: end;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.escf-dashboard-welcome__portrait img {
    align-self: flex-end;
    border-radius: 14px 14px 0 0;
    display: block;
    max-height: 280px;
    object-fit: cover;
    width: min(220px, 100%);
}

.escf-dashboard-welcome__message {
    background: #fbf7f0;
    border: 1px solid #e6d9c2;
    border-radius: 10px;
    color: #5e4a37;
    font-size: 0.95rem;
    padding: 12px 14px;
}

.escf-dashboard-welcome__message p {
    margin: 0;
}

.escf-dashboard-row {
    display: grid;
    gap: 16px;
}

.escf-dashboard-row--focus {
    align-items: start;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.escf-dashboard-row--utility {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.escf-dashboard-focus__left,
.escf-dashboard-focus__right {
    display: grid;
    gap: 16px;
}

.escf-dashboard-quick-links {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.escf-dashboard-quick-links__item {
    background: #fbf8f2;
    border: 1px solid #e4d8c4;
    border-radius: 10px;
    color: #4f3b29;
    display: grid;
    gap: 8px;
    min-height: 178px;
    padding: 16px 14px 14px;
    text-decoration: none;
}

.escf-dashboard-quick-links__item:hover,
.escf-dashboard-quick-links__item:focus-visible {
    background: #f2e8da;
    border-color: #d9c7a9;
}

.escf-dashboard-quick-links__icon {
    align-items: center;
    background: #f0e8dc;
    border-radius: 50%;
    color: #a67f4c;
    display: inline-flex;
    font-size: 30px;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.escf-dashboard-quick-links__title {
    color: #433121;
    font-size: clamp(1.65rem, 2.1vw, 2rem);
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    line-height: 1;
}

.escf-dashboard-quick-links__description {
    color: #68513c;
    font-size: 0.95rem;
    line-height: 1.3;
}

.escf-dashboard-status-checks {
    background: #fbf7f0;
    border: 1px solid #e7dac4;
    border-radius: 10px;
    display: grid;
    gap: 11px;
    list-style: none;
    margin: 0;
    padding: 14px 16px;
}

.escf-dashboard-status-checks li {
    align-items: center;
    color: #4a3525;
    display: flex;
    font-size: 1.02rem;
    gap: 8px;
    margin: 0;
}

.escf-dashboard-status-checks .dashicons {
    color: #9f7a45;
    font-size: 20px;
    height: 20px;
    width: 20px;
}

.escf-dashboard-status-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.escf-dashboard-status-list div {
    background: #fbf7f0;
    border: 1px solid #e5d8c4;
    border-radius: 10px;
    padding: 9px 11px;
}

.escf-dashboard-status-list dt {
    color: #7f674c;
    font-size: 0.78rem;
    margin: 0;
    text-transform: uppercase;
}

.escf-dashboard-status-list dd {
    color: #3c2e21;
    font-weight: 600;
    margin: 3px 0 0;
}

.escf-dashboard-featured {
    border: 1px solid #e4d8c4;
    border-radius: 10px;
    overflow: hidden;
}

.escf-dashboard-featured__media {
    background: linear-gradient(145deg, #e8d9c1 0%, #d8c1a0 100%);
    min-height: 210px;
}

.escf-dashboard-featured__media img {
    display: block;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
    width: 100%;
}

.escf-dashboard-featured__body {
    display: grid;
    gap: 4px;
    padding: 14px 16px 16px;
}

.escf-dashboard-featured p {
    color: #604d39;
    margin: 0;
}

.escf-dashboard-featured__name {
    color: #3f2f21;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(2.1rem, 3.5vw, 2.55rem);
    font-weight: 500;
    line-height: 1.02;
    margin: 0 0 3px;
}

.escf-dashboard-featured__action {
    margin-top: 12px;
}

.escf-dashboard-feed {
    display: grid;
    gap: 11px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.escf-dashboard-feed__item a {
    background: #fdfaf4;
    border: 1px solid #eadfce;
    border-radius: 10px;
    color: #4e3929;
    display: grid;
    gap: 6px;
    padding: 12px 13px;
    text-decoration: none;
}

.escf-dashboard-feed__item strong {
    color: #3d2d1f;
    font-size: 1.03rem;
}

.escf-dashboard-feed__date {
    color: #856f51;
    font-size: 0.87rem;
}

.escf-dashboard-event-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.escf-dashboard-event-grid__item {
    margin: 0;
}

.escf-dashboard-event-card {
    background: #fffcf7;
    border: 1px solid #e7dbca;
    border-radius: 10px;
    color: #4e3928;
    display: grid;
    min-height: 100%;
    text-decoration: none;
}

.escf-dashboard-event-card__media {
    background: linear-gradient(145deg, #eadcc4 0%, #dcc39f 100%);
    border-radius: 10px 10px 0 0;
    display: block;
    min-height: 130px;
    overflow: hidden;
}

.escf-dashboard-event-card__media img {
    display: block;
    height: 100%;
    min-height: 130px;
    object-fit: cover;
    width: 100%;
}

.escf-dashboard-event-card__content {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
}

.escf-dashboard-event-card__content strong {
    color: #3f2f21;
    font-size: 1.03rem;
}

.escf-dashboard-event-card__location {
    color: #6c5440;
    font-size: 0.92rem;
}

.escf-dashboard-document-list {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.escf-dashboard-document-list__item a {
    background: #f8f2e8;
    border: 1px solid #e6d9c4;
    border-radius: 10px;
    color: #503b28;
    display: grid;
    gap: 4px;
    padding: 10px 11px;
    text-decoration: none;
}

.escf-dashboard-document-list__item span {
    color: #715e49;
    font-size: 0.9rem;
}

.escf-dashboard-support-list {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.escf-dashboard-support-list li {
    color: #5f4c38;
}

.escf-dashboard-support-list a {
    color: #4c3926;
}

.escf-error-page {
    background: linear-gradient(145deg, #f8f4eb 0%, #f2e9d8 100%);
    color: var(--escf-brown);
    margin: 0;
    min-height: 100vh;
}

.escf-error-page__main {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 20px;
}

.escf-error-page__panel {
    background: #fffdf8;
    border: 1px solid var(--escf-border);
    border-radius: 16px;
    max-width: 640px;
    padding: 28px;
    text-align: center;
    width: 100%;
}

.escf-error-page__title {
    color: var(--escf-brown);
    margin: 0 0 10px;
}

.escf-error-page__text {
    margin: 0 0 20px;
}

.escf-error-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 0;
}

.escf-error-page__button {
    background: var(--escf-brown);
    border: 1px solid var(--escf-brown);
    border-radius: 8px;
    color: #fff;
    display: inline-block;
    padding: 10px 16px;
    text-decoration: none;
}

.escf-error-page__button--ghost {
    background: transparent;
    color: var(--escf-brown);
}

@media (max-width: 1280px) {
    .escf-dashboard-layout {
        grid-template-columns: 286px minmax(0, 1fr);
    }

    .escf-dashboard-row--focus {
        grid-template-columns: 1fr;
    }

    .escf-dashboard-row--utility {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .escf-access-layout {
        grid-template-columns: 1fr;
    }

    .escf-form-grid {
        grid-template-columns: 1fr;
    }

    .escf-dashboard-layout {
        grid-template-columns: 1fr;
    }

    .escf-dashboard-layout__sidebar {
        border-right: 0;
        border-bottom: 1px solid #d7c9b3;
    }

    .escf-dashboard-layout__content {
        padding: 20px;
    }

    .escf-dashboard-sidebar {
        grid-template-rows: auto auto auto auto;
    }

    .escf-dashboard-sidebar__brand-logo {
        max-width: 220px;
    }

    .escf-dashboard-welcome__hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .escf-dashboard-welcome__portrait {
        justify-content: flex-end;
        min-height: 170px;
    }

    .escf-dashboard-quick-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .escf-dashboard-row--utility {
        grid-template-columns: 1fr;
    }

    .escf-dashboard-event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .escf-access-page--login {
        padding: 28px 18px 22px;
    }

    .escf-login-cards {
        grid-template-columns: 1fr;
    }

    .escf-login-card {
        min-height: 0;
    }

    .escf-login-newcomer {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

@media (max-width: 640px) {
    .escf-access-page {
        padding: 18px;
    }

    .escf-access-page__title {
        font-size: 1.45rem;
    }

    .escf-dashboard-layout__content {
        padding: 14px 12px;
    }

    .escf-dashboard-header {
        align-items: stretch;
        flex-direction: column;
    }

    .escf-dashboard-header__actions {
        justify-content: space-between;
        width: 100%;
    }

    .escf-dashboard-profile-chip span {
        max-width: 135px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .escf-dashboard-quick-links {
        grid-template-columns: 1fr;
    }

    .escf-dashboard-event-grid {
        grid-template-columns: 1fr;
    }

    .escf-dashboard-module__header h3 {
        font-size: 1.75rem;
    }
}
