/* MCG Public – variables & styles espace membre */

:root {
    --mcg-color-primary: #0073aa;
    --mcg-color-primary-hover: #005a87;
    --mcg-color-white: #fff;
    --mcg-color-bg-light: #f5f5f5;
    --mcg-color-bg-muted: #f6f7f7;
    --mcg-color-bg-page: #f9f9f9;
    --mcg-color-border: #ddd;
    --mcg-color-border-alt: #dcdcde;
    --mcg-color-text: #333;
    --mcg-radius: 4px;
    --mcg-radius-lg: 8px;
    --mcg-spacing-xs: 4px;
    --mcg-spacing-sm: 8px;
    --mcg-spacing-md: 12px;
    --mcg-spacing-lg: 16px;
    --mcg-spacing-xl: 20px;
    --mcg-spacing-xxl: 24px;
    --mcg-shadow: 0 2px 6px rgba(0, 0, 0, .08);
    --mcg-max-width-content: 960px;
}

/* ── Accès / connexion ── */

.mcg-access-denied {
    text-align: center;
    padding: 40px var(mcg-spacing-xl);
    margin: var(--mcg-spacing-xl) 0;
}

.mcg-login-prompt {
    text-align: center;
    padding: 40px var(--mcg-spacing-xl);
    background: var(--mcg-color-bg-page);
    border: 1px solid var(--mcg-color-border);
    border-radius: var(--mcg-radius);
    margin: var(--mcg-spacing-xl) 0;
}

.mcg-btn {
    display: inline-block;
    padding: 10px var(--mcg-spacing-xxl);
    border-radius: var(--mcg-radius);
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}

.mcg-btn-login {
    display: inline-block;
    margin-top: var(--mcg-spacing-sm);
    padding: 6px var(--mcg-spacing-lg);
    background: var(--mcg-color-primary);
    color: var(--mcg-color-white);
    border-radius: var(--mcg-radius);
    text-decoration: none;
}

.mcg-btn-login:hover {
    background: var(--mcg-color-primary-hover);
    color: var(--mcg-color-white);
}

/* ── Layouts ── */

.mcg-public-dashboard,
.mcg-public-tontine,
.mcg-public-dynamic,
.mcg-public-insurance,
.mcg-public-profile {
    max-width: var(--mcg-max-width-content);
    margin: var(--mcg-spacing-xl) auto;
}

/* ── Member card ── */

.mcg-member-card {
    background: var(--mcg-color-white);
    border: 1px solid var(--mcg-color-border);
    border-radius: var(--mcg-radius-lg);
    padding: var(--mcg-spacing-xl) var(--mcg-spacing-xxl);
    width: fit-content;
    max-width: 100%;
    box-shadow: var(--mcg-shadow);
    margin: var(--mcg-spacing-xl) 0;
}

.mcg-member-card + .mcg-member-card {
    margin-top: var(--mcg-spacing-md);
}

.mcg-member-card h3 {
    margin-top: 0;
}

/* ── Tables ── */

.mcg-public-table,
.mcg-table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--mcg-spacing-xl) 0;
}

.mcg-public-table th,
.mcg-public-table td,
.mcg-table th,
.mcg-table td {
    border: 1px solid var(--mcg-color-border);
    padding: var(--mcg-spacing-sm) var(--mcg-spacing-md);
    text-align: left;
}

.mcg-public-table thead,
.mcg-table thead {
    background: var(--mcg-color-bg-light);
}

.mcg-table .mcg-subtd {
    padding-left: 2em;
    font-size: 0.9em;
}

/* ── Preview box ── */

.mcg-preview-box {
    border: 1px solid var(--mcg-color-border-alt);
    background: var(--mcg-color-bg-muted);
    padding: var(--mcg-spacing-md);
    margin-top: 10px;
    border-radius: var(--mcg-radius);
}
