.dfbc-stages-public{max-width:980px;margin:0 auto}
.dfbc-form{background:#fff;border:1px solid #ddd;padding:24px;border-radius:12px}
.dfbc-form label{display:block;font-weight:600;margin-top:14px}
.dfbc-form input[type=text],.dfbc-form input[type=email],.dfbc-form input[type=date],.dfbc-form select,.dfbc-form textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccc;border-radius:8px}
.dfbc-form textarea{min-height:90px}
.dfbc-form button{margin-top:20px;padding:12px 18px;border:0;border-radius:8px;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer}
.dfbc-stage-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0}
.dfbc-stage-card{border:1px solid #ddd;border-radius:12px;padding:16px;background:#f9fafb}
.dfbc-checkbox{font-weight:400!important;display:flex!important;gap:8px;align-items:flex-start}
.dfbc-message{padding:16px;background:#ecfdf5;border:1px solid #10b981;border-radius:10px;margin:16px 0}

.dfbc-payment-qr{
    margin-top:20px;
    padding:20px;
    border:1px solid #bfdbfe;
    background:#eff6ff;
    border-radius:14px;
    text-align:center;
}
.dfbc-payment-qr h3{
    margin-top:0;
}
.dfbc-payment-qr img{
    display:block;
    max-width:260px;
    width:100%;
    height:auto;
    margin:14px auto;
    background:#fff;
    padding:10px;
    border-radius:12px;
}
.dfbc-payment-ignore{
    margin:14px auto;
    max-width:520px;
    text-align:left;
    background:#fff;
    border:1px solid #dbeafe;
    border-radius:10px;
    padding:12px;
}
.dfbc-payment-ignore summary{
    cursor:pointer;
    font-weight:700;
}
.dfbc-payment-note{
    font-size:13px;
    color:#475569;
}

.dfbc-child-block{
    border:1px solid #e2e8f0;
    background:#f8fafc;
    border-radius:14px;
    padding:16px;
    margin:14px 0;
}
.dfbc-child-block h4{
    margin:0 0 10px;
}
.dfbc-child-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
.dfbc-secondary-button,
.dfbc-remove-child{
    margin-top:12px;
    padding:10px 14px;
    border-radius:8px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    cursor:pointer;
    font-weight:700;
}
.dfbc-remove-child{
    color:#b91c1c;
}
.dfbc-discount-note{
    padding:10px 12px;
    background:#fef3c7;
    border:1px solid #fde68a;
    border-radius:10px;
    color:#92400e;
}

.dfbc-front-admin{max-width:1200px;margin:30px auto;color:#0f172a}
.dfbc-front-login,.dfbc-front-panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.dfbc-front-login{max-width:460px;margin:40px auto}
.dfbc-front-login h2,.dfbc-front-panel h3{margin-top:0}
.dfbc-front-login label,.dfbc-front-form label{display:block;font-weight:700;margin:12px 0 6px}
.dfbc-front-login input[type=text],.dfbc-front-login input[type=password],.dfbc-front-form input[type=text],.dfbc-front-form input[type=date],.dfbc-front-form input[type=time],.dfbc-front-form input[type=number],.dfbc-front-form select,.dfbc-front-form textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.dfbc-front-checkbox{display:flex!important;gap:8px;align-items:center}
.dfbc-front-login button,.dfbc-front-button{display:inline-block;text-decoration:none;padding:10px 14px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:700;cursor:pointer}
.dfbc-front-login button,.dfbc-front-primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff!important}
.dfbc-front-warning{background:#fef3c7;border-color:#fde68a;color:#92400e!important}
.dfbc-front-danger{background:#fee2e2;border-color:#fecaca;color:#991b1b!important}
.dfbc-front-logout{background:#f8fafc}
.dfbc-front-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;margin-bottom:18px;color:white;border-radius:24px;background:linear-gradient(135deg,#0f172a,#1d4ed8)}
.dfbc-front-header h2{color:white;margin:0}.dfbc-front-header p{margin:6px 0 0;opacity:.9}
.dfbc-front-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.dfbc-front-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.dfbc-front-stage-card{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#f8fafc}
.dfbc-front-stage-card h4{margin-top:0}.dfbc-front-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.dfbc-front-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.dfbc-front-full{grid-column:1/-1}
.dfbc-front-form h4{margin:24px 0 8px;padding-top:10px;border-top:1px solid #e2e8f0}
.dfbc-front-alert,.dfbc-front-success{padding:12px 14px;border-radius:12px;margin:12px 0}
.dfbc-front-alert{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.dfbc-front-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
@media(max-width:800px){.dfbc-front-header{flex-direction:column;align-items:flex-start}.dfbc-front-form-grid{grid-template-columns:1fr}}

.dfbc-front-dashboard{max-width:1400px;margin:30px auto;color:#0f172a}
.dfbc-front-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;margin:18px 0 16px;color:white;border-radius:24px;background:radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 32%),linear-gradient(135deg,#0f172a,#1d4ed8);box-shadow:0 18px 45px rgba(15,23,42,.18)}
.dfbc-front-hero h1{color:white;margin:0;font-size:34px}.dfbc-front-hero p{margin:8px 0 0;opacity:.9}.dfbc-front-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;margin:0 0 4px!important}
.dfbc-front-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.dfbc-front-nav a{background:white;border:1px solid #e2e8f0;border-radius:999px;padding:10px 14px;text-decoration:none;color:#0f172a;font-weight:700;box-shadow:0 8px 20px rgba(15,23,42,.05)}.dfbc-front-nav a:hover{background:#eff6ff}
.dfbc-front-login,.dfbc-front-panel{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:22px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.dfbc-front-login{max-width:460px;margin:40px auto}
.dfbc-front-cards{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:16px;margin:20px 0}.dfbc-front-card{display:block;text-decoration:none;color:#0f172a;background:white;border:1px solid #e2e8f0;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06);transition:.15s}.dfbc-front-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.12);color:#0f172a}.dfbc-front-card span{font-size:23px}.dfbc-front-card strong{display:block;font-size:32px;line-height:1;margin:8px 0}.dfbc-front-card em{font-style:normal;color:#64748b;font-weight:700}
.dfbc-front-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.dfbc-front-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.dfbc-front-panel-head h3{margin:0}.dfbc-front-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.dfbc-front-actions-grid a{display:block;text-decoration:none;color:#0f172a;border:1px solid #e2e8f0;border-radius:16px;padding:16px;background:#f8fafc}.dfbc-front-actions-grid a:hover{background:#eff6ff}.dfbc-front-actions-grid strong,.dfbc-front-actions-grid span{display:block}.dfbc-front-actions-grid span{color:#64748b;font-size:13px;margin-top:5px}
.dfbc-front-recent-list{display:flex;flex-direction:column;gap:10px}.dfbc-front-recent-item{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:#0f172a;border:1px solid #e2e8f0;border-radius:15px;padding:12px}.dfbc-front-recent-item span{display:block;color:#64748b;font-size:12px}
.dfbc-front-toolbar,.dfbc-front-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.dfbc-front-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dfbc-front-stage-card{background:white;border:1px solid #e2e8f0;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.dfbc-front-stage-card h4{margin-top:0}.dfbc-front-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.dfbc-front-button,.dfbc-front-login button{display:inline-block;text-decoration:none;padding:10px 14px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a!important;font-weight:700;cursor:pointer}.dfbc-front-primary,.dfbc-front-login button{background:#1d4ed8!important;border-color:#1d4ed8!important;color:white!important}.dfbc-front-warning{background:#fef3c7!important;color:#92400e!important}.dfbc-front-danger{background:#fee2e2!important;color:#991b1b!important}.dfbc-front-logout{background:white!important;color:#1d4ed8!important}
.dfbc-front-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin-bottom:18px}.dfbc-front-field label,.dfbc-front-login label{display:block;font-weight:700;margin:12px 0 6px}.dfbc-front-form input,.dfbc-front-form select,.dfbc-front-form textarea,.dfbc-front-login input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.dfbc-front-full{grid-column:1/-1}.dfbc-front-form h4{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:24px}
.dfbc-front-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.dfbc-front-filter select{padding:10px;border:1px solid #cbd5e1;border-radius:10px}.dfbc-front-table-wrap{overflow:auto}.dfbc-front-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.dfbc-front-table th,.dfbc-front-table td{text-align:left;padding:12px;border-bottom:1px solid #e2e8f0;vertical-align:top}.dfbc-front-table th{background:#f8fafc;font-weight:800}
.dfbc-front-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700}.dfbc-front-alert,.dfbc-front-success{padding:12px 14px;border-radius:12px;margin:12px 0}.dfbc-front-alert{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.dfbc-front-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.dfbc-front-muted{color:#64748b}
@media(max-width:1200px){.dfbc-front-cards{grid-template-columns:repeat(3,1fr)}.dfbc-front-grid{grid-template-columns:1fr}}@media(max-width:800px){.dfbc-front-hero{flex-direction:column;align-items:flex-start}.dfbc-front-form-grid{grid-template-columns:1fr}.dfbc-front-cards{grid-template-columns:1fr 1fr}.dfbc-front-actions-grid{grid-template-columns:1fr}}@media(max-width:520px){.dfbc-front-cards{grid-template-columns:1fr}}

.dfbc-field-error,
.dfbc-form-submitted input:invalid,
.dfbc-form-submitted select:invalid,
.dfbc-form-submitted textarea:invalid{
    border-color:#dc2626!important;
    background:#fef2f2!important;
    box-shadow:0 0 0 2px rgba(220,38,38,.12)!important;
}
.dfbc-form-submitted input[type="checkbox"].dfbc-field-error,
.dfbc-form-submitted input[type="checkbox"]:invalid{
    outline:2px solid #dc2626;
    outline-offset:2px;
}

.dfbc-child-care-options{
    margin-top:14px;
    padding:12px;
    border:1px solid #dbeafe;
    background:#eff6ff;
    border-radius:12px;
}
.dfbc-child-care-options strong{
    display:block;
    margin-bottom:8px;
}

.dfbc-agreement-preview{
    margin-top:10px;
    padding:10px 12px;
    border:1px solid #bfdbfe;
    background:#eff6ff;
    border-radius:10px;
    color:#1e3a8a;
}


.dfbc-stage-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}
.dfbc-stage-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.dfbc-stage-stat-card h3{margin:0 0 4px}.dfbc-stage-date{margin:0 0 14px;color:#64748b}
.dfbc-stage-stat-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dfbc-stage-stat-numbers a{display:block;text-decoration:none;text-align:center;padding:10px 6px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:#0f172a}
.dfbc-stage-stat-numbers a:hover{background:#eff6ff}.dfbc-stage-stat-numbers strong{display:block;font-size:24px;line-height:1}.dfbc-stage-stat-numbers span{display:block;font-size:12px;color:#64748b;margin-top:4px}
.dfbc-stage-money{margin:14px 0;font-weight:700}@media(max-width:640px){.dfbc-stage-stat-numbers{grid-template-columns:repeat(2,1fr)}}


body.dfbc-modal-open{
    overflow:hidden;
}
.dfbc-modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:9999;
}
.dfbc-modal{
    width:min(520px,100%);
    background:#ffffff;
    border-radius:22px;
    border:1px solid #e2e8f0;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
    overflow:hidden;
}
.dfbc-modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px 10px;
}
.dfbc-modal-head h3{
    margin:0;
    font-size:22px;
    color:#0f172a;
}
.dfbc-modal-close{
    border:none;
    background:transparent;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    color:#64748b;
}
.dfbc-modal-body{
    padding:4px 20px 18px;
    color:#334155;
}
.dfbc-modal-body p{
    margin:0;
    line-height:1.55;
}
.dfbc-modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:0 20px 20px;
}
@media(max-width:520px){
    .dfbc-modal-actions{
        flex-direction:column-reverse;
    }
    .dfbc-modal-actions .dfbc-front-button{
        width:100%;
        text-align:center;
    }
}


/* Version 24 : modale fermée par défaut, ouverte uniquement via JS */
.dfbc-modal-overlay{
    display:none!important;
}
.dfbc-modal-overlay.is-open{
    display:flex!important;
}
.dfbc-modal-overlay[aria-hidden="true"]{
    display:none!important;
}
.dfbc-modal-overlay[aria-hidden="false"]{
    display:flex!important;
}


.dfbc-front-filter-info{
    margin:10px 0 16px;
    padding:10px 12px;
    border-radius:12px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1e3a8a;
    font-weight:700;
}
.dfbc-front-filter-info a{
    color:#1d4ed8;
    text-decoration:underline;
}
