:root{--blue:#0b1440;--red:#e30613;--bg:#f5f7fb;--line:#e5e7eb}*{box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;margin:0;background:var(--bg);color:#111}.wrap{max-width:980px;margin:auto;padding:18px}.card{background:#fff;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 8px 26px #0001}.logo{max-width:520px;width:100%;display:block;margin:8px auto 18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dynamic-grid .wide{grid-column:1/-1}.field{margin-bottom:12px}label{font-weight:700;display:block;margin-bottom:5px}.check{font-weight:400;display:block;margin:8px 0}.check input{width:auto;margin-right:8px}input,select,textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:10px;font-size:16px;background:#fff}textarea{min-height:90px}.help{color:#555;font-size:13px;line-height:1.35}.btn{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:700;text-decoration:none;display:inline-block;cursor:pointer}.btn.red{background:var(--red)}.btn.gray{background:#666}.rgpd{border-left:5px solid var(--red);background:#fff7f7;padding:14px;border-radius:10px;line-height:1.45}.notice{background:#f8fafc;border:1px solid var(--line);border-left:5px solid var(--blue);padding:14px;border-radius:10px;margin:12px 0;line-height:1.45}.sig{border:1px solid #aaa;border-radius:10px;background:#fff;touch-action:none;width:100%;height:220px}.topnav a{margin-right:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid #ddd;padding:8px;text-align:left;vertical-align:top}.badge{padding:3px 8px;border-radius:999px;background:#eee}.form-section{border:1px solid var(--line);border-radius:16px;padding:18px;margin:18px 0;background:#fff}.form-section h2{margin-top:0;color:var(--blue);font-size:22px}.minor-box{display:none}.actions{position:sticky;bottom:0;background:#fffffff2;border-top:1px solid var(--line);padding:14px 0;margin-bottom:0;backdrop-filter:blur(3px)}@media(max-width:700px){.grid{grid-template-columns:1fr}.dynamic-grid .wide{grid-column:auto}.wrap{padding:10px}.card{padding:16px}.form-section{padding:14px}.actions .btn{width:100%;margin:6px 0}.sig{height:180px}}

/* Affichage par étapes */
.wizard-top{margin:10px 0 18px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
#stepCounter{font-weight:700;color:var(--blue);margin-bottom:8px}.progress{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--red);width:0;transition:width .25s ease}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-actions{position:sticky;bottom:0;background:#fffffff2;border-top:1px solid var(--line);padding:14px 0;margin-bottom:0;backdrop-filter:blur(3px);display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}.wizard-actions .btn{margin:2px 0}@media(max-width:700px){.wizard-actions{display:block}.wizard-actions .btn{width:100%;margin:6px 0}}

.dynamic-grid .field.wide{grid-column:1/-1}.dynamic-grid .field.wide .check{max-width:100%;line-height:1.3}.risk-table-wrap{overflow-x:auto;margin:14px 0}.risk-table{width:100%;border-collapse:collapse;font-size:14px}.risk-table th,.risk-table td{border:1px solid #cfd4dc;padding:8px;vertical-align:top;text-align:left}.risk-table th{background:#f8fafc;color:var(--blue)}.aptitude-checks{margin-top:14px}.aptitude-checks .check{font-weight:400;line-height:1.4;margin:10px 0}


/* Correctifs mineur, personne à prévenir et signatures */
body{
    font-family:Arial,Helvetica,sans-serif;
    margin:0;
    background:var(--bg, #f3f5f7);
    color:#111;
}

.wrap{
    max-width:980px;
    margin:auto;
    padding:18px;
}

.logo{
    max-width:520px;
    width:100%;
    display:block;
    margin:8px auto 18px;
}

.wizard-step{
    display:none;
}

.wizard-step.active{
    display:block;
}

.btn-next{
    background:#28a745;
}

.error-msg{
    color:#b00020;
    font-weight:700;
    margin-top:8px;
}

.dynamic-grid .field.wide{
    grid-column:1/-1;
}

.dynamic-grid .field.wide .check{
    max-width:100%;
    line-height:1.35;
}

.risk-table-wrap{
    overflow-x:auto;
    margin:14px 0;
}

.risk-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
    background:#fff;
}

.risk-table th,
.risk-table td{
    border:1px solid #cfd4dc;
    padding:8px;
    vertical-align:top;
    text-align:left;
}

.risk-table th{
    background:#f8fafc;
    color:var(--blue, #071e52);
}

.minor-main-check{
    padding:14px;
    background:#f8fafc;
    border:1px solid #d8dee8;
    border-radius:12px;
}

.minor-fields{
    margin-top:16px;
}

.signature-block{
    margin:18px 0 26px;
}

.signature-pad{
    width:100%;
    height:210px;
    display:block;
    background:#fff;
    border:2px dashed #9aa4b2;
    border-radius:14px;
    touch-action:none;
}

.btn-clear{
    margin-top:10px;
}

@media(max-width:768px){
    .wrap{ padding:12px; }
    .logo{ max-width:100%; }
    .signature-pad{ height:180px; }
}


/* Correctifs droit à l'image et naissance */
.image-rights{
    margin-top:14px;
}

.image-rights .check{
    margin:10px 0;
    line-height:1.35;
}

.image-refusal{
    margin-top:18px !important;
    padding-top:12px;
    border-top:1px solid #d8dee8;
    color:#8a0014;
    font-weight:700;
}

#paysNaissanceField{
    transition:all .2s ease;
}


/* Admin : affichage lisible des dossiers */
.admin-table th,
.admin-table td{
    vertical-align:middle;
}

.actions-cell{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}

.inline-form{
    display:inline;
    margin:0;
}

.btn.small{
    padding:7px 10px;
    font-size:13px;
    border-radius:8px;
}

.badge.warning{
    background:#fff3cd;
    color:#7a5200;
}

.admin-title-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:16px;
}

.button-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:16px 0 24px;
}

.admin-sections{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.admin-section{
    border:1px solid #d8dee8;
    border-radius:14px;
    padding:16px;
    background:#fff;
}

.admin-section.wide{
    grid-column:1 / -1;
}

.admin-section h3{
    margin-top:0;
    color:var(--blue, #071e52);
}

.detail-grid{
    display:grid;
    grid-template-columns:190px 1fr;
    gap:8px 14px;
    margin:0;
}

.detail-grid dt{
    font-weight:700;
    color:#334155;
}

.detail-grid dd{
    margin:0;
    word-break:break-word;
}

.compact-list{
    margin:0;
    padding-left:18px;
}

.compact-list li{
    margin:2px 0;
}

.readable-table td,
.readable-table th{
    vertical-align:top;
}

.signature-preview{
    max-width:260px;
    max-height:100px;
    border:1px solid #d8dee8;
    border-radius:8px;
    background:#fff;
    padding:6px;
}

.muted{
    color:#64748b;
    font-style:italic;
}

@media(max-width:850px){
    .admin-title-row{
        display:block;
    }

    .admin-sections{
        grid-template-columns:1fr;
    }

    .detail-grid{
        grid-template-columns:1fr;
        gap:2px 0;
    }

    .detail-grid dt{
        margin-top:10px;
    }

    .actions-cell{
        display:block;
    }

    .actions-cell .btn,
    .actions-cell form{
        display:block;
        margin:5px 0;
    }
}


/* Admin : filtres liste dossiers */
.filters-box{
    background:#f8fafc;
    border:1px solid #d8dee8;
    border-radius:14px;
    padding:14px;
    margin:12px 0 18px;
}

.filters-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:12px;
}

.filters-actions{
    display:flex;
    gap:10px;
    margin-top:12px;
    flex-wrap:wrap;
}

@media(max-width:850px){
    .filters-grid{
        grid-template-columns:1fr;
    }
}
