:root{
    --rose:#ff4f7a;
    --rose-hover:#e9446d;
    --rose-soft:#fff0f6;
    --rose-pale:#fff7fa;
    --bordeaux:#7b1e3a;
    --bordeaux-doux:#8a2448;
    --vert:#2ed47a;
    --texte:#2b1d24;
    --gris:#6f5f66;
    --bord:#ead5dc;
    --danger:#b00000;
    --warning:#9a5a00;
    --success:#0a8f43;

    --fond-carte:rgba(255,255,255,.72);
    --fond-carte-leger:rgba(255,255,255,.54);
    --fond-bouton-clair:rgba(255,240,246,.94);

    --shadow:0 10px 30px rgba(123,30,58,.12);
    --shadow-soft:0 8px 22px rgba(123,30,58,.08);

    --radius-xl:26px;
    --radius:22px;
    --radius-small:16px;
    --pill:999px;
}

/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    font-family:Arial, Helvetica, sans-serif;
    color:var(--texte);
    line-height:1.45;
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.95), transparent 34%),
        linear-gradient(180deg,#fff9fc 0%,#fff1f6 55%,#fff8fb 100%);
    position:relative;
    overflow-x:hidden;
}

/* FILIGRANE GLOBAL */
body::before{
    content:"";
    position:fixed;
    inset:0;
    background-image:url("../images/logo-btc.png");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:min(900px,90vw);
    opacity:.15;
    z-index:0;
    pointer-events:none;
}

header,
main,
footer{
    position:relative;
    z-index:2;
}

.home-watermark{
    display:none;
}

/* HEADER */
header{
    position:sticky;
    top:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 36px;
    background:rgba(255,255,255,.56);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(255,79,122,.22);
    border-radius:0 0 26px 26px;
    box-shadow:0 8px 26px rgba(123,30,58,.08);
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--bordeaux);
    font-size:28px;
    font-weight:900;
    letter-spacing:-.4px;
}

.logo::before{
    content:"";
    width:42px;
    height:42px;
    flex:0 0 42px;
    background-image:url("../images/app-icon.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border-radius:13px;
    box-shadow:0 8px 18px rgba(123,30,58,.16);
}

nav{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}

nav a{
    text-decoration:none;
    color:var(--bordeaux);
    padding:9px 14px;
    border-radius:var(--pill);
    font-weight:800;
    background:rgba(255,255,255,.42);
    border:1px solid rgba(123,30,58,.10);
}

nav a:hover{
    background:rgba(255,255,255,.75);
}

.charot-actions {
    position: relative;
    flex: 0 0 auto;
}

.charot-actions summary,
.charot-actions-menu a,
.message-actions a {
    color: white;
    text-decoration: none;
    white-space: nowrap;
}

.charot-actions summary {
    padding: 9px 14px;
    border-radius: 999px;
    color: #fff !important;
    background:
        radial-gradient(circle at 24% 16%, rgba(255,255,255,.26) 0%, rgba(255,255,255,.10) 22%, transparent 44%),
        linear-gradient(135deg, #9a3158 0%, #7b1e3a 58%, #64172f 100%) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    box-shadow:
        0 10px 24px rgba(123,30,58,.18),
        inset 0 1px 0 rgba(255,255,255,.35) !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.charot-actions summary::-webkit-details-marker { display: none; }

.charot-actions-menu {
    position: absolute;
    z-index: 50;
    top: calc(100% + 6px);
    left: 0;
    display: grid;
    min-width: max-content;
    padding: 6px;
    border-radius: 14px;
    background: var(--bordeaux, #7b1738);
    box-shadow: 0 10px 24px rgba(44, 8, 24, .22);
}

.charot-actions-menu a { padding: 8px 10px; }

.profil-header-actions .charot-actions summary {
    color: var(--bordeaux);
    background: var(--rose-soft);
}

@media (max-width: 700px) {
    .charot-actions summary,
    .charot-actions-menu a,
    .message-actions a { font-size: .78rem; }
}

/* LAYOUT */
main,
.form-page,
.dossier-page,
.temoignages-page,
.profil-page,
.moderation-page,
.verification-page{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:36px 20px;
}

.form-page{
    max-width:none;
}

.hero{
    text-align:center;
    padding:72px 24px;
}

.hero h1{
    color:var(--bordeaux);
    margin-bottom:20px;
    font-size:46px;
}

.hero p{
    max-width:800px;
    margin:0 auto 30px;
}

/* CARTES */
.hero,
.bloc,
.warning,
.form-container,
.login-box,
.verification-container,
.result-preview,
.dossier-header,
.card-section,
.temoignages-header,
.filter-box,
.testimonial-card,
.profil-header,
.moderation-header{
    background:var(--fond-carte);
    border:1px solid rgba(123,30,58,.12);
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    position:relative;
    z-index:2;
}

.bloc,
.warning,
.card-section,
.temoignages-header,
.filter-box,
.testimonial-card{
    margin:0 0 24px 0;
    padding:28px;
}

.dossier-home-bloc{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:22px 24px;
}

.dossier-home-bloc h2{
    margin-bottom:8px;
}

.dossier-home-bloc p{
    margin:0;
    max-width:850px;
}

.dossier-home-icon{
    display:grid;
    place-items:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    border-radius:14px;
    background:var(--rose-soft);
    font-size:22px;
}

.usage-guide > h2{
    margin-bottom:12px;
}

.usage-guide details{
    border-top:1px solid rgba(123,30,58,.13);
}

.usage-guide details:last-child{
    border-bottom:1px solid rgba(123,30,58,.13);
}

.usage-guide summary{
    cursor:pointer;
    padding:14px 4px;
    color:var(--bordeaux);
    font-size:.92rem;
    font-weight:900;
    list-style-position:outside;
}

.usage-guide-items{
    display:grid;
    gap:10px;
    padding:0 0 14px;
}

.usage-guide-items article{
    display:grid;
    grid-template-columns:minmax(190px,1fr) minmax(220px,1.5fr) auto;
    align-items:center;
    gap:8px 14px;
    padding:10px 12px;
    border-radius:14px;
    background:rgba(255,255,255,.56);
    border:1px solid rgba(123,30,58,.09);
}

.usage-guide-items small{
    color:var(--gris);
    font-size:.8rem;
}

.usage-guide-items .btn{
    width:auto;
    min-height:34px;
    padding:7px 12px;
    font-size:.78rem;
    white-space:normal;
    text-align:center;
}

.usage-actions{
    display:flex;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}

.usage-unavailable{
    max-width:250px;
    color:var(--gris);
    font-size:.76rem;
    font-style:italic;
}

.usage-guide-tools article{
    grid-template-columns:minmax(190px,1fr) auto;
}

.form-container{
    max-width:1000px;
    margin:auto;
    padding:36px;
}

.login-page{
    min-height:70vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 20px;
}

.login-box{
    width:100%;
    max-width:500px;
    padding:36px;
}

.verification-container,
.result-preview{
    max-width:1000px;
    margin:0 auto 30px;
    padding:36px;
}

.dossier-header,
.profil-header,
.moderation-header{
    padding:32px;
    margin-bottom:24px;
}

.profil-header{
    display:flex;
    align-items:center;
    gap:24px;
}

/* TITRES */
h1,
h2,
h3{
    color:var(--bordeaux);
}

.form-container h1,
.verification-container h1,
.dossier-header h1,
.profil-header h1,
.moderation-header h1,
.temoignages-header h1,
.login-box h1{
    color:var(--bordeaux);
    margin-bottom:15px;
}

.form-container h1{
    font-size:42px;
}

.form-container h2,
.card-section h2,
.bloc h2,
.filter-box h2,
.testimonial-card h2,
.result-preview h2{
    margin-bottom:18px;
    border-left:5px solid var(--rose);
    padding-left:12px;
}

.intro{
    color:var(--gris);
    margin-bottom:25px;
    font-size:18px;
}

/* BOUTONS */
.btn,
.submit-btn,
.secondary-btn,
.danger-btn,
button{
    min-height:44px;
    border:none;
    border-radius:var(--pill);
    padding:12px 20px;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:white;
    background:var(--rose);
    box-shadow:0 8px 18px rgba(123,30,58,.12);
    transition:.18s ease;
}

.btn:hover,
.submit-btn:hover,
.secondary-btn:hover,
.danger-btn:hover,
button:hover{
    transform:translateY(-1px);
    background:var(--rose-hover);
}

.secondary-btn{
    background:var(--fond-bouton-clair);
    color:var(--bordeaux);
    border:1px solid rgba(123,30,58,.16);
}

.secondary-btn:hover{
    background:#ffe4ef;
    color:var(--bordeaux);
}

.danger-btn{
    background:var(--rose);
    color:white;
}

button:disabled,
.submit-btn:disabled{
    opacity:.55;
    cursor:not-allowed;
}

/* LIENS */
a{
    color:var(--bordeaux);
}

.flag a,
.timeline-item a,
.result-preview a,
.warning a,
.card-section a{
    color:var(--bordeaux);
    font-weight:900;
    text-decoration:none;
}

.flag a:hover,
.timeline-item a:hover,
.result-preview a:hover,
.warning a:hover,
.card-section a:hover{
    text-decoration:underline;
}

/* FORMULAIRES */
.form-grid,
.info-grid,
.stats-grid,
.checkbox-grid,
.radio-grid,
.flags{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:14px;
}

input,
select,
textarea{
    width:100%;
    min-height:46px;
    padding:13px 15px;
    border:1px solid var(--bord);
    border-radius:var(--radius-small);
    font-size:16px;
    background:rgba(255,255,255,.75);
    color:var(--texte);
    font-family:inherit;
}

textarea{
    resize:vertical;
    min-height:120px;
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:var(--rose);
    box-shadow:0 0 0 4px rgba(255,79,122,.12);
}

.checkbox,
.checkbox-grid label,
.radio-grid label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    background:rgba(255,255,255,.52);
    padding:14px;
    border-radius:var(--radius-small);
    border:1px solid rgba(123,30,58,.12);
    font-weight:800;
    color:var(--bordeaux);
}

.checkbox input,
.checkbox-grid input,
.radio-grid input{
    width:18px;
    min-width:18px;
    height:18px;
    margin-top:2px;
}

/* BLOCS UTILITAIRES */
.flag,
.upload-box,
.notice,
.watermark-info,
.trust-box,
.status-box,
.timeline-item,
.testimonial,
.document-item,
.access-warning,
.suspension-box,
.live-photo-box{
    background:var(--fond-carte-leger);
    border:1px solid rgba(123,30,58,.12);
    border-radius:var(--radius-small);
    padding:16px;
    color:var(--bordeaux);
}

.flag{
    font-weight:800;
}

.upload-box{
    margin-bottom:15px;
    border-style:dashed;
    border-color:var(--rose);
}

.upload-box label{
    display:block;
    font-weight:900;
    color:var(--bordeaux);
    margin-bottom:10px;
}

.upload-box small{
    display:block;
    margin-top:8px;
    color:var(--gris);
}

.notice{
    color:var(--gris);
    margin-bottom:20px;
}

.warning{
    background:rgba(255,240,246,.60);
    border:2px solid rgba(255,79,122,.55);
}

.warning h2{
    color:var(--bordeaux);
}

.small-warning{
    margin:20px 0;
}

.secure-notice,
.security-notice{
    background:rgba(255,240,246,.70);
    border-left:6px solid var(--rose);
    padding:18px;
    border-radius:var(--radius-small);
    margin:25px 0;
    font-weight:900;
    color:var(--bordeaux);
}

.abuse-warning{
    background:rgba(255,241,241,.75);
    border:2px solid rgba(176,0,0,.45);
    color:var(--danger);
    padding:18px;
    border-radius:var(--radius-small);
    font-weight:900;
    margin-bottom:20px;
}

/* LISTES / STATUTS */
.timeline,
.testimonial-list,
.document-list,
.moderation-list{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.timeline-item{
    border-left:5px solid var(--rose);
}

.stat-box{
    background:rgba(255,255,255,.50);
    padding:22px;
    text-align:center;
    border-radius:18px;
    border:1px solid rgba(123,30,58,.10);
    cursor:pointer;
    transition:.2s;
}

.stat-box:hover{
    transform:translateY(-2px);
}

.stat-box span{
    display:block;
    font-size:30px;
    font-weight:900;
    color:var(--bordeaux);
}

.risk,
.badge,
.member-status,
.launch-badge{
    display:inline-block;
    padding:10px 16px;
    border-radius:var(--pill);
    font-weight:900;
}

.sos-protection-promo{
    width:min(760px, 100%);
    margin:16px auto 24px;
    padding:18px 20px;
    text-align:left;
    color:#4a1730;
    background:linear-gradient(135deg, rgba(255,239,245,.94), rgba(239,250,241,.92));
    border:1px solid rgba(111,31,61,.18);
    border-left:6px solid #6f1f3d;
    border-radius:20px;
    box-shadow:0 12px 28px rgba(111,31,61,.12);
}

.sos-protection-heading{
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.sos-protection-icon{font-size:1.7rem; line-height:1.15;}
.sos-protection-promo h2{margin:0; color:#6f1f3d; font-size:1.3rem;}
.sos-protection-promo p{margin:9px 0; line-height:1.45;}
.sos-protection-tagline{font-weight:800; color:#6f1f3d;}
.sos-protection-offer{display:flex; flex-wrap:wrap; gap:4px 14px; margin:12px 0;}
.sos-protection-offer strong{color:#6f1f3d;}
.sos-protection-disclaimer{font-size:.84rem; color:#5f5360;}
.sos-protection-launch{
    margin-bottom:0 !important;
    padding:8px 10px;
    font-size:.82rem;
    font-weight:700;
    color:#28633a;
    background:rgba(208,241,216,.72);
    border-radius:10px;
}

.sos-protection-account p{margin:.35rem 0;}
.sos-protection-account-actions{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.sos-protection-account-actions p{flex:1 0 100%;}
.sos-protection-account-actions .btn{width:auto; margin:0;}

.sos-protection-dialog{
    width:min(430px, calc(100% - 28px));
    padding:22px;
    color:#4a1730;
    background:linear-gradient(135deg, #fff0f6, #effaf1);
    border:1px solid rgba(111,31,61,.22);
    border-radius:20px;
    box-shadow:0 20px 55px rgba(60,15,34,.28);
}
.sos-protection-dialog::backdrop{background:rgba(42,12,26,.48);}
.sos-protection-dialog h2{margin:4px 0 10px; color:#6f1f3d;}
.sos-protection-dialog p{line-height:1.45;}
.sos-protection-dialog .btn{width:100%; margin-top:8px;}
.sos-protection-dialog-icon{font-size:2rem;}

@media (max-width:600px){
    .sos-protection-promo{padding:15px 14px; border-radius:16px;}
    .sos-protection-promo h2{font-size:1.15rem;}
    .sos-protection-offer{display:grid; gap:3px;}
}

.verified,
.launch-badge,
.doc-valid{
    background:#eafcf2;
    color:var(--success);
}

.pending,
.doc-pending,
.moderate,
.moderate-badge{
    background:#fff8e8;
    color:var(--warning);
}

.suspended,
.high,
.high-badge{
    background:#fff1f1;
    color:var(--danger);
}

.excluded,
.critical-badge{
    background:#2b1d24;
    color:white;
}

.critical{
    background:#ffe0e0;
    color:#a00000;
}

/* PROFIL */
.avatar{
    width:96px;
    height:96px;
    border-radius:50%;
    background:rgba(255,240,246,.85);
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:48px;
    border:1px solid rgba(123,30,58,.12);
}

/* MODÉRATION */
.moderation-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:14px;
    margin-bottom:24px;
}

.moderation-item{
    background:rgba(255,255,255,.50);
    padding:18px;
    border-radius:18px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    border:1px solid rgba(123,30,58,.10);
}

.moderation-item p{
    margin-top:8px;
    color:var(--gris);
}

.moderation-actions,
.admin-actions,
.live-photo-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.moderation-tabs{
    position:sticky;
    top:78px;
    z-index:20;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:22px 0;
    padding:12px;
    background:rgba(255,255,255,.52);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-radius:var(--radius);
    border:1px solid rgba(123,30,58,.10);
}

.tab-btn{
    border-radius:var(--pill);
    padding:10px 16px;
    background:var(--rose-soft);
    color:var(--bordeaux);
    font-weight:900;
    box-shadow:none;
}

.tab-btn.active{
    background:var(--rose);
    color:white;
}

.tab-content{
    display:none;
}

.tab-content.active{
    display:block;
}

/* IDENTITÉ PHOTO LIVE */
.required-star{
    color:var(--danger);
    font-weight:900;
}

#liveVideo,
.live-preview{
    width:100%;
    max-width:520px;
    min-height:260px;
    background:#f3edf0;
    border-radius:18px;
    display:none;
    object-fit:cover;
    margin:0 auto 18px;
    border:2px solid var(--bord);
}

.hidden-canvas{
    display:none;
}

/* AIDE & RECOURS */
.aide-page .form-container{
    max-width:1180px;
}

.aide-choice-grid,
.emergency-choice-grid,
.guidance-choice-grid,
.proof-action-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:12px;
    margin:22px 0;
}

.aide-choice,
.emergency-choice,
.guidance-choice,
.compact-options label{
    min-height:52px;
    padding:11px 14px;
    border-radius:18px;
    font-size:15px;
    line-height:1.25;
    text-align:left;
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--bordeaux);
    background:rgba(255,255,255,.50);
    border:1px solid rgba(123,30,58,.14);
    box-shadow:none;
}

.aide-choice.active{
    background:rgba(255,240,246,.95);
    border-color:rgba(255,79,122,.42);
    color:var(--bordeaux);
}

.aide-panel{
    display:none;
}

.aide-panel.active{
    display:block;
}

.compact-result:empty{
    display:none;
}

.compact-result{
    margin-top:18px;
}

.inline-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}

.call-btn,
.phone-link,
.inline-actions .btn,
.inline-actions .danger-btn{
    min-height:40px;
    padding:9px 14px;
    margin:5px 5px 5px 0;
    font-size:14px;
    border-radius:var(--pill);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background:var(--rose);
    color:white;
    font-weight:900;
}

.phone-link.secondary,
.inline-actions .secondary-btn{
    background:var(--rose-soft);
    color:var(--bordeaux);
    border:1px solid rgba(123,30,58,.16);
}

.aide-page .warning{
    border-color:rgba(255,79,122,.55);
}

.aide-page .danger-btn{
    background:var(--rose);
    color:white;
}

/* PREUVE URGENCE */
.proof-page .form-container{
    max-width:1000px;
}

.proof-start-btn{
    min-height:58px;
    font-size:16px;
}

.proof-status{
    margin-top:16px;
    font-weight:900;
}

.proof-status[data-status="recording"]{
    border-color:rgba(255,79,122,.45);
    color:var(--bordeaux);
}

.proof-status[data-status="saved"]{
    background:#eafcf2;
    color:var(--success);
}

.proof-status[data-status="error"]{
    background:#fff1f1;
    color:var(--danger);
}

.proof-preview{
    display:none;
    width:100%;
    max-width:620px;
    min-height:280px;
    margin:18px auto;
    background:#2b1d24;
    border-radius:20px;
    object-fit:cover;
}

.proof-controls{
    margin-top:18px;
}

/* BOUTONS FLOTTANTS */
.floating-emergency,
.floating-proof,
.quick-exit{
    position:fixed;
    right:14px;
    z-index:9999;
    border-radius:var(--pill);
    padding:11px 15px;
    font-weight:900;
    text-decoration:none;
    color:white;
    box-shadow:0 10px 25px rgba(123,30,58,.22);
}

.floating-emergency{
    bottom:72px;
    background:var(--rose);
}

.floating-proof{
    bottom:126px;
    background:var(--rose);
}

.quick-exit{
    bottom:18px;
    background:var(--bordeaux);
}

/* FOOTER */
footer{
    margin-top:40px;
    background:linear-gradient(135deg,var(--bordeaux),var(--bordeaux-doux));
    color:white;
    text-align:center;
    padding:20px;
    border-radius:26px 26px 0 0;
}

/* MOBILE */
@media(max-width:800px){
    header{
        padding:14px 16px;
        flex-direction:column;
        align-items:stretch;
        gap:12px;
    }

    .logo{
        justify-content:center;
        font-size:23px;
    }

    .logo::before{
        width:34px;
        height:34px;
        flex-basis:34px;
        border-radius:10px;
    }

    nav{
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:6px;
    }

    nav a{
        white-space:nowrap;
        flex:0 0 auto;
        font-size:14px;
        padding:9px 13px;
    }

    main,
    .form-page,
    .dossier-page,
    .temoignages-page,
    .profil-page,
    .moderation-page,
    .verification-page{
        padding:18px 12px;
    }

    .hero{
        padding:38px 16px 26px;
    }

    .dossier-home-bloc{
        gap:12px;
        padding:18px;
    }

    .dossier-home-icon{
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:19px;
    }

    .usage-guide summary{
        padding:13px 2px;
        font-size:.86rem;
        line-height:1.35;
    }

    .usage-guide-items article,
    .usage-guide-tools article{
        grid-template-columns:1fr;
        gap:5px;
        padding:10px;
    }

    .usage-guide-items .btn,
    .usage-actions,
    .usage-unavailable{
        width:100%;
        max-width:none;
    }

    .usage-actions{
        justify-content:stretch;
    }

    .usage-actions .btn{
        flex:1 1 150px;
    }

    .hero h1,
    .form-container h1{
        font-size:30px;
        line-height:1.15;
    }

    .form-container,
    .login-box,
    .verification-container,
    .result-preview,
    .dossier-header,
    .card-section,
    .temoignages-header,
    .filter-box,
    .testimonial-card,
    .profil-header,
    .moderation-header,
    .bloc,
    .warning{
        padding:18px;
        border-radius:20px;
        margin-bottom:16px;
    }

    .form-grid,
    .info-grid,
    .stats-grid,
    .checkbox-grid,
    .radio-grid,
    .flags,
    .aide-choice-grid,
    .emergency-choice-grid,
    .guidance-choice-grid,
    .proof-action-grid{
        grid-template-columns:1fr;
    }

    .profil-header{
        flex-direction:column;
        text-align:center;
    }

    .avatar{
        width:76px;
        height:76px;
        font-size:38px;
    }

    .moderation-item{
        flex-direction:column;
        align-items:flex-start;
    }

    .moderation-actions,
    .admin-actions,
    .live-photo-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .moderation-actions .btn,
    .moderation-actions button,
    .admin-actions .btn,
    .live-photo-actions .btn{
        width:100%;
    }

    .moderation-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .stat-box{
        padding:15px 10px;
        font-size:13px;
    }

    .stat-box span{
        font-size:24px;
    }

    .moderation-tabs{
        top:100px;
        flex-wrap:nowrap;
        overflow-x:auto;
        padding:8px;
    }

    .tab-btn{
        flex:0 0 auto;
        white-space:nowrap;
        min-height:42px;
    }

    .btn,
    .submit-btn,
    .secondary-btn,
    .danger-btn,
    button{
        width:100%;
        min-height:46px;
    }

    .aide-choice,
    .emergency-choice,
    .guidance-choice,
    .compact-options label{
        min-height:50px;
        font-size:15px;
        padding:11px 13px;
    }

    .floating-emergency,
    .floating-proof,
    .quick-exit{
        right:10px;
        padding:10px 13px;
        font-size:13px;
    }

    .floating-proof{
        bottom:116px;
    }

    .proof-preview{
        min-height:220px;
    }

    body::before{
        background-size:min(520px,92vw);
        opacity:.12;
    }
}

@media(max-width:380px){
    .moderation-stats{
        grid-template-columns:1fr 1fr;
    }

    .btn,
    button,
    .danger-btn{
        font-size:14px;
    }
}

/* === BALANCETONCHAROT — ASSISTANCE INTELLIGENTE / URGENCE / PREUVE === */
.assistance-page .form-container,
.emergency-proof-page .form-container{
    max-width:1180px;
}

.danger-strip{
    background:rgba(255,240,246,.78);
    border:2px solid rgba(176,0,0,.22);
}

.danger-choice,
.proof-choice{
    text-decoration:none;
}

.danger-choice{
    background:rgba(255,235,238,.82);
    border-color:rgba(176,0,0,.25);
}

.proof-choice{
    min-height:52px;
    padding:11px 14px;
    border-radius:18px;
    font-size:15px;
    line-height:1.25;
    text-align:left;
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--bordeaux);
    background:rgba(255,255,255,.50);
    border:1px solid rgba(123,30,58,.14);
    box-shadow:none;
    font-weight:900;
}

.priority-item{
    border-left-color:var(--danger);
}

.transport-card,
.city-result-card,
.smart-result-inner,
.emergency-plan-inner{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:var(--radius-small);
    padding:18px;
}

.service-line{
    margin:0 0 16px 18px;
    padding-bottom:12px;
}

.service-line:not(:last-child){
    border-bottom:1px solid rgba(123,30,58,.10);
}

.smart-result-inner h4,
.emergency-plan-inner h4,
.city-result-card h4{
    color:var(--bordeaux);
    margin:18px 0 10px;
}

.critical-advice,
.critical-level{
    border:2px solid rgba(176,0,0,.38);
    background:rgba(255,241,241,.86);
    border-radius:var(--radius-small);
    padding:18px;
    margin-bottom:16px;
}

.warning-level{
    border:2px solid rgba(154,90,0,.28);
    background:rgba(255,248,232,.80);
    border-radius:var(--radius-small);
    padding:18px;
    margin-bottom:16px;
}

.emergency-script{
    color:var(--bordeaux);
    font-weight:900;
}

.action-order{
    padding-left:20px;
}

.action-order li,
.smart-result-inner li,
.emergency-plan-inner li{
    margin-bottom:8px;
}

.proof-mode-btn{
    background:rgba(255,255,255,.56);
    color:var(--bordeaux);
    border:1px solid rgba(123,30,58,.15);
    box-shadow:none;
}

.proof-mode-btn.active{
    background:var(--rose);
    color:white;
}

.proof-timer{
    width:fit-content;
    min-width:120px;
    margin:12px auto;
    padding:12px 18px;
    border-radius:var(--pill);
    background:rgba(255,240,246,.92);
    color:var(--bordeaux);
    font-size:28px;
    font-weight:900;
    text-align:center;
    border:1px solid rgba(123,30,58,.12);
}

.proof-upload-log{
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.proof-log-line{
    background:rgba(255,255,255,.62);
    border:1px solid rgba(123,30,58,.10);
    border-radius:14px;
    padding:10px 12px;
    color:var(--bordeaux);
    font-weight:800;
}

.proof-status[data-status="idle"]{
    color:var(--gris);
}

.proof-status[data-status="recording"]{
    background:rgba(255,240,246,.86);
    border:2px solid rgba(255,79,122,.45);
    color:var(--bordeaux);
}

.proof-status[data-status="saved"]{
    background:#eafcf2;
    color:var(--success);
}

.proof-status[data-status="error"]{
    background:#fff1f1;
    color:var(--danger);
}

@media(max-width:800px){
    .proof-choice{
        width:100%;
        min-height:50px;
        font-size:15px;
        padding:11px 13px;
    }

    .proof-timer{
        font-size:24px;
    }
}
/* === MODE COMPACT GLOBAL BTC === */

body{
    font-size:14px;
    line-height:1.35;
}

main,
.form-page,
.dossier-page,
.temoignages-page,
.profil-page,
.moderation-page,
.verification-page{
    padding:18px 14px;
}

header{
    padding:10px 22px;
    gap:12px;
}

.logo{
    font-size:22px;
}

.logo::before{
    width:32px;
    height:32px;
    flex-basis:32px;
}

nav{
    gap:6px;
}

nav a{
    padding:7px 11px;
    font-size:13px;
}

.hero{
    padding:38px 18px;
}

.hero h1{
    font-size:32px;
    margin-bottom:12px;
}

.form-container h1,
.verification-container h1,
.dossier-header h1,
.profil-header h1,
.moderation-header h1,
.temoignages-header h1,
.login-box h1{
    font-size:30px;
    margin-bottom:10px;
}

h2{
    font-size:20px;
}

h3{
    font-size:17px;
}

.bloc,
.warning,
.card-section,
.temoignages-header,
.filter-box,
.testimonial-card,
.form-container,
.login-box,
.verification-container,
.result-preview,
.dossier-header,
.profil-header,
.moderation-header{
    padding:18px;
    margin-bottom:14px;
    border-radius:18px;
}

.intro{
    font-size:15px;
    margin-bottom:16px;
}

.btn,
.submit-btn,
.secondary-btn,
.danger-btn,
button{
    min-height:36px;
    padding:8px 14px;
    font-size:13px;
}

input,
select,
textarea{
    min-height:38px;
    padding:9px 12px;
    font-size:14px;
    border-radius:12px;
}

textarea{
    min-height:90px;
}

.form-grid,
.info-grid,
.stats-grid,
.checkbox-grid,
.radio-grid,
.flags{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:10px;
}

.checkbox,
.checkbox-grid label,
.radio-grid label,
.flag,
.upload-box,
.notice,
.watermark-info,
.trust-box,
.status-box,
.timeline-item,
.testimonial,
.document-item,
.access-warning,
.suspension-box,
.live-photo-box{
    padding:12px;
    border-radius:13px;
}

.secure-notice,
.security-notice,
.abuse-warning{
    padding:12px;
    margin:14px 0;
    border-radius:13px;
}

/* MODÉRATION COMPACTE */
.moderation-header{
    padding:16px 22px;
    margin-bottom:14px;
}

.moderation-header p{
    display:none;
}

.moderation-stats{
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:9px;
    margin-bottom:14px;
}

.stat-box{
    min-height:76px;
    padding:10px 8px;
    border-radius:14px;
    font-size:13px;
}

.stat-box span{
    font-size:24px;
    margin-bottom:4px;
}

.moderation-tabs{
    top:58px;
    gap:6px;
    margin:12px 0;
    padding:8px;
    border-radius:16px;
}

.tab-btn{
    min-height:34px;
    padding:7px 12px;
    font-size:13px;
}

.moderation-item{
    padding:12px;
    gap:10px;
    border-radius:14px;
}

/* AIDE / URGENCE COMPACT */
.aide-choice-grid,
.emergency-choice-grid,
.guidance-choice-grid,
.proof-action-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:9px;
    margin:14px 0;
}

.aide-choice,
.emergency-choice,
.guidance-choice,
.proof-choice,
.compact-options label{
    min-height:42px;
    padding:9px 12px;
    font-size:13px;
    border-radius:14px;
}

/* BOUTONS FLOTTANTS PLUS PETITS */
.floating-emergency,
.floating-proof,
.quick-exit{
    padding:8px 12px;
    font-size:13px;
}

.floating-proof{
    bottom:108px;
}

.floating-emergency{
    bottom:62px;
}

.quick-exit{
    bottom:16px;
}

/* MOBILE */
@media(max-width:800px){
    body{
        font-size:13px;
    }

    .hero h1,
    .form-container h1{
        font-size:25px;
    }

    .bloc,
    .warning,
    .card-section,
    .form-container,
    .login-box,
    .verification-container,
    .result-preview,
    .dossier-header,
    .profil-header,
    .moderation-header{
        padding:14px;
    }

    .moderation-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .stat-box{
        min-height:68px;
    }

    .stat-box span{
        font-size:21px;
    }
}

/* === MODÉRATION — VERSION NETTOYÉE ET FIABLE === */

.hidden{
    display:none !important;
}

.moderation-compact-page{
    max-width:1280px;
    padding-top:12px;
}

.moderation-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    margin-bottom:10px;
}

.moderation-topbar h1{
    font-size:26px;
    margin:0;
    line-height:1;
}

.moderation-topbar p{
    display:block;
    margin:4px 0 0;
    font-size:12px;
    color:var(--gris);
}

.moderation-header-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.moderation-search.compact-search{
    padding:0;
    margin:0 0 10px;
    background:transparent;
    border:0;
    box-shadow:none;
}

.moderation-search.compact-search input{
    min-height:36px;
    font-size:13px;
}

.moderation-stats-compact{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(100px,1fr));
    gap:7px;
    margin-bottom:10px;
}

.moderation-stats-compact .stat-box{
    min-height:58px;
    padding:7px 6px;
    border-radius:13px;
}

.moderation-stats-compact .stat-box span{
    font-size:21px;
    line-height:1;
    margin-bottom:2px;
}

.moderation-stats-compact .stat-box small{
    font-size:11px;
    font-weight:900;
    color:var(--texte);
}

.moderation-tabs-grouped{
    position:sticky;
    top:56px;
    z-index:300;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:8px 0 12px;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(123,30,58,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.mod-menu{
    position:relative;
    min-width:0;
}

.mod-menu-title{
    width:100%;
    min-height:34px;
    padding:8px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    font-size:13px;
}

.mod-menu-title[aria-expanded="true"]{
    background:var(--rose);
    color:#fff;
}

.mod-menu-content{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
    padding:7px;
    border-radius:14px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(123,30,58,.12);
    box-shadow:0 8px 20px rgba(123,30,58,.10);
}

.mod-menu-content.hidden{
    display:none !important;
}

.close-mod-menu{
    width:100%;
    min-height:30px;
    padding:6px 10px;
    border-radius:12px;
    background:var(--bordeaux);
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:none;
}

.close-mod-menu:hover{
    background:var(--bordeaux-doux);
}

.mod-menu-content .tab-btn{
    flex:1 1 auto;
    min-height:30px;
    padding:6px 10px;
    font-size:12px;
}

.moderation-compact-page .card-section{
    padding:14px;
    margin-bottom:10px;
}

.moderation-compact-page .card-section h2{
    font-size:19px;
    margin-bottom:10px;
}

.moderation-compact-page .moderation-item{
    padding:11px;
    border-radius:13px;
    gap:10px;
}

.compact-warning{
    padding:10px 12px;
    margin-bottom:10px;
    font-size:13px;
}

.moderation-subdetails{
    margin-top:12px;
    background:rgba(255,255,255,.42);
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    padding:10px;
}

.moderation-subdetails summary{
    cursor:pointer;
    font-weight:900;
    color:var(--bordeaux);
}

@media(max-width:800px){
    .moderation-topbar{
        align-items:flex-start;
        flex-direction:column;
    }

    .moderation-topbar h1{
        font-size:24px;
    }

    .moderation-stats-compact{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .moderation-tabs-grouped{
        top:92px;
        grid-template-columns:1fr;
    }

    .mod-menu-content{
        flex-direction:column;
    }

    .mod-menu-content .tab-btn,
    .close-mod-menu{
        width:100%;
    }
}

@media(max-width:430px){
    .moderation-stats-compact{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* === PROFIL — TABLEAU DE BORD COMPACT ET RÉTRACTABLE === */
.profil-compact-page{
    max-width:1280px;
    padding-top:12px;
}

.profil-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    margin-bottom:10px;
}

.profil-topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.profil-avatar{
    width:58px;
    height:58px;
    min-width:58px;
    font-size:30px;
}

.profil-topbar h1{
    margin:0 0 6px;
    font-size:26px;
    line-height:1;
}

.profil-topbar p{
    margin:5px 0 0;
    font-size:12px;
    color:var(--gris);
}

.profil-header-actions,
.profil-security-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.profil-stats-compact{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(100px,1fr));
    gap:7px;
    margin-bottom:10px;
}

.profil-stats-compact .stat-box,
.profil-stat-box{
    width:100%;
    min-height:58px;
    padding:7px 6px;
    border-radius:13px;
    background:rgba(255,255,255,.50);
    color:var(--texte);
    box-shadow:none;
}

.profil-stats-compact .stat-box span{
    display:block;
    font-size:21px;
    line-height:1;
    margin-bottom:2px;
    color:var(--bordeaux);
}

.profil-stats-compact .stat-box small{
    font-size:11px;
    font-weight:900;
    color:var(--texte);
}

.profil-stat-box.active{
    background:var(--rose);
    color:#fff;
}

.profil-stat-box.active span,
.profil-stat-box.active small{
    color:#fff;
}

.profil-tabs-grouped{
    position:sticky;
    top:56px;
    z-index:300;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:8px 0 12px;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(123,30,58,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.profil-menu{
    position:relative;
    min-width:0;
}

.profil-menu-title{
    width:100%;
    min-height:34px;
    padding:8px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    font-size:13px;
}

.profil-menu-title[aria-expanded="true"]{
    background:var(--rose);
    color:#fff;
}

.profil-menu-content{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
    padding:7px;
    border-radius:14px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(123,30,58,.12);
    box-shadow:0 8px 20px rgba(123,30,58,.10);
}

.profil-menu-content.hidden{
    display:none !important;
}

.close-profil-menu{
    width:100%;
    min-height:30px;
    padding:6px 10px;
    border-radius:12px;
    background:var(--bordeaux);
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:none;
}

.close-profil-menu:hover{
    background:var(--bordeaux-doux);
}

.profil-tab-btn{
    flex:1 1 auto;
    min-height:30px;
    padding:6px 10px;
    font-size:12px;
    border-radius:var(--pill);
    background:var(--rose-soft);
    color:var(--bordeaux);
    font-weight:900;
    box-shadow:none;
}

.profil-tab-btn.active{
    background:var(--rose);
    color:#fff;
}

.profil-tab-content{
    display:none;
}

.profil-tab-content.active{
    display:block;
}

.profil-compact-page .card-section{
    padding:14px;
    margin-bottom:10px;
}

.profil-compact-page .card-section h2{
    font-size:19px;
    margin-bottom:10px;
}

.profil-info-grid-compact{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:8px;
}

.profil-info-grid-compact > div{
    background:rgba(255,255,255,.45);
    border:1px solid rgba(123,30,58,.10);
    border-radius:13px;
    padding:10px 12px;
}

.profil-info-grid-compact strong{
    display:block;
    color:var(--bordeaux);
    font-size:12px;
    margin-bottom:3px;
}

.profil-compact-page .trust-box,
.profil-compact-page .access-warning{
    padding:12px;
    margin-bottom:10px;
    border-radius:13px;
}

.profil-quick-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:9px;
    margin-top:10px;
}

.profil-quick-grid .aide-choice{
    min-height:42px;
    padding:9px 12px;
    font-size:13px;
    border-radius:14px;
}

@media(max-width:800px){
    .profil-topbar{
        align-items:flex-start;
        flex-direction:column;
    }

    .profil-topbar-left{
        width:100%;
        align-items:flex-start;
    }

    .profil-topbar h1{
        font-size:24px;
    }

    .profil-header-actions,
    .profil-security-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .profil-stats-compact{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .profil-tabs-grouped{
        top:92px;
        grid-template-columns:1fr;
    }

    .profil-menu-content{
        flex-direction:column;
    }

    .profil-tab-btn,
    .close-profil-menu{
        width:100%;
    }
}

@media(max-width:430px){
    .profil-stats-compact{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .profil-avatar{
        width:48px;
        height:48px;
        min-width:48px;
        font-size:24px;
    }
}


/* === AIDE & RECOURS — ASSISTANT VIRTUEL DANGER COMPACT ET RÉTRACTABLE === */
.aide-compact-page{
    max-width:1280px;
    padding-top:12px;
}

.aide-compact-page .form-container{
    padding:14px;
}

.aide-topbar{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    margin-bottom:10px;
    background:rgba(255,255,255,.50);
    border:1px solid rgba(123,30,58,.10);
    border-radius:16px;
}

.aide-topbar h1{
    margin:0 0 6px;
    font-size:26px;
    line-height:1;
}

.aide-intro{
    margin:0;
    font-size:13px;
    max-width:880px;
}

.quick-exit-top{
    min-height:36px;
    padding:8px 14px;
    border-radius:var(--pill);
    background:var(--bordeaux);
    color:#fff;
    text-decoration:none;
    font-weight:900;
    white-space:nowrap;
}

.aide-emergency-strip{
    padding:12px;
    margin-bottom:10px;
    border-radius:16px;
    background:rgba(255,241,241,.88);
    border:2px solid rgba(176,0,0,.34);
    box-shadow:0 8px 20px rgba(123,30,58,.08);
}

.aide-emergency-text{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    color:var(--danger);
}

.aide-emergency-text strong{
    font-size:17px;
}

.aide-emergency-text span{
    color:var(--texte);
    font-weight:800;
    font-size:13px;
}

.aide-emergency-actions{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:7px;
}

.aide-emergency-strip .emergency-sentence{
    margin:9px 0 0;
    color:var(--bordeaux);
    font-size:13px;
}

.aide-tabs-grouped{
    position:sticky;
    top:56px;
    z-index:310;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:8px 0 12px;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.76);
    border:1px solid rgba(123,30,58,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.aide-menu{
    position:relative;
    min-width:0;
}

.aide-menu-title{
    width:100%;
    min-height:34px;
    padding:8px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    font-size:13px;
}

.aide-menu-title[aria-expanded="true"]{
    background:var(--rose);
    color:#fff;
}

.aide-menu-content{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
    padding:7px;
    border-radius:14px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(123,30,58,.12);
    box-shadow:0 8px 20px rgba(123,30,58,.10);
}

.aide-menu-content.hidden{
    display:none !important;
}

.close-aide-menu{
    width:100%;
    min-height:30px;
    padding:6px 10px;
    border-radius:12px;
    background:var(--bordeaux);
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:none;
}

.close-aide-menu:hover{
    background:var(--bordeaux-doux);
}

.aide-menu-content .aide-choice,
.aide-menu-content .proof-choice,
.aide-menu-content .danger-choice{
    flex:1 1 auto;
    min-height:30px;
    padding:6px 10px;
    font-size:12px;
    border-radius:var(--pill);
    text-decoration:none;
    justify-content:center;
}

.aide-compact-page .card-section,
.aide-compact-page .warning{
    padding:14px;
    margin-bottom:10px;
}

.aide-compact-page .card-section h2,
.aide-compact-page .warning h2{
    font-size:19px;
    margin-bottom:10px;
}

.aide-compact-page .timeline{
    gap:9px;
}

.aide-compact-page .timeline-item,
.aide-compact-page .flag,
.aide-compact-page .notice,
.aide-compact-page .access-warning,
.aide-compact-page .transport-card,
.aide-compact-page .city-result-card,
.aide-compact-page .smart-result-inner,
.aide-compact-page .emergency-plan-inner{
    padding:11px;
    border-radius:13px;
}

.aide-compact-page .compact-call-grid,
.aide-compact-page .assistant-grid,
.aide-compact-page .city-grid,
.aide-compact-page .cpvs-flags{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:7px;
}

.aide-compact-page .emergency-options{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:7px;
}

.aide-compact-page .compact-options label{
    min-height:38px;
    padding:8px 10px;
    font-size:12px;
}

.aide-compact-page .result-preview{
    padding:12px;
    margin-top:10px;
}

.aide-compact-page .inline-actions{
    gap:6px;
}

.aide-compact-page .call-btn,
.aide-compact-page .inline-actions .btn,
.aide-compact-page .inline-actions .danger-btn{
    min-height:34px;
    padding:7px 11px;
    font-size:12px;
}

@media(max-width:800px){
    .aide-topbar{
        flex-direction:column;
    }

    .quick-exit-top{
        width:100%;
        text-align:center;
    }

    .aide-tabs-grouped{
        top:92px;
        grid-template-columns:1fr;
    }

    .aide-menu-content{
        flex-direction:column;
    }

    .aide-menu-content .aide-choice,
    .aide-menu-content .proof-choice,
    .aide-menu-content .danger-choice,
    .close-aide-menu{
        width:100%;
    }

    .aide-emergency-actions{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:430px){
    .aide-emergency-actions{
        grid-template-columns:1fr;
    }
}


/* === BALANCETONCHAROT — ALERTE CONFIANCE RAPIDE === */
.trust-alert-panel,
.alerte-confiance-panel{
    background:rgba(255,241,241,.88);
    border:2px solid rgba(176,0,0,.30);
    border-radius:16px;
    padding:14px;
    margin:10px 0;
    box-shadow:0 8px 20px rgba(123,30,58,.08);
}

.trust-alert-panel h2,
.alerte-confiance-panel h2{
    color:var(--danger);
    border-left:5px solid var(--danger);
    padding-left:10px;
    margin-bottom:10px;
    font-size:19px;
}

.trust-alert-intro,
.alerte-confiance-intro{
    color:var(--texte);
    font-weight:800;
    font-size:13px;
    margin-bottom:10px;
}

.trust-alert-grid,
.alerte-confiance-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:8px;
    margin:10px 0;
}

.trust-alert-field,
.alerte-confiance-field{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:13px;
    padding:10px;
}

.trust-alert-field label,
.alerte-confiance-field label{
    display:block;
    color:var(--bordeaux);
    font-size:12px;
    font-weight:900;
    margin-bottom:5px;
}

.trust-alert-field input,
.alerte-confiance-field input,
.trust-alert-field select,
.alerte-confiance-field select{
    min-height:36px;
    padding:8px 10px;
    font-size:13px;
    border-radius:12px;
}

.trust-alert-actions,
.alerte-confiance-actions{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:7px;
    margin-top:10px;
}

.trust-alert-actions .btn,
.trust-alert-actions .danger-btn,
.alerte-confiance-actions .btn,
.alerte-confiance-actions .danger-btn{
    width:100%;
    min-height:38px;
    padding:8px 12px;
    font-size:13px;
}

.trust-alert-main-btn,
.alerte-confiance-main-btn{
    background:var(--danger) !important;
    color:#fff !important;
    font-size:14px !important;
    box-shadow:0 10px 24px rgba(176,0,0,.18) !important;
}

.trust-alert-result,
.alerte-confiance-result{
    margin-top:10px;
    padding:12px;
    border-radius:13px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(123,30,58,.12);
    color:var(--bordeaux);
    font-size:13px;
    font-weight:800;
}

.trust-alert-result:empty,
.alerte-confiance-result:empty{
    display:none;
}

.trust-alert-message,
.alerte-confiance-message{
    width:100%;
    min-height:86px;
    margin-top:8px;
    font-size:13px;
}

.trust-alert-mini-note,
.alerte-confiance-mini-note{
    margin-top:8px;
    font-size:12px;
    color:var(--gris);
    font-weight:800;
}

.trust-alert-floating,
.alerte-confiance-floating{
    position:fixed;
    right:14px;
    bottom:178px;
    z-index:9999;
    min-height:42px;
    padding:10px 15px;
    border-radius:var(--pill);
    background:var(--danger);
    color:#fff;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 10px 25px rgba(176,0,0,.22);
}

.trust-alert-floating:hover,
.alerte-confiance-floating:hover{
    background:#8f0000;
    color:#fff;
    text-decoration:none;
}

@media(max-width:800px){
    .trust-alert-grid,
    .alerte-confiance-grid{
        grid-template-columns:1fr;
    }

    .trust-alert-actions,
    .alerte-confiance-actions{
        grid-template-columns:1fr 1fr;
    }

    .trust-alert-floating,
    .alerte-confiance-floating{
        right:10px;
        bottom:158px;
        padding:9px 12px;
        font-size:12px;
    }
}

@media(max-width:430px){
    .trust-alert-actions,
    .alerte-confiance-actions{
        grid-template-columns:1fr;
    }

    .trust-alert-panel,
    .alerte-confiance-panel{
        padding:12px;
    }
}


/* === URGENCE TOTALE — SESSIONS FIRESTORE / ALERTE CONFIANCE === */
.trusted-alert-status[data-status="saved"],
#trustedContactsStatus[data-status="saved"]{
    background:#eafcf2;
    color:var(--success);
    border-color:rgba(10,143,67,.22);
}

.trusted-alert-status[data-status="warning"],
#trustedContactsStatus[data-status="warning"]{
    background:#fff8e8;
    color:var(--warning);
    border-color:rgba(154,90,0,.22);
}

.trusted-alert-status[data-status="error"],
#trustedContactsStatus[data-status="error"]{
    background:#fff1f1;
    color:var(--danger);
    border-color:rgba(176,0,0,.25);
}

.trusted-contacts-explainer{
    margin:16px 0;
    padding:16px;
    border:1px solid rgba(88,24,47,.18);
    border-radius:14px;
    background:#fff8fa;
    line-height:1.45;
}

.trusted-contacts-explainer ol{
    margin:10px 0 0;
    padding-left:22px;
}

.trusted-contact-card{
    margin:14px 0;
    padding:16px;
    border:1px solid rgba(88,24,47,.18);
    border-radius:14px;
    background:#fff;
}

.trusted-contact-card h3{ margin:0 0 12px; }
.trusted-contact-card .info-grid{ margin-bottom:8px; }
.trusted-contact-options{ display:grid; gap:8px; }
.trusted-contact-options label{ display:flex; align-items:center; gap:8px; }
.trusted-contact-order-help{ display:block; margin-top:4px; color:#5f5360; font-size:13px; }

.emergency-session-box{
    border:2px solid rgba(255,79,122,.28);
    background:rgba(255,255,255,.72);
    border-radius:16px;
    padding:14px;
}

.trusted-alert-message{
    word-break:break-word;
    white-space:normal;
}

.trusted-main-call{
    font-size:14px;
    min-height:44px;
}

.profil-contacts-grid input{
    margin-top:6px;
}

/* === MODÉRATION — CENTRE DES URGENCES === */
.emergency-admin-summary{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:8px;
    margin:10px 0 12px;
}

.emergency-admin-summary > div{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:13px;
    padding:10px 12px;
    text-align:center;
}

.emergency-admin-summary strong{
    display:block;
    color:var(--bordeaux);
    font-size:22px;
    line-height:1;
    margin-bottom:4px;
}

.emergency-admin-summary span{
    color:var(--texte);
    font-size:12px;
    font-weight:900;
}

.emergency-session-card{
    align-items:flex-start;
    border-left:6px solid rgba(123,30,58,.20);
}

.emergency-status-active{
    border-left-color:var(--danger);
    background:rgba(255,241,241,.62);
}

.emergency-status-hidden{
    border-left-color:#e86b00;
    background:rgba(255,247,236,.72);
}

.emergency-status-paused{
    border-left-color:var(--warning);
    background:rgba(255,248,232,.70);
}

.emergency-status-safe{
    border-left-color:var(--success);
    background:rgba(234,252,242,.70);
}

.emergency-session-details{
    margin-top:10px;
}

.emergency-session-detail-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:8px;
    margin-top:10px;
}

.emergency-session-detail-grid > div{
    background:rgba(255,255,255,.55);
    border:1px solid rgba(123,30,58,.10);
    border-radius:12px;
    padding:9px 10px;
    word-break:break-word;
}

.emergency-proof-files{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:10px;
}

.emergency-proof-files .flag{
    word-break:break-word;
}

@media(max-width:800px){
    .emergency-admin-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .emergency-session-detail-grid{
        grid-template-columns:1fr;
    }
}


/* === PROFIL — SÉCURITÉ & URGENCE / MODE D'EMPLOI === */
.urgent-manual-remember{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:8px;
    margin:10px 0 14px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,241,241,.86);
    border:2px solid rgba(176,0,0,.26);
}

.urgent-manual-remember > strong{
    grid-column:1 / -1;
    color:var(--danger);
    font-size:15px;
}

.urgent-manual-line{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(123,30,58,.10);
    border-radius:13px;
    padding:9px 10px;
    font-weight:900;
    color:var(--bordeaux);
}

.urgent-manual-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
}

.urgent-tool-card{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:16px;
    padding:14px;
    color:var(--texte);
    box-shadow:0 8px 18px rgba(123,30,58,.06);
}

.urgent-tool-card h3{
    margin:4px 0 8px;
    font-size:17px;
}

.urgent-tool-card p{
    margin:0 0 8px;
    color:var(--texte);
}

.urgent-tool-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:14px;
    background:var(--rose-soft);
    color:var(--bordeaux);
    font-size:22px;
    margin-bottom:6px;
}

.urgent-tool-main{
    grid-column:1 / -1;
    border:2px solid rgba(176,0,0,.26);
    background:rgba(255,241,241,.62);
}

.urgent-tool-warning{
    border-left:6px solid #e86b00;
}

.urgent-tool-safe{
    border-left:6px solid var(--success);
}

.urgent-tool-steps{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:8px;
    margin-top:10px;
}

.urgent-tool-steps > div{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(123,30,58,.10);
    border-radius:13px;
    padding:10px;
}

.emergency-disguise-panel{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(160px,240px);
    gap:12px;
    align-items:stretch;
    margin:12px 0;
}

.emergency-disguise-panel > div{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    padding:12px;
}

.emergency-disguise-panel strong{
    display:block;
    color:var(--bordeaux);
    font-size:12px;
    margin-bottom:6px;
}

.emergency-disguise-preview{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:76px;
    font-size:22px;
    font-weight:900;
    color:var(--bordeaux);
    background:rgba(255,240,246,.82) !important;
}

#emergencyDisguiseStatus[data-status="saved"]{
    background:#eafcf2;
    color:var(--success);
    border-color:rgba(10,143,67,.22);
}

#emergencyDisguiseStatus[data-status="warning"]{
    background:#fff8e8;
    color:var(--warning);
    border-color:rgba(154,90,0,.22);
}

#emergencyDisguiseStatus[data-status="error"]{
    background:#fff1f1;
    color:var(--danger);
    border-color:rgba(176,0,0,.25);
}

/* Nettoyage : anciens boutons flottants d'urgence devenus redondants */
.floating-emergency,
.trust-alert-floating,
.alerte-confiance-floating{
    display:none !important;
}

@media(max-width:800px){
    .urgent-manual-remember,
    .urgent-manual-grid,
    .urgent-tool-steps,
    .emergency-disguise-panel{
        grid-template-columns:1fr;
    }

    .urgent-tool-card{
        padding:12px;
    }

    .emergency-disguise-preview{
        min-height:62px;
        font-size:19px;
    }
}

/* === DEFENSE & DEMARCHES — PAGE JURIDIQUE PRATIQUE === */
.defense-page,
.defense-compact-page{
    width:100%;
    max-width:1280px;
    margin:auto;
    padding:18px 14px;
}

.defense-header,
.defense-topbar{
    background:var(--fond-carte);
    border:1px solid rgba(123,30,58,.12);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    margin-bottom:10px;
}

.defense-topbar h1{
    margin:0 0 6px;
    font-size:28px;
    color:var(--bordeaux);
}

.defense-topbar p{
    margin:0;
    color:var(--gris);
    font-size:13px;
    font-weight:800;
}

.defense-header-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.defense-search.compact-search{
    margin:0 0 10px;
}

.defense-search input{
    min-height:38px;
}

.defense-stats-compact{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(105px,1fr));
    gap:7px;
    margin-bottom:10px;
}

.defense-stat-box{
    min-height:58px;
    padding:7px 6px;
    border-radius:13px;
    background:rgba(255,255,255,.50);
    color:var(--texte);
    box-shadow:none;
}

.defense-stat-box span{
    display:block;
    font-size:22px;
    line-height:1;
    margin-bottom:2px;
}

.defense-stat-box small{
    font-size:11px;
    font-weight:900;
}

.defense-stat-box.active{
    background:var(--rose);
    color:#fff;
}

.defense-tabs-grouped{
    position:sticky;
    top:56px;
    z-index:300;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:8px 0 12px;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.76);
    border:1px solid rgba(123,30,58,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.defense-menu{
    position:relative;
    min-width:0;
}

.defense-menu-title{
    width:100%;
    min-height:34px;
    padding:8px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    font-size:13px;
}

.defense-menu-title[aria-expanded="true"]{
    background:var(--rose);
    color:#fff;
}

.defense-menu-content{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
    padding:7px;
    border-radius:14px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(123,30,58,.12);
    box-shadow:0 8px 20px rgba(123,30,58,.10);
}

.defense-menu-content.hidden{
    display:none !important;
}

.close-defense-menu{
    width:100%;
    min-height:30px;
    padding:6px 10px;
    border-radius:12px;
    background:var(--bordeaux);
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:none;
}

.defense-tab-btn{
    flex:1 1 auto;
    min-height:30px;
    padding:6px 10px;
    font-size:12px;
    border-radius:var(--pill);
    background:var(--rose-soft);
    color:var(--bordeaux);
    font-weight:900;
    box-shadow:none;
}

.defense-tab-btn.active{
    background:var(--rose);
    color:#fff;
}

.defense-tab-content{
    display:none;
}

.defense-tab-content.active{
    display:block;
}

.defense-grid,
.defense-steps-grid,
.complaint-grid,
.document-template-grid,
.dossier-status-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
}

.defense-card-link,
.defense-step-card,
.complaint-step,
.dossier-check,
.document-template-btn,
.defense-note{
    background:rgba(255,255,255,.55);
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    padding:12px;
    color:var(--bordeaux);
    text-decoration:none;
}

.defense-card-link{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.defense-card-link strong,
.defense-step-card h3,
.complaint-step h3{
    color:var(--bordeaux);
    margin-bottom:8px;
}

.defense-card-link span,
.defense-step-card p,
.defense-note{
    color:var(--texte);
    font-size:13px;
    font-weight:800;
}

.defense-step-card ul,
.complaint-step ul{
    padding-left:18px;
}

.defense-step-card li,
.complaint-step li{
    margin-bottom:6px;
}

.defense-doc-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.rights-accordion{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.rights-accordion details{
    background:rgba(255,255,255,.62);
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    overflow:hidden;
}

.rights-accordion summary{
    cursor:pointer;
    padding:12px 14px;
    font-weight:900;
    color:var(--bordeaux);
}

.rights-content{
    padding:12px 14px;
    border-top:1px solid rgba(123,30,58,.10);
}

.document-template-btn{
    width:100%;
    min-height:44px;
    justify-content:flex-start;
    background:rgba(255,255,255,.58);
    color:var(--bordeaux);
    box-shadow:none;
    text-align:left;
}

.document-template-btn:hover{
    background:var(--rose-soft);
    color:var(--bordeaux);
}

.dossier-check{
    font-weight:900;
    color:var(--success);
}

.dossier-check.missing{
    color:var(--warning);
}

.dossier-main-btn{
    margin-top:12px;
    width:100%;
}

@media(max-width:800px){
    .defense-topbar{
        flex-direction:column;
    }

    .defense-header-actions{
        width:100%;
        flex-direction:column;
    }

    .defense-tabs-grouped{
        top:92px;
        grid-template-columns:1fr;
    }

    .defense-menu-content{
        flex-direction:column;
    }

    .defense-tab-btn,
    .close-defense-menu{
        width:100%;
    }

    .defense-stats-compact{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .defense-doc-actions{
        flex-direction:column;
    }

    .defense-doc-actions .btn,
    .defense-doc-actions button{
        width:100%;
    }
}
.documents-page{
    max-width:1200px;
    margin:auto;
    padding:20px;
}

.documents-menu{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
}

.doc-btn{
    border:none;
    border-radius:12px;
    padding:12px 18px;
    cursor:pointer;
}

.doc-btn.active{
    font-weight:700;
}

.document-viewer{
    background:white;
    border-radius:18px;
    padding:25px;
}

.doc-table{
    width:100%;
    border-collapse:collapse;
}

.doc-table th,
.doc-table td{
    border:1px solid #ddd;
    padding:10px;
}


/* === DOCUMENTS & DEMARCHES — BIBLIOTHEQUE PRATIQUE === */
.documents-page,
.documents-compact-page{
    width:100%;
    max-width:1280px;
    margin:auto;
    padding:18px 14px;
}

.documents-header,
.documents-topbar{
    background:var(--fond-carte);
    border:1px solid rgba(123,30,58,.12);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    margin-bottom:10px;
}

.documents-topbar h1{
    margin:0 0 6px;
    font-size:28px;
    color:var(--bordeaux);
}

.documents-topbar p{
    margin:0;
    color:var(--gris);
    font-size:13px;
    font-weight:800;
}

.documents-header-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.documents-search.compact-search{
    margin:0 0 10px;
}

.documents-tabs-grouped,
.documents-menu{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:10px 0;
}

.documents-menu-block{
    background:rgba(255,255,255,.62);
    border:1px solid rgba(123,30,58,.12);
    border-radius:16px;
    padding:10px;
    box-shadow:var(--shadow-soft);
}

.documents-menu-block h2{
    font-size:16px;
    margin:0 0 8px;
    border-left:5px solid var(--rose);
    padding-left:10px;
}

.doc-btn,
.document-template-btn{
    width:100%;
    min-height:36px;
    margin:4px 0;
    padding:8px 11px;
    border-radius:13px;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.12);
    justify-content:flex-start;
    text-align:left;
    text-decoration:none;
}

.doc-btn.active,
.document-template-btn.active{
    background:var(--rose);
    color:#fff;
}

.document-viewer{
    background:rgba(255,255,255,.74);
    border:1px solid rgba(123,30,58,.12);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    padding:18px;
    margin-top:10px;
    overflow-x:auto;
}

.document-viewer h2{
    font-size:22px;
    margin-bottom:12px;
}

.document-viewer h3{
    margin:16px 0 8px;
}

.doc-intro,
.doc-fill-zone{
    background:rgba(255,255,255,.62);
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    padding:12px;
    color:var(--texte);
    font-weight:800;
    margin:10px 0;
}

.doc-fill-zone{
    min-height:95px;
    white-space:pre-wrap;
}

.doc-table{
    width:100%;
    border-collapse:collapse;
    margin:10px 0;
    background:rgba(255,255,255,.75);
    border-radius:14px;
    overflow:hidden;
}

.doc-table th,
.doc-table td{
    border:1px solid rgba(123,30,58,.14);
    padding:10px;
    text-align:left;
    vertical-align:top;
}

.doc-table th{
    background:var(--rose-soft);
    color:var(--bordeaux);
    font-weight:900;
}

.doc-checklist,
.doc-lines{
    padding-left:20px;
}

.doc-checklist li,
.doc-lines li{
    margin-bottom:8px;
}

#documentStatus[data-status="saved"]{
    background:#eafcf2;
    color:var(--success);
    border-color:rgba(10,143,67,.22);
}

@media(max-width:800px){
    .documents-topbar{
        flex-direction:column;
    }

    .documents-header-actions{
        width:100%;
        flex-direction:column;
    }

    .documents-tabs-grouped,
    .documents-menu{
        grid-template-columns:1fr;
    }

    .document-viewer{
        padding:14px;
    }

    .doc-table{
        font-size:12px;
    }
}

@media print{
    header,
    footer,
    .documents-header-actions,
    .documents-search,
    .documents-tabs-grouped,
    #documentStatus{
        display:none !important;
    }

    body::before{
        display:none !important;
    }

    .documents-page,
    .documents-compact-page{
        padding:0;
    }

    .document-viewer{
        box-shadow:none;
        border:0;
        background:#fff;
        padding:0;
    }
}


/* === DOCUMENTS & DÉMARCHES — DOCUMENTS OFFICIELS / JURIDICTIONS BELGES === */
.documents-page,
.documents-compact-page{
    width:100%;
    max-width:1280px;
    margin:auto;
    padding:18px 14px;
}

.documents-header,
.documents-topbar{
    background:var(--fond-carte);
    border:1px solid rgba(123,30,58,.12);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    margin-bottom:10px;
}

.documents-topbar h1{
    margin:0 0 6px;
    font-size:28px;
    color:var(--bordeaux);
}

.documents-topbar p{
    margin:0;
    color:var(--gris);
    font-size:13px;
    font-weight:800;
}

.documents-header-actions,
.document-action-row,
.document-bottom-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.documents-search.compact-search{
    margin:0 0 10px;
}

.documents-tabs-grouped{
    position:sticky;
    top:56px;
    z-index:300;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:8px 0 12px;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.76);
    border:1px solid rgba(123,30,58,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.documents-menu-group{
    position:relative;
    min-width:0;
}

.documents-menu-title{
    width:100%;
    min-height:34px;
    padding:8px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    font-size:13px;
}

.documents-menu-title[aria-expanded="true"]{
    background:var(--rose);
    color:#fff;
}

.documents-menu-content{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
    padding:7px;
    border-radius:14px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(123,30,58,.12);
    box-shadow:0 8px 20px rgba(123,30,58,.10);
}

.documents-menu-content.hidden{
    display:none !important;
}

.close-documents-menu,
.doc-btn,
.official-filter{
    flex:1 1 auto;
    min-height:30px;
    padding:6px 10px;
    font-size:12px;
    border-radius:var(--pill);
    background:var(--rose-soft);
    color:var(--bordeaux);
    font-weight:900;
    box-shadow:none;
}

.close-documents-menu{
    width:100%;
    background:var(--bordeaux);
    color:#fff;
}

.doc-btn.active,
.official-filter.active{
    background:var(--rose);
    color:#fff;
}

.document-viewer{
    padding:18px;
}

.official-filter-grid,
.official-doc-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
    margin:12px 0;
}

.official-doc-card{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:14px;
    padding:13px;
    color:var(--texte);
}

.official-doc-card h3{
    margin:6px 0 8px;
    color:var(--bordeaux);
}

.official-doc-card p{
    margin:0 0 10px;
    font-weight:800;
    font-size:13px;
}

.official-doc-tag{
    display:inline-flex;
    width:fit-content;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(255,240,246,.95);
    color:var(--bordeaux);
    font-size:12px;
    font-weight:900;
}

.doc-table{
    width:100%;
    border-collapse:collapse;
    margin:12px 0;
    background:rgba(255,255,255,.72);
    border-radius:14px;
    overflow:hidden;
}

.doc-table th,
.doc-table td{
    border:1px solid rgba(123,30,58,.14);
    padding:10px;
    text-align:left;
    vertical-align:top;
}

.doc-table th{
    background:rgba(255,240,246,.95);
    color:var(--bordeaux);
}

.official-main-link{
    background:rgba(255,241,241,.88) !important;
    border:2px solid rgba(176,0,0,.22) !important;
}

@media(max-width:800px){
    .documents-topbar{
        flex-direction:column;
    }

    .documents-header-actions,
    .document-action-row,
    .document-bottom-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .documents-tabs-grouped{
        top:92px;
        grid-template-columns:1fr;
    }

    .documents-menu-content{
        flex-direction:column;
    }

    .doc-btn,
    .close-documents-menu,
    .official-filter{
        width:100%;
    }

    .official-doc-grid,
    .official-filter-grid{
        grid-template-columns:1fr;
    }

    .doc-table{
        font-size:12px;
    }
}

@media print{
    header,
    footer,
    .documents-tabs-grouped,
    .documents-search,
    .documents-header-actions,
    .document-bottom-actions,
    .document-action-row{
        display:none !important;
    }

    body::before{
        display:none !important;
    }

    .document-viewer{
        box-shadow:none !important;
        border:0 !important;
    }
}

/* === DEFENSE V1 RAPIDE — AJOUTS === */
.defense-main-panel{display:none;}
.defense-main-panel.active{display:block;}
.defense-category-block{margin:14px 0 18px;}
.defense-category-block h3{margin-bottom:8px;}
.incident-result{margin-top:16px;}
.defense-card-link.incident-choice{
    width:100%;
    text-align:left;
    cursor:pointer;
}
.defense-card-link.incident-choice:hover{
    background:var(--rose-soft);
}
.selected-guide{
    border:2px solid rgba(255,79,122,.28);
}
@media(max-width:800px){
    .defense-card-link.incident-choice{
        min-height:auto;
    }
}
/* === DEFENSE & DEMARCHES — MENUS DÉROULANTS DES SITUATIONS === */
.defense-folder{
    margin:10px 0;
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 18px rgba(123,30,58,.05);
}

.defense-folder summary{
    min-height:44px;
    padding:12px 14px;
    cursor:pointer;
    list-style:none;
    color:var(--bordeaux);
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:rgba(255,240,246,.82);
}

.defense-folder summary::-webkit-details-marker{
    display:none;
}

.defense-folder summary::after{
    content:"▾";
    font-size:14px;
    transition:.18s ease;
}

.defense-folder[open] summary{
    background:var(--rose);
    color:#fff;
}

.defense-folder[open] summary::after{
    transform:rotate(180deg);
}

.defense-folder summary span{
    font-size:12px;
    opacity:.88;
}

.defense-folder .defense-grid{
    padding:10px;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}

.defense-folder .defense-card-link{
    min-height:70px;
}

@media(max-width:800px){
    .defense-folder summary{
        min-height:42px;
        padding:10px 12px;
        font-size:13px;
    }

    .defense-folder .defense-grid{
        grid-template-columns:1fr;
        padding:8px;
    }

    .defense-folder .defense-card-link{
        min-height:auto;
    }
}
/* === DOCUMENTS & DÉMARCHES — KITS BELGIQUE === */
.documents-page,.documents-compact-page{width:100%;max-width:1280px;margin:auto;padding:18px 14px;}
.documents-header,.documents-topbar{background:var(--fond-carte);border:1px solid rgba(123,30,58,.12);border-radius:18px;box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;margin-bottom:10px;}
.documents-topbar h1{margin:0 0 6px;font-size:28px;color:var(--bordeaux);}
.documents-topbar p{margin:0;color:var(--gris);font-size:13px;font-weight:800;}
.documents-header-actions,.documents-actions{display:flex;flex-wrap:wrap;gap:8px;}
.documents-search.compact-search{margin:0 0 10px;}
.documents-kit-folder{margin:10px 0;background:rgba(255,255,255,.58);border:1px solid rgba(123,30,58,.12);border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(123,30,58,.05);}
.documents-kit-folder summary{min-height:44px;padding:12px 14px;cursor:pointer;list-style:none;color:var(--bordeaux);font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,240,246,.82);}
.documents-kit-folder summary::-webkit-details-marker{display:none;}
.documents-kit-folder summary::after{content:"▾";font-size:14px;transition:.18s ease;}
.documents-kit-folder[open] summary{background:var(--rose);color:#fff;}
.documents-kit-folder[open] summary::after{transform:rotate(180deg);}
.documents-kit-folder summary span{font-size:12px;opacity:.88;}
.documents-kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:10px;}
.document-viewer{margin-top:14px;}
.document-form-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0;}
.document-form-preview label{display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.55);border:1px solid rgba(123,30,58,.12);border-radius:14px;padding:10px;color:var(--bordeaux);}
.document-form-preview textarea{min-height:80px;}
@media(max-width:800px){.documents-topbar{flex-direction:column}.documents-header-actions,.documents-actions{width:100%;flex-direction:column}.documents-kit-grid,.document-form-preview{grid-template-columns:1fr}.documents-kit-folder summary{min-height:42px;padding:10px 12px;font-size:13px}}

/* === PROFIL — COFFRE-FORT PIECES JOINTES === */
.btc-vault-card{align-items:flex-start}
.btc-file-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:13px;background:rgba(255,255,255,.65);border:1px solid rgba(123,30,58,.10);color:var(--bordeaux);font-weight:800;word-break:break-word;margin-top:8px}
.btc-file-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.btc-file-actions .btn,.btc-file-actions button{width:auto;min-height:30px;padding:6px 10px;font-size:12px}
.document-textarea{width:100%;min-height:420px;padding:18px;border-radius:18px;border:1px solid var(--bord);font-family:inherit;font-size:14px;line-height:1.5;background:#fff}
@media(max-width:800px){.btc-file-line{flex-direction:column;align-items:stretch}.btc-file-actions{flex-direction:column}.btc-file-actions .btn,.btc-file-actions button{width:100%}}


/* === BTC — Profil coffre/preuves : aperçu et suppression === */
.proof-media-preview,
.vault-media-preview{
    margin:10px 0 16px;
}

.proof-fragment-line,
.btc-file-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid rgba(123,30,58,.10);
}

.proof-fragment-line:last-child,
.btc-file-line:last-child{
    border-bottom:0;
}

.proof-media-player,
.vault-media-full{
    display:block;
    width:100%;
    max-width:720px;
    max-height:520px;
    margin:10px 0;
    border-radius:16px;
    background:#2b1d24;
}

.proof-audio-player,
.vault-audio-full{
    display:block;
    width:100%;
    max-width:720px;
    margin:10px 0;
}

.vault-pdf-preview{
    width:100%;
    min-height:520px;
    border:1px solid rgba(123,30,58,.16);
    border-radius:16px;
    background:#fff;
}

.vault-file-actions,
.vault-preview-header{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
}

.vault-preview-header{
    justify-content:space-between;
    margin-bottom:12px;
}

@media(max-width:800px){
    .proof-fragment-line,
    .btc-file-line,
    .vault-preview-header{
        align-items:stretch;
        flex-direction:column;
    }

    .vault-file-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }
}

/* Aperçu preuves urgence */
.proof-preview-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.proof-preview-header h3{
    margin-top:0;
}


/* === INDEX — CORRECTIONS ACCUEIL 24/06 === */

/* Hero très transparent pour mieux voir le sigle */
.hero{
    background:rgba(255,255,255,.16) !important;
    border-color:rgba(123,30,58,.06) !important;
    box-shadow:0 8px 20px rgba(123,30,58,.04) !important;
    backdrop-filter:blur(1.5px) !important;
    -webkit-backdrop-filter:blur(1.5px) !important;
}

/* Sous-rubriques vertes plus douces */
.hero-slogan{
    max-width:980px;
    margin:22px auto 8px;
    font-size:2rem;
    line-height:1.2;
    font-weight:900;
    color:var(--vert) !important;
}

.hero-subtitle{
    max-width:1000px;
    margin:0 auto 28px;
    font-size:1.25rem;
    line-height:1.45;
    color:#17894f !important;
    font-weight:700;
}

/* Ligne accueil : Vérifier + note + devenir membre */
.hero-actions-line{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-top:22px;
}

.hero-access-note{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:var(--pill);
    background:rgba(234,252,242,.74);
    color:#0a8f43;
    font-weight:900;
    border:1px solid rgba(46,212,122,.28);
}

/* Réseau d'alerte : liste en vert */
.bloc h2 + p + ul li{
    color:#0a8f43;
    font-weight:900;
}

/* Réaffichage du bouton preuve urgence */
.floating-proof{
    display:inline-flex !important;
    position:fixed !important;
    right:14px !important;
    bottom:126px !important;
    z-index:100000 !important;
    overflow:visible !important;
}

/* Bulles flottantes */
.quick-exit-tooltip,
.proof-tooltip{
    position:fixed !important;
    overflow:visible !important;
}

.quick-exit-tooltip .tooltip-bubble,
.proof-tooltip .tooltip-bubble{
    position:absolute;
    width:max-content;
    max-width:270px;
    padding:10px 14px;
    border-radius:18px;
    background:#fff4f8;
    color:#8b173d;
    border:1px solid #f3c8d6;
    box-shadow:0 12px 28px rgba(139,23,61,.18);
    font-weight:900;
    font-size:.9rem;
    line-height:1.25;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index:100001;
    text-align:center;
    white-space:normal;
}

/* Coupure : bulle au-dessus */
.quick-exit-tooltip .tooltip-bubble{
    right:0;
    bottom:118%;
    transform:translateY(6px);
}

.quick-exit-tooltip .tooltip-bubble::after{
    content:"";
    position:absolute;
    right:22px;
    top:100%;
    border-width:8px;
    border-style:solid;
    border-color:#fff4f8 transparent transparent transparent;
}

/* Preuve urgence : bulle à gauche pour éviter qu'elle soit cachée */
.proof-tooltip .tooltip-bubble{
    right:110%;
    top:50%;
    bottom:auto;
    transform:translateY(-50%) translateX(8px);
    max-width:230px;
}

.proof-tooltip .tooltip-bubble::after{
    content:"";
    position:absolute;
    right:-15px;
    top:50%;
    transform:translateY(-50%);
    border-width:8px;
    border-style:solid;
    border-color:transparent transparent transparent #fff4f8;
}

.quick-exit-tooltip:hover .tooltip-bubble,
.quick-exit-tooltip:focus .tooltip-bubble,
.quick-exit-tooltip:focus-visible .tooltip-bubble{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.proof-tooltip:hover .tooltip-bubble,
.proof-tooltip:focus .tooltip-bubble,
.proof-tooltip:focus-visible .tooltip-bubble{
    opacity:1;
    visibility:visible;
    transform:translateY(-50%) translateX(0);
}

@media(max-width:800px){
    .hero{
        background:rgba(255,255,255,.22) !important;
    }

    .hero-slogan{
        font-size:1.45rem;
    }

    .hero-subtitle{
        font-size:1rem;
    }

    .hero-actions-line{
        gap:10px;
    }

    .hero-actions-line .btn,
    .hero-actions-line .secondary-btn,
    .hero-access-note{
        width:100%;
    }

    .floating-proof{
        right:10px !important;
        bottom:116px !important;
    }

    .proof-tooltip .tooltip-bubble{
        right:106%;
        max-width:190px;
        font-size:.8rem;
    }

    .quick-exit-tooltip .tooltip-bubble{
        right:-8px;
        max-width:210px;
        font-size:.82rem;
    }
}


/* ===== Catégories modernes ===== */
.alert-categories{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
    margin-top:16px;
}

.alert-family{
    background:rgba(255,255,255,.62);
    border-radius:22px;
    padding:18px 18px 14px;
    border:1px solid rgba(123,30,58,.10);
    box-shadow:0 8px 18px rgba(123,30,58,.06);
    transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
    overflow:hidden;
    position:relative;
}

.alert-family::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:7px;
    border-radius:22px 0 0 22px;
}

.alert-family:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.78);
    box-shadow:0 12px 26px rgba(123,30,58,.10);
}

.alert-family h3{
    margin:0 0 12px;
    font-size:18px;
    color:var(--bordeaux);
}

.alert-family ul{
    list-style:none;
    padding:0;
    margin:0;
}

.alert-family li{
    padding:7px 0 7px 18px;
    border-bottom:1px solid rgba(123,30,58,.07);
    color:var(--texte);
    font-weight:800;
    position:relative;
}

.alert-family li::before{
    content:"•";
    position:absolute;
    left:2px;
    color:var(--rose);
    font-weight:900;
}

.alert-family li:last-child{
    border-bottom:none;
}

.alert-family.violence::before{background:#d90000;}
.alert-family.harcelement::before{background:#ff8c00;}
.alert-family.emprise::before{background:#ffcc00;}
.alert-family.financier::before{background:#c89b3c;}
.alert-family.numerique::before{background:#2d7ff9;}
.alert-family.domicile::before{background:#2ed47a;}
.alert-family.enfants::before{background:#f5a623;}
.alert-family.alertes::before{background:#8b173d;}

.alert-family.violence{background:linear-gradient(135deg,rgba(255,245,245,.76),rgba(255,255,255,.58));}
.alert-family.harcelement{background:linear-gradient(135deg,rgba(255,247,236,.76),rgba(255,255,255,.58));}
.alert-family.emprise{background:linear-gradient(135deg,rgba(255,252,230,.78),rgba(255,255,255,.58));}
.alert-family.financier{background:linear-gradient(135deg,rgba(255,248,232,.78),rgba(255,255,255,.58));}
.alert-family.numerique{background:linear-gradient(135deg,rgba(235,244,255,.78),rgba(255,255,255,.58));}
.alert-family.domicile{background:linear-gradient(135deg,rgba(234,252,242,.78),rgba(255,255,255,.58));}
.alert-family.enfants{background:linear-gradient(135deg,rgba(255,248,232,.78),rgba(255,255,255,.58));}
.alert-family.alertes{background:linear-gradient(135deg,rgba(255,240,246,.80),rgba(255,255,255,.58));}

@media(max-width:800px){
    .alert-categories{
        grid-template-columns:1fr;
        gap:12px;
    }

    .alert-family{
        padding:15px 15px 12px;
        border-radius:18px;
    }

    .alert-family::before{
        border-radius:18px 0 0 18px;
    }
}


/* === ALERTES ACCUEIL VERSION CARTES === */

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

.alert-card{
background:rgba(255,255,255,.75);
border-radius:22px;
padding:18px;
border-left:8px solid var(--rose);
box-shadow:0 8px 20px rgba(123,30,58,.08);
}

.alert-card h3{
margin-bottom:12px;
}

.alert-card ul{
list-style:none;
padding:0;
margin:0;
}

.alert-card li{
padding:6px 0;
font-weight:700;
}

.violence{border-left-color:#d90000;}
.harcelement{border-left-color:#ff8c00;}
.emprise{border-left-color:#ffcc00;}
.financier{border-left-color:#c89b3c;}
.numerique{border-left-color:#2d7ff9;}
.domicile{border-left-color:#2ed47a;}
.enfants{border-left-color:#f5a623;}
.alertes{border-left-color:#8b173d;}

@media(max-width:900px){
.alert-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

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

/* === BOUTONS BONBONS ACIDULÉS GLOBAUX === */

:root{
    --bonbon-rose:rgba(255,79,122,.78);
    --bonbon-rose-light:rgba(255,192,214,.58);
    --bonbon-vert:rgba(46,212,122,.76);
    --bonbon-vert-light:rgba(190,255,220,.56);
    --bonbon-blanc:rgba(255,255,255,.58);
    --bonbon-bord:rgba(255,255,255,.72);
    --bonbon-texte:#7b1e3a;
    --bonbon-shadow:0 10px 24px rgba(123,30,58,.14), inset 0 1px 0 rgba(255,255,255,.85);
}

/* Boutons principaux */
.btn,
.submit-btn,
.secondary-btn,
.danger-btn,
button,
.tab-btn,
.profil-tab-btn,
.defense-tab-btn,
.document-template-btn,
.aide-choice,
.emergency-choice,
.guidance-choice,
.proof-choice,
.call-btn,
.phone-link,
.quick-exit,
.floating-proof,
.floating-emergency,
.mod-menu-title,
.profil-menu-title,
.aide-menu-title,
.defense-menu-title,
.close-mod-menu,
.close-profil-menu,
.close-aide-menu,
.close-defense-menu{
    border-radius:999px !important;
    border:1px solid var(--bonbon-bord) !important;
    color:var(--bonbon-texte) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.38) 24%, transparent 45%),
        linear-gradient(135deg, var(--bonbon-rose-light) 0%, var(--bonbon-blanc) 42%, var(--bonbon-vert-light) 100%) !important;
    box-shadow:var(--bonbon-shadow) !important;
    backdrop-filter:blur(12px) saturate(1.25) !important;
    -webkit-backdrop-filter:blur(12px) saturate(1.25) !important;
    text-shadow:0 1px 0 rgba(255,255,255,.65);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease !important;
}

/* Effet nacré au survol */
.btn:hover,
.submit-btn:hover,
.secondary-btn:hover,
.danger-btn:hover,
button:hover,
.tab-btn:hover,
.profil-tab-btn:hover,
.defense-tab-btn:hover,
.document-template-btn:hover,
.aide-choice:hover,
.emergency-choice:hover,
.guidance-choice:hover,
.proof-choice:hover,
.call-btn:hover,
.phone-link:hover,
.quick-exit:hover,
.floating-proof:hover,
.floating-emergency:hover,
.mod-menu-title:hover,
.profil-menu-title:hover,
.aide-menu-title:hover,
.defense-menu-title:hover{
    transform:translateY(-2px) scale(1.015) !important;
    filter:saturate(1.12) brightness(1.03);
    box-shadow:0 14px 30px rgba(123,30,58,.18), inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* Boutons actifs : bonbon plus rose */
.tab-btn.active,
.profil-tab-btn.active,
.defense-tab-btn.active,
.aide-choice.active,
.profil-stat-box.active,
.defense-stat-box.active,
.mod-menu-title[aria-expanded="true"],
.profil-menu-title[aria-expanded="true"],
.aide-menu-title[aria-expanded="true"],
.defense-menu-title[aria-expanded="true"]{
    color:white !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.22) 26%, transparent 46%),
        linear-gradient(135deg, rgba(255,79,122,.92) 0%, rgba(255,136,173,.82) 46%, rgba(46,212,122,.72) 100%) !important;
    text-shadow:0 1px 2px rgba(123,30,58,.28);
}

/* Boutons danger : rose acidulé mais moins agressif */
.danger-btn,
.danger-choice,
.trust-alert-main-btn,
.alerte-confiance-main-btn{
    color:white !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.9) 0%, rgba(255,255,255,.22) 25%, transparent 45%),
        linear-gradient(135deg, rgba(255,79,122,.95), rgba(255,126,166,.82), rgba(46,212,122,.58)) !important;
}

/* Boutons secondaires : plus translucides */
.secondary-btn,
.phone-link.secondary,
.inline-actions .secondary-btn{
    color:var(--bordeaux) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.30) 26%, transparent 48%),
        linear-gradient(135deg, rgba(255,240,246,.72), rgba(255,255,255,.50), rgba(234,252,242,.72)) !important;
}

/* Menus et onglets compacts */
.mod-menu-content .tab-btn,
.profil-menu-content .profil-tab-btn,
.aide-menu-content .aide-choice,
.aide-menu-content .proof-choice,
.aide-menu-content .danger-choice,
.defense-menu-content .defense-tab-btn{
    min-height:34px;
}

/* Boutons flottants : visibles et bonbons */
.quick-exit{
    color:white !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.75) 0%, rgba(255,255,255,.18) 25%, transparent 46%),
        linear-gradient(135deg, rgba(123,30,58,.90), rgba(255,79,122,.78), rgba(46,212,122,.58)) !important;
}

.floating-proof{
    display:inline-flex !important;
    color:white !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.20) 25%, transparent 45%),
        linear-gradient(135deg, rgba(255,79,122,.92), rgba(255,159,190,.78), rgba(46,212,122,.70)) !important;
}

/* Boutons désactivés */
button:disabled,
.submit-btn:disabled,
.btn:disabled{
    opacity:.52 !important;
    filter:grayscale(.15);
    cursor:not-allowed !important;
    transform:none !important;
}

/* Liens de navigation en petits bonbons transparents */
nav a{
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.58) !important;
    background:
        linear-gradient(135deg, rgba(255,240,246,.62), rgba(255,255,255,.38), rgba(234,252,242,.58)) !important;
    box-shadow:0 6px 16px rgba(123,30,58,.07), inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

nav a:hover{
    background:
        linear-gradient(135deg, rgba(255,192,214,.70), rgba(255,255,255,.48), rgba(190,255,220,.68)) !important;
}

/* Mobile : bonbons plus confortables */
@media(max-width:800px){
    .btn,
    .submit-btn,
    .secondary-btn,
    .danger-btn,
    button{
        min-height:44px;
    }
}


/* SIGNALMENT CARTES ALERTES */
.signalement-alert-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:16px;
margin:18px 0;
}
.alert-card{
background:rgba(255,255,255,.72);
border-radius:22px;
padding:18px;
box-shadow:0 8px 20px rgba(123,30,58,.08);
}
.alert-card h3{margin-bottom:12px;}
.alert-card label{
display:block;
padding:7px 0;
font-weight:700;
color:var(--bordeaux);
}
.alert-card input{width:auto;margin-right:8px;}
.violence{border-left:8px solid #d90000;}
.harcelement{border-left:8px solid #ff8c00;}
.emprise{border-left:8px solid #ffcc00;}
.financier{border-left:8px solid #c89b3c;}
.numerique{border-left:8px solid #2d7ff9;}
.domicile{border-left:8px solid #2ed47a;}
.enfants{border-left:8px solid #f5a623;}
.alertes{border-left:8px solid #8b173d;}
@media(max-width:900px){.signalement-alert-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.signalement-alert-grid{grid-template-columns:1fr;}}
/* Complément compact BalanceTonCharot — à fusionner avec ton style.css existant si besoin */
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:#fff7fb;color:#3b1725}header{padding:14px 18px;background:#7b1238;color:white}.logo{font-weight:800}nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}nav a{color:white;text-decoration:none;background:rgba(255,255,255,.14);padding:8px 10px;border-radius:999px}main{max-width:1100px;margin:auto;padding:18px}.documents-topbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.card-section,.documents-header{background:rgba(255,255,255,.88);border:1px solid rgba(123,18,56,.12);border-radius:22px;padding:16px;margin:14px 0;box-shadow:0 8px 24px rgba(123,18,56,.08)}.documents-alert-grid,.defense-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.documents-kit-folder,.alert-card{border:1px solid rgba(123,18,56,.12);border-radius:18px;padding:10px;background:#fff}.documents-kit-folder summary,.defense-folder summary{cursor:pointer;font-weight:800}.documents-kit-grid,.defense-doc-actions,.documents-header-actions,.btc-vault-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn,.document-template-btn,.defense-stat-box{border:0;border-radius:999px;background:#b7185c;color:white;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:700}.secondary-btn{background:#f2dbe6;color:#6d1235}.defense-stat-box.active{outline:3px solid #e8b8cd}.defense-main-panel{display:none}.defense-main-panel.active{display:block}.notice{color:#6b4a58}.document-textarea,textarea,input,select{width:100%;box-sizing:border-box;border:1px solid #e2bfd0;border-radius:14px;padding:10px;background:#fff}textarea,.document-textarea{min-height:300px}.btc-vault-item,.btc-file-line{background:#fff;border:1px solid #eed4df;border-radius:16px;padding:12px;margin:8px 0}.btc-file-line{display:flex;justify-content:space-between;gap:8px}.btc-file-remove{border:0;border-radius:999px;padding:6px 9px}.compact-search input{width:100%}footer{text-align:center;padding:22px;color:#7b1238}@media(max-width:700px){.documents-topbar{display:block}.btn,.document-template-btn,.defense-stat-box{width:100%;text-align:center}}

/* === LOT 1 — COFFRE-FORT UNIQUE + HEADER PLUS LÉGER === */
header{
    background:rgba(255,255,255,.70) !important;
    border-bottom:1px solid rgba(255,79,122,.14) !important;
    border-radius:0 0 18px 18px !important;
    box-shadow:0 6px 18px rgba(123,30,58,.06) !important;
}

nav a{
    background:rgba(255,255,255,.64) !important;
    border:1px solid rgba(123,30,58,.08) !important;
}

footer{
    background:rgba(123,30,58,.86) !important;
    border-radius:18px 18px 0 0 !important;
}

.coffre-unique-page{
    max-width:1280px;
    padding-top:12px;
}

.coffre-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    margin-bottom:10px;
}

.coffre-hero h1{
    margin:0 0 6px;
    font-size:28px;
    color:var(--bordeaux);
}

.coffre-hero .notice{
    margin:0;
    font-weight:800;
}

.coffre-hero-actions,
.coffre-inline-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.coffre-summary-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
    gap:8px;
    margin-bottom:10px;
}

.coffre-summary-card{
    min-height:62px;
    padding:9px 10px;
    border-radius:16px;
    background:rgba(255,255,255,.58);
    color:var(--bordeaux);
    border:1px solid rgba(123,30,58,.10);
    box-shadow:var(--shadow-soft);
}

.coffre-summary-card strong{
    display:block;
    font-size:24px;
    line-height:1;
}

.coffre-summary-card span{
    display:block;
    margin-top:4px;
    font-size:12px;
    font-weight:900;
}

.coffre-summary-card.active{
    background:var(--rose);
    color:#fff;
}

.coffre-controls,
.coffre-add-section,
.coffre-list-section{
    padding:14px;
    margin-bottom:10px;
}

.coffre-search-row{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(150px,220px);
    gap:8px;
    margin-bottom:10px;
}

.coffre-search-row input,
.coffre-search-row select{
    min-height:38px;
    font-size:13px;
}

.coffre-filter-row{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.vault-filter{
    width:auto;
    min-height:32px;
    padding:6px 11px;
    font-size:12px;
    background:var(--rose-soft);
    color:var(--bordeaux);
    box-shadow:none;
    border:1px solid rgba(123,30,58,.10);
}

.vault-filter.active{
    background:var(--rose);
    color:#fff;
}

.coffre-add-section details{
    background:rgba(255,255,255,.42);
    border:1px solid rgba(123,30,58,.10);
    border-radius:16px;
    overflow:hidden;
}

.coffre-add-section summary{
    cursor:pointer;
    padding:12px 14px;
    color:var(--bordeaux);
    font-weight:900;
}

.coffre-add-box{
    padding:12px 14px 14px;
    border-top:1px solid rgba(123,30,58,.10);
}

.coffre-add-box label,
.coffre-link-folder{
    display:block;
    color:var(--bordeaux);
    font-weight:900;
    font-size:12px;
    margin:8px 0 5px;
}

.coffre-add-box textarea{
    min-height:76px;
}

.coffre-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}

.coffre-section-title h2{
    margin:0;
    font-size:20px;
}

.coffre-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:10px;
}

.coffre-card{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(123,30,58,.12);
    border-radius:16px;
    padding:13px;
    color:var(--texte);
    box-shadow:0 8px 18px rgba(123,30,58,.05);
}

.coffre-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:8px;
}

.coffre-icon{
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:var(--rose-soft);
    font-size:22px;
}

.coffre-card h3{
    margin:0 0 5px;
    font-size:17px;
    color:var(--bordeaux);
    word-break:break-word;
}

.coffre-muted{
    color:var(--gris);
    font-weight:800;
    margin:0 0 9px;
    font-size:13px;
    word-break:break-word;
}

.coffre-meta{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:9px 0;
    font-size:12px;
    font-weight:800;
    color:var(--texte);
}

.coffre-meta span{
    background:rgba(255,255,255,.56);
    border:1px solid rgba(123,30,58,.08);
    border-radius:11px;
    padding:7px 9px;
    word-break:break-word;
}

.coffre-mini-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:5px 9px;
    border-radius:var(--pill);
    font-size:11px;
    font-weight:900;
    background:var(--rose-soft);
    color:var(--bordeaux);
}

.origin-emergency{
    background:#fff1f1;
    color:var(--danger);
}

.origin-manual{
    background:#eef7ff;
    color:#245985;
}

.origin-folder{
    background:#fff8e8;
    color:var(--warning);
}

.coffre-preview{
    width:100%;
    height:150px;
    object-fit:cover;
    border-radius:14px;
    border:1px solid rgba(123,30,58,.10);
    background:rgba(255,240,246,.65);
    margin-bottom:9px;
}

.coffre-preview-empty,
.coffre-preview-file{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--bordeaux);
    font-weight:900;
}

.coffre-audio{
    width:100%;
    margin:6px 0 10px;
}

.coffre-link-folder select{
    margin-top:5px;
    min-height:36px;
    font-size:13px;
}

.coffre-card .btn{
    min-height:34px;
    padding:7px 11px;
    font-size:12px;
}

.coffre-empty{
    grid-column:1 / -1;
    margin:0;
}

@media(max-width:800px){
    .coffre-hero{
        flex-direction:column;
    }

    .coffre-hero-actions,
    .coffre-inline-actions{
        width:100%;
        flex-direction:column;
    }

    .coffre-search-row{
        grid-template-columns:1fr;
    }

    .coffre-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .coffre-grid{
        grid-template-columns:1fr;
    }

    .vault-filter{
        flex:1 1 calc(50% - 6px);
    }
}



/* =========================================================
   BTC — LOT DESIGN ÉQUILIBRÉ
   Navigation bordeaux type "Coupure"
   Actions rose/vert nacré
   Index : cartes catégories restaurées avec traits colorés
   ========================================================= */

/* ---------- 1) MENU PRINCIPAL : style bordeaux nacré ---------- */
nav a{
    color:#fff !important;
    background:
        radial-gradient(circle at 24% 16%, rgba(255,255,255,.26) 0%, rgba(255,255,255,.10) 22%, transparent 44%),
        linear-gradient(135deg, #9a3158 0%, #7b1e3a 58%, #64172f 100%) !important;
    border:1px solid rgba(255,255,255,.55) !important;
    box-shadow:
        0 10px 24px rgba(123,30,58,.18),
        inset 0 1px 0 rgba(255,255,255,.35) !important;
    text-shadow:0 1px 1px rgba(0,0,0,.18) !important;
}

nav a:hover,
nav .charot-actions > summary:hover{
    color:#fff !important;
    background:
        radial-gradient(circle at 24% 16%, rgba(255,255,255,.34) 0%, rgba(255,255,255,.12) 24%, transparent 45%),
        linear-gradient(135deg, #aa3a65 0%, #8a2448 58%, #6f1934 100%) !important;
    border-color:rgba(255,255,255,.72) !important;
    transform:translateY(-1px);
    text-decoration:none !important;
}

/* ---------- 2) BOUTONS D’ACTION : rose fondu vert nacré ---------- */
.btn,
.submit-btn,
.secondary-btn,
.document-template-btn,
.profil-tab-btn,
.defense-tab-btn,
.tab-btn,
.mod-menu-title,
.profil-menu-title,
.defense-menu-title,
.aide-menu-title,
.aide-choice,
.emergency-choice,
.guidance-choice,
.proof-choice,
.call-btn,
.phone-link,
.inline-actions .btn,
button:not(.danger-btn):not(.quick-exit):not(.floating-proof):not(.floating-emergency){
    color:var(--bordeaux) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.78) 0%, rgba(255,255,255,.34) 18%, transparent 38%),
        linear-gradient(120deg, #ff6b98 0%, #ffd1e2 43%, #a8e8ba 100%) !important;
    border:1px solid rgba(255,255,255,.78) !important;
    box-shadow:
        0 12px 28px rgba(123,30,58,.14),
        inset 0 1px 0 rgba(255,255,255,.88) !important;
    text-shadow:none !important;
}

.btn:hover,
.submit-btn:hover,
.secondary-btn:hover,
.document-template-btn:hover,
.profil-tab-btn:hover,
.defense-tab-btn:hover,
.tab-btn:hover,
.mod-menu-title:hover,
.profil-menu-title:hover,
.defense-menu-title:hover,
.aide-menu-title:hover,
.aide-choice:hover,
.emergency-choice:hover,
.guidance-choice:hover,
.proof-choice:hover,
.call-btn:hover,
.phone-link:hover,
.inline-actions .btn:hover,
button:not(.danger-btn):not(.quick-exit):not(.floating-proof):not(.floating-emergency):hover{
    color:var(--bordeaux) !important;
    background:
        radial-gradient(circle at 25% 16%, rgba(255,255,255,.90) 0%, rgba(255,255,255,.38) 20%, transparent 40%),
        linear-gradient(120deg, #ff4f84 0%, #ffc6db 42%, #83d99d 100%) !important;
    border-color:rgba(255,255,255,.92) !important;
    box-shadow:
        0 15px 34px rgba(123,30,58,.20),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
    transform:translateY(-2px);
    text-decoration:none !important;
}

/* ---------- 3) ACTIFS : un peu plus soutenus ---------- */
.tab-btn.active,
.profil-tab-btn.active,
.defense-tab-btn.active,
.aide-choice.active,
.profil-stat-box.active,
.defense-stat-box.active,
.mod-menu-title[aria-expanded="true"],
.profil-menu-title[aria-expanded="true"],
.defense-menu-title[aria-expanded="true"],
.aide-menu-title[aria-expanded="true"]{
    color:var(--bordeaux) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.28) 20%, transparent 38%),
        linear-gradient(120deg, #ff4f84 0%, #ffbfd6 40%, #82d99d 100%) !important;
    border:1px solid rgba(255,255,255,.90) !important;
}

/* ---------- 4) URGENCE / DANGER : style bordeaux fort ---------- */
.danger-btn,
.quick-exit,
.floating-emergency,
.floating-proof,
.close-mod-menu,
.close-profil-menu,
.close-defense-menu,
.close-aide-menu{
    color:#fff !important;
    background:
        radial-gradient(circle at 24% 16%, rgba(255,255,255,.30) 0%, rgba(255,255,255,.08) 22%, transparent 42%),
        linear-gradient(135deg, #9a3158 0%, #7b1e3a 58%, #64172f 100%) !important;
    border:1px solid rgba(255,255,255,.45) !important;
    box-shadow:
        0 12px 28px rgba(123,30,58,.22),
        inset 0 1px 0 rgba(255,255,255,.30) !important;
    text-shadow:0 1px 1px rgba(0,0,0,.18) !important;
}

/* ---------- 5) Preuve urgence / gros boutons urgence : signature intense ---------- */
.proof-start-btn,
.trusted-main-call,
.trust-alert-main-btn,
.alerte-confiance-main-btn,
.proof-mode-btn.active{
    color:#fff !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.70) 0%, rgba(255,255,255,.28) 18%, transparent 38%),
        linear-gradient(120deg, #ff4f84 0%, #ffbfd6 42%, #83d99d 100%) !important;
    border:1px solid rgba(255,255,255,.72) !important;
    box-shadow:0 14px 34px rgba(123,30,58,.22), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

/* ---------- 6) INDEX / Documents : retour des cartes comme première capture ---------- */
.documents-alert-grid,
.index-alert-grid,
.alert-grid,
.category-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
}

.documents-kit-folder.alert-card,
.alert-card,
.category-card{
    background:rgba(255,255,255,.82) !important;
    border:1px solid rgba(123,30,58,.10) !important;
    border-radius:24px !important;
    padding:22px 24px !important;
    box-shadow:0 12px 30px rgba(123,30,58,.08) !important;
    overflow:hidden;
    position:relative;
}

.documents-kit-folder.alert-card::before,
.alert-card::before,
.category-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:12px;
    border-radius:24px 0 0 24px;
    background:var(--rose);
}

.documents-kit-folder.alert-card summary,
.alert-card h2,
.category-card h2{
    color:var(--bordeaux) !important;
    font-weight:900 !important;
    font-size:20px !important;
    margin-bottom:16px !important;
    cursor:pointer;
    list-style:none;
}

.documents-kit-folder.alert-card summary::-webkit-details-marker{
    display:none;
}

.documents-kit-folder.alert-card .documents-kit-grid,
.alert-card ul,
.category-card ul{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.documents-kit-folder.alert-card .document-template-btn,
.alert-card li,
.category-card li{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:var(--texte) !important;
    justify-content:flex-start !important;
    padding:0 !important;
    min-height:auto !important;
    font-weight:900 !important;
    text-align:left !important;
}

/* Couleurs des traits de catégories */
.alert-card.violence::before,
.documents-kit-folder.violence::before{ background:#e60012 !important; }

.alert-card.harcelement::before,
.documents-kit-folder.harcelement::before{ background:#ff7a00 !important; }

.alert-card.emprise::before,
.documents-kit-folder.emprise::before{ background:#ffcc00 !important; }

.alert-card.financier::before,
.documents-kit-folder.financier::before{ background:#c89b2c !important; }

.alert-card.numerique::before,
.documents-kit-folder.numerique::before{ background:#2f80ed !important; }

.alert-card.domicile::before,
.documents-kit-folder.domicile::before{ background:#2ecc71 !important; }

.alert-card.enfants::before,
.documents-kit-folder.enfants::before{ background:#ff9f1c !important; }

.alert-card.alertes::before,
.documents-kit-folder.alertes::before{ background:#8a1240 !important; }

/* Pastille couleur devant le titre si présente */
.alert-card h2::first-letter,
.category-card h2::first-letter{
    text-shadow:0 2px 8px rgba(123,30,58,.12);
}

/* ---------- 7) Mobile ---------- */
@media(max-width:800px){
    nav a{
        min-height:38px;
        padding:8px 13px !important;
    }

    .documents-alert-grid,
    .index-alert-grid,
    .alert-grid,
    .category-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .documents-kit-folder.alert-card,
    .alert-card,
    .category-card{
        padding:18px 18px 18px 22px !important;
        border-radius:20px !important;
    }
}


/* Petit lot mobile : coffre, actions profil et connexion */
.vault-session.is-collapsed > :not(.vault-session-head):not(.vault-meta){
    display:none;
}

.vault-session.is-collapsed{
    padding:9px 12px;
}

.vault-session.is-collapsed .vault-session-head{
    margin-bottom:4px;
}

.vault-session-toggle{
    min-height:34px !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    font-size:12px !important;
}

.password-field{
    position:relative;
    width:100%;
}

.password-field input{
    width:100%;
    padding-right:54px;
    box-sizing:border-box;
}

.password-toggle{
    position:absolute;
    right:6px;
    top:50%;
    z-index:2;
    width:42px;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    transform:translateY(-50%);
    border:0 !important;
    background:transparent !important;
    cursor:pointer;
    font-size:20px;
    touch-action:manipulation;
}

@media(max-width:800px){
    .profil-header-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }

    .profil-header-actions .danger-btn{
        grid-column:1 / -1;
    }

    .profil-header-actions .btn,
    .profil-header-actions .danger-btn{
        width:auto;
        min-width:0;
        min-height:40px;
        padding:8px 6px;
        font-size:12px;
        text-align:center;
    }

    .profil-header-actions a[href*="messagerie"]{
        grid-column:auto;
    }

    .profil-header-actions .profil-message-action{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:5px;
        white-space:nowrap;
    }
}

/* Tableau de bord owner intégré au profil */
.owner-dashboard { margin: 1rem 0 1.25rem; }
.owner-dashboard-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.owner-dashboard-heading h2 { margin:0; }
.owner-dashboard-heading p { margin:.25rem 0 0; }
.owner-dashboard-frame { width:100%; min-height:1550px; border:0; border-radius:18px; background:transparent; display:block; }
body.owner-mode .profil-header-actions,
body.owner-mode .profil-stats-compact,
body.owner-mode .profil-tabs-grouped,
body.owner-mode .profil-tab-content { display:none !important; }
body.owner-mode.owner-account-open .profil-tab-content[data-profile-tab-content="compte"],
body.owner-mode.owner-account-open .profil-tab-content[data-profile-tab-content="securite"] { display:block !important; }
body.owner-mode .profil-header { margin-bottom:.75rem; }
body.owner-mode #profilDate { display:none; }
.owner-embedded-moderation { padding-top:.25rem; }
.owner-embedded-moderation .moderation-header { margin-top:0; }
@media (max-width: 800px) {
  .owner-dashboard-heading { align-items:flex-start; flex-direction:column; }
  .owner-dashboard-frame { min-height:1900px; }
}


/* Lot Owner 2 — navigation centrale simplifiée */
.owner-command-groups{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:16px 0 22px;
}
.owner-command-card{
    background:rgba(255,255,255,.84);
    border:1px solid rgba(123,30,58,.12);
    border-radius:20px;
    padding:16px;
    box-shadow:0 10px 26px rgba(123,30,58,.07);
}
.owner-command-card h2{
    margin:0 0 12px;
    color:var(--bordeaux);
    font-size:1.05rem;
}
.owner-command-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.owner-command-actions .tab-btn{
    width:100%;
    min-height:44px;
    margin:0;
}
.owner-priority-card{border-left:7px solid #c53c6b;}
.owner-security-card{border-left:7px solid #7fbf94;}
@media(max-width:800px){
    .owner-command-groups{grid-template-columns:1fr;}
    .owner-command-actions{grid-template-columns:1fr;}
}


/* Lot Owner 3 — voyants et badges de nouveautés */
.moderation-stats-compact .stat-box{
    position:relative;
    overflow:visible;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.moderation-stats-compact .stat-box.has-new-items{
    border-color:rgba(55,154,92,.55) !important;
    background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(218,246,226,.92)) !important;
    box-shadow:0 0 0 3px rgba(71,181,108,.10), 0 14px 34px rgba(49,145,82,.20) !important;
}
.moderation-stats-compact .stat-box.has-new-items::after{
    content:"";
    position:absolute;
    top:12px;
    right:12px;
    width:11px;
    height:11px;
    border-radius:999px;
    background:#43b66b;
    box-shadow:0 0 0 5px rgba(67,182,107,.14);
}
.owner-new-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:calc(100% - 20px);
    margin:9px auto 0;
    padding:4px 9px;
    border-radius:999px;
    background:#43b66b;
    color:#fff;
    font-size:.72rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.01em;
    box-shadow:0 6px 14px rgba(49,145,82,.22);
}
.owner-new-badge[hidden]{display:none !important;}
.moderation-stats-compact .stat-box[data-tab="sessions-urgence"].has-new-items{
    border-color:rgba(150,35,67,.55) !important;
    background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,224,232,.94)) !important;
    box-shadow:0 0 0 3px rgba(150,35,67,.10), 0 14px 34px rgba(123,30,58,.20) !important;
}
@media(max-width:800px){
    .owner-new-badge{font-size:.68rem;padding:4px 8px;}
}


/* LOT OWNER 4 — MEMBRES ET DOSSIERS */
.member-filter-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(150px, .7fr) minmax(150px, .7fr) auto;
    gap: 12px;
    align-items: end;
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid rgba(123, 38, 67, .16);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
}
.member-filter-toolbar label { display: grid; gap: 6px; }
.member-filter-toolbar label span { font-size: .82rem; font-weight: 700; color: #703348; }
.member-filter-toolbar input { width: 100%; box-sizing: border-box; }
.dossier-view-page { max-width: 1050px; margin: 0 auto; padding: 28px 18px; }
.dossier-view-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.dossier-view-grid > div { display: grid; gap: 5px; padding: 14px; border-radius: 14px; background: rgba(255,255,255,.75); border: 1px solid rgba(123,38,67,.13); }
.dossier-view-grid strong { color: #7d2748; }
.dossier-admin-details { margin-top: 18px; }
.dossier-admin-details pre { overflow: auto; max-height: 520px; padding: 14px; border-radius: 12px; background: #fff; white-space: pre-wrap; }
.access-warning.success { border-color: rgba(48, 130, 78, .35); background: rgba(80, 175, 110, .12); }
.access-warning.error { border-color: rgba(170, 40, 55, .35); background: rgba(190, 45, 60, .10); }
@media (max-width: 780px) {
    .member-filter-toolbar { grid-template-columns: 1fr; }
    .dossier-view-grid { grid-template-columns: 1fr; }
}

.sos-protection-notification {
    margin: 0 0 12px;
    padding: 12px 14px;
    border: 1px solid rgba(123, 38, 67, .2);
    border-radius: 12px;
    background: rgba(123, 38, 67, .08);
}
.sos-protection-notification p { margin: 6px 0 0; }

/* Protection SOS seule — présentation uniquement, aucun encaissement. */
.protection-only-home-card,
.protection-only-panel,
.protection-only-hero {
    margin: 18px auto;
    padding: 22px;
    border: 1px solid rgba(123, 38, 67, .18);
    border-radius: 20px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 30px rgba(123, 38, 67, .1);
}
.protection-only-home-card { max-width: 760px; text-align: left; }
.protection-only-home-card h2,
.protection-only-page h1,
.protection-only-page h2 { color: #7b1738; }
.protection-only-page { max-width: 900px; margin: 0 auto; padding: 32px 18px 60px; }
.protection-only-hero h1 { margin-top: 6px; }
.protection-only-kicker { color: #7b1738; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.protection-only-panel { max-width: none; }
.protection-only-price { display: grid; gap: 12px; }
.protection-only-price select { width: 100%; max-width: 460px; padding: 12px; border: 1px solid rgba(123, 38, 67, .35); border-radius: 10px; background: #fff; }
.protection-only-price .btn[disabled] { opacity: .58; cursor: not-allowed; }
.protection-only-pending,
.protection-only-disclaimer { font-size: .9rem; color: #666; }
.protection-only-disclaimer { margin: 20px auto; max-width: 800px; }
.member-feature-locked { opacity: .46; filter: grayscale(.75); cursor: not-allowed; }
.member-feature-locked::after { content: " 🔒"; }
.protection-only-upgrade-notice { margin: 14px 0; padding: 16px; border: 1px solid rgba(123, 38, 67, .22); border-radius: 14px; background: rgba(255,255,255,.86); }
.protection-only-upgrade-notice p { margin: 7px 0 12px; }
.member-only-dialog { max-width: 520px; border: 0; border-radius: 18px; padding: 22px; color: #351b25; box-shadow: 0 18px 60px rgba(54, 13, 29, .28); }
.member-only-dialog::backdrop { background: rgba(39, 10, 22, .58); }
.member-only-dialog h2 { margin-top: 0; color: #7b1e43; }
