.mfc{--green:#477b20;--lime:#eaf3df;--ink:#203125;max-width:1200px;margin:28px auto;padding:0 18px 40px;color:var(--ink);font-family:system-ui,sans-serif;line-height:1.55}.mfc *{box-sizing:border-box}.mfc h1,.mfc h2,.mfc h3{color:var(--ink);line-height:1.2}.mfc a{color:#365e18}.mfc-hero{padding:32px;background:var(--lime);border-radius:20px}.mfc-hero span{font-size:12px;font-weight:800;letter-spacing:1.5px}.mfc-hero h1{font-size:clamp(28px,4vw,42px);margin:12px 0}.mfc-tabs,.mfc-select{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.mfc-tabs a,.mfc-select a{padding:12px 18px;border:1px solid #ccd9c4;border-radius:10px;text-decoration:none;font-weight:700}.mfc [aria-current=page]{background:var(--green);color:white}.mfc-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.mfc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.mfc-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border:1px solid #d6e0d1;border-radius:12px;text-decoration:none;background:white}.mfc-card strong{font-size:17px}.mfc-status{padding:4px 10px;border-radius:20px;background:#eee;font-size:12px;font-weight:700}.mfc-validado,.mfc-done{background:#ddecce;color:#284c13}.mfc-en_marcha{background:#fff0c8;color:#624500}.mfc-revision{background:#e4edf9;color:#224d81}.mfc-detail{padding:28px;border:1px solid #d6e0d1;border-radius:16px;background:#fff}.mfc label{display:block;margin:15px 0;font-weight:600}.mfc input:not([type=checkbox]),.mfc textarea{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #93a38b;border-radius:7px;background:white;color:var(--ink);font:inherit}.mfc input[type=checkbox]{width:auto}.mfc textarea{resize:vertical}.mfc fieldset{border:0;padding:0;margin:20px 0}.mfc fieldset:disabled{opacity:1}.mfc fieldset:disabled input,.mfc fieldset:disabled textarea{color:#39463b;background:#f4f6f2}.mfc legend{font-weight:800;font-size:19px}.mfc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mfc button,.mfc-button{display:inline-block;cursor:pointer;background:var(--green);color:white;border:0;border-radius:8px;padding:12px 18px;font:inherit;font-weight:700;text-decoration:none}.mfc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.mfc-actions button:first-child{background:#e5eddc;color:#284c13}.mfc-review{border-top:1px solid #d6e0d1;margin-top:28px;padding-top:22px}.mfc-help{font-size:13px;color:#505f4b}.mfc-notice{padding:16px;background:#edf4e4;border-left:4px solid var(--green);border-radius:4px}.mfc-table-wrap{overflow-x:auto;margin:25px 0;border:1px solid #d6e0d1;border-radius:12px}.mfc-table{width:100%;min-width:860px;border-collapse:collapse;text-align:center;background:white}.mfc-table caption{text-align:left;padding:15px;font-weight:700}.mfc-table td,.mfc-table th{padding:14px 10px;border-bottom:1px solid #e1e7dc;white-space:nowrap}.mfc-table thead{background:#edf4e4}.mfc-table th:first-child{text-align:left;min-width:190px;white-space:normal}.mfc-cell{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:800}.mfc-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:13px}.mfc-award{display:block;font-size:11px;color:#386219;margin-top:6px}.mfc-goal{background:var(--lime);border-radius:15px;padding:25px;margin-top:25px}.mfc progress{display:block;width:100%;height:20px;accent-color:var(--green)}.mfc :focus-visible{outline:3px solid #2459a4;outline-offset:3px}@media(max-width:700px){.mfc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mfc-form-grid,.mfc-legend{grid-template-columns:1fr}.mfc-hero,.mfc-detail{padding:20px}.mfc-tabs a{flex:1;text-align:center}.mfc{padding:0 12px 30px}}@media(max-width:400px){.mfc-grid{grid-template-columns:1fr}}

.mfc-month{margin:30px 0}.mfc-month>h3{font-size:24px;padding-bottom:10px;border-bottom:2px solid #c8dda9}.mfc-summary{margin:0;font-size:14px;color:#43533e}.mfc-planning{padding:20px;background:#f1f5eb;border-radius:12px;margin:24px 0}.mfc-planning summary{cursor:pointer;font-weight:750}.mfc-plan-row{padding:12px 0;border-bottom:1px solid #cedac5}.mfc-plan-row small{display:block}

.mfc-empty-month{padding:18px 22px;background:#f4f6f1;border:1px dashed #b9c5b0;border-radius:10px;color:#4d5c45}

/* Keep the capitalization entered in WordPress, including proper names. */
.mfc, .mfc * { text-transform: none !important; }
.mfc-town { margin: 0 0 16px; }
.mfc-reto-heading { display: flex; align-items: center; gap: 14px; }
.mfc-reto-heading h2 { margin: 4px 0; }
.mfc .mfc-reto-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    border-radius: 12px;
    background: var(--lime);
    object-fit: contain;
    font-size: 32px;
}

.mfc-detail .mfc-reto-instructions {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 1px;
    margin: 16px 0;
    overflow: hidden;
    border: 1px solid #d6e0d1;
    border-radius: 12px;
    background: #d6e0d1;
}

.mfc-reto-instructions > section {
    min-width: 0;
    padding: 14px 16px;
    background: #f8faf5;
}

.mfc-detail .mfc-reto-instructions h3 {
    margin: 0 0 8px;
}

.mfc-detail .mfc-reto-instructions p {
    margin: 0;
}

.mfc-detail .mfc-reto-instructions p + p {
    margin-top: 8px;
}

@media (max-width: 640px) {
    .mfc-detail .mfc-reto-instructions {
        grid-template-columns: minmax(0, 1fr);
    }
}

.mfc .mfc-add-date[hidden] { display: none; }

.mfc .mfc-card-complete {
    background: #eaf5df;
    border-color: #9fc485;
}

.mfc .mfc-card-cta {
    display: inline-block;
    margin-top: 4px;
    padding: 8px 14px;
    border-radius: 8px;
    background: #365e18;
    color: #fff;
    font-weight: 700;
}

.mfc .mfc-card:hover .mfc-card-cta,
.mfc .mfc-card:focus-visible .mfc-card-cta {
    text-decoration: underline;
}

.mfc .mfc-card:focus-visible {
    outline: 2px solid #365e18;
    outline-offset: 3px;
}

.mfc [data-mfc-submit-error]:empty { margin: 0; }
.mfc [data-mfc-submit-error] { color: #a32626; font-weight: 700; }

.mfc a.mfc-back-cta {
    text-decoration: none;
}

.mfc a.mfc-back-cta:hover,
.mfc a.mfc-back-cta:focus-visible {
    text-decoration: underline;
}

.mfc .mfc-thanks {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 12px;
    background: #eaf5df;
}

.mfc .mfc-thanks-logo {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    height: 48px;
    background: #fff;
    border-radius: 8px;
    color: #365e18;
    font-weight: 800;
}

.mfc .mfc-thanks-logo img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.mfc .mfc-thanks p {
    margin: 4px 0 0;
}

.mfc .mfc-welcome {
    position: fixed;
    inset: 0;
    width: min(440px, calc(100% - 32px));
    margin: auto;
    padding: 20px;
    border: 1px solid #9fc485;
    border-radius: 16px;
    background: #fff;
    color: #1c3021;
}

.mfc .mfc-welcome::backdrop {
    background: rgba(0, 0, 0, .45);
}

.mfc .mfc-welcome .mfc-thanks {
    margin: 0 0 16px;
}

.mfc .mfc-welcome[open] { z-index: 9999; }

.mfc .mfc-mobile-reto {
    display: none;
}

@media (max-width: 900px) {
    .mfc .mfc-table-wrap {
        overflow: visible;
        border: 0;
    }

    .mfc .mfc-table {
        display: block;
        min-width: 0;
        background: transparent;
    }

    .mfc .mfc-table caption,
    .mfc .mfc-table tbody {
        display: block;
    }

    .mfc .mfc-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    .mfc .mfc-table tbody tr {
        display: grid;
        grid-template-columns: repeat(9, minmax(0, 1fr));
        margin-bottom: 12px;
        padding: 8px;
        border: 1px solid #d6e0d1;
        border-radius: 12px;
        background: #fff;
    }

    .mfc .mfc-table tbody th,
    .mfc .mfc-table tbody td {
        min-width: 0;
        padding: 6px 0;
        border: 0;
        white-space: normal;
    }

    .mfc .mfc-table tbody th,
    .mfc .mfc-table .mfc-league-total {
        grid-column: 1 / -1;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .mfc .mfc-table .mfc-cell {
        width: 100%;
        min-width: 0;
        padding: 0;
    }

    .mfc .mfc-mobile-reto {
        display: block;
        font-size: 12px;
        font-weight: 700;
    }

    .mfc .mfc-league-total .mfc-mobile-reto {
        display: inline;
    }
}

@media (max-width: 640px) {
    .mfc .mfc-reto-heading h2 {
        font-size: clamp(20px, 5.5vw, 28px);
        line-height: 1.15;
        overflow-wrap: anywhere;
    }
}
