/* =========================================================
   RESILIENT VALIDATOR — HUB V1
   Porte d'entrée du Hub communautaire
   Le Hero reste géré exclusivement par hero.css
   ========================================================= */

.rv-hub-page{
    --hub-bg:#020914;
    --hub-blue:#20b8ff;
    --hub-gold:#f2a619;
    min-height:100vh;
    padding-bottom:44px;
    background:
        radial-gradient(circle at 50% 16%,rgba(20,104,163,.10),transparent 32%),
        var(--hub-bg);
    color:#fff;
}

/* Aucun changement de dimensions du Hero : hero.css reste la référence. */
.rv-hub-page .rv-common-hero{
    margin-bottom:0;
}

.rv-hub-access-zone{
    width:min(760px,calc(100% - 32px));
    margin:12px auto 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.rv-hub-connect{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-width:290px;
    padding:15px 24px;
    border:1px solid var(--hub-blue);
    border-radius:9px;
    background:linear-gradient(180deg,rgba(8,52,84,.72),rgba(2,16,30,.92));
    box-shadow:0 0 22px rgba(32,184,255,.14),inset 0 0 16px rgba(32,184,255,.05);
    color:#f5fbff;
    font:700 14px/1.1 inherit;
    letter-spacing:.025em;
    text-transform:uppercase;
    cursor:pointer;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}

.rv-hub-connect svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:var(--hub-blue);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.rv-hub-connect:hover{
    transform:translateY(-2px);
    background:linear-gradient(180deg,rgba(9,73,116,.86),rgba(3,25,46,.96));
    box-shadow:0 0 28px rgba(32,184,255,.26),inset 0 0 18px rgba(32,184,255,.07);
}

.rv-hub-connect:focus-visible,
.rv-hub-language-link:focus-visible{
    outline:2px solid #fff;
    outline-offset:3px;
}

.rv-hub-access-required{
    margin:10px 0 0;
    color:#8ea4b8;
    font-size:12px;
}

.rv-hub-language{
    display:flex;
    gap:5px;
    margin-top:12px;
    padding:5px;
    border:1px solid rgba(61,142,211,.38);
    border-radius:10px;
    background:rgba(3,12,24,.82);
    box-shadow:0 0 18px rgba(32,184,255,.06);
}

.rv-hub-language-link{
    min-width:42px;
    padding:8px 10px;
    border-radius:7px;
    color:#a9b7c4;
    text-align:center;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    transition:.2s ease;
}

.rv-hub-language-link:hover,
.rv-hub-language-link.is-active{
    color:#fff;
    background:rgba(32,184,255,.13);
    box-shadow:inset 0 0 0 1px rgba(32,184,255,.48),0 0 14px rgba(32,184,255,.12);
}

.rv-hub-access-card{
    width:min(1040px,calc(100% - 32px));
    margin:16px auto 0;
    padding:20px 28px 18px;
    border:1px solid rgba(32,184,255,.48);
    border-radius:10px;
    background:linear-gradient(180deg,rgba(5,28,49,.94),rgba(3,18,33,.95));
    box-shadow:inset 0 0 30px rgba(32,184,255,.035),0 14px 34px rgba(0,0,0,.18);
}

.rv-hub-access-price{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:12px;
    min-height:26px;
}

.rv-hub-access-price strong{
    color:#fff;
    font-size:16px;
}

.rv-hub-access-price span{
    color:#8ea4b8;
    font-size:13px;
}

.rv-hub-access-divider{
    height:1px;
    margin:12px 0 13px;
    background:rgba(111,154,190,.23);
}

.rv-hub-access-split{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    align-items:stretch;
}

.rv-hub-split{
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    padding:5px 24px;
}

.rv-hub-split + .rv-hub-split{
    border-left:1px solid rgba(111,154,190,.30);
}

.rv-hub-split-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
}

.rv-hub-split-icon svg{
    width:46px;
    height:46px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.rv-hub-split-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
}

.rv-hub-split-copy strong{
    font-size:27px;
    line-height:1;
}

.rv-hub-split-copy small{
    color:#d9e3ec;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

.rv-hub-split--burn{color:var(--hub-gold)}
.rv-hub-split--hub{color:#d7e0e8}
.rv-hub-split--pool{color:var(--hub-blue)}

.rv-hub-access-note{
    margin:14px 0 0;
    color:#7890a5;
    text-align:center;
    font-size:12px;
}

@media(max-width:760px){
    .rv-hub-access-zone{
        margin-top:16px;
    }

    .rv-hub-connect{
        width:min(100%,320px);
        min-width:0;
    }

    .rv-hub-access-card{
        padding:18px;
    }

    .rv-hub-access-price{
        flex-direction:column;
        align-items:center;
        gap:4px;
    }

    .rv-hub-access-split{
        grid-template-columns:1fr;
    }

    .rv-hub-split{
        justify-content:flex-start;
        width:min(280px,100%);
        margin:0 auto;
        padding:14px 18px;
    }

    .rv-hub-split + .rv-hub-split{
        border-left:0;
        border-top:1px solid rgba(111,154,190,.30);
    }
}


/* =========================================================
   HUB V1 — Etat de connexion Wallet Terra Classic
   ========================================================= */
.rv-hub-wallet-state{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:24px;
    margin-top:5px;
    color:#a8bdd5;
    font-size:12px;
}

.rv-hub-wallet-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#34d399;
    box-shadow:0 0 12px rgba(52,211,153,.8);
}

.rv-hub-wallet-disconnect{
    border:0;
    padding:0;
    margin-left:5px;
    background:transparent;
    color:#58bfff;
    font:inherit;
    cursor:pointer;
    text-decoration:underline;
    text-underline-offset:3px;
}

.rv-hub-wallet-disconnect:hover{
    color:#9bdcff;
}

.rv-hub-connect.is-connecting{
    opacity:.72;
    cursor:wait;
}

.rv-hub-connect.is-connected{
    border-color:rgba(52,211,153,.72);
    box-shadow:0 0 18px rgba(52,211,153,.12);
}

.rv-hub-connect.is-error{
    border-color:rgba(255,114,114,.72);
}


.rv-hub-access-status{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin:8px auto 0;
    min-height:22px;
    color:#9db7d2;
    font-size:12px;
}

.rv-hub-access-status strong{
    color:#dcecff;
}

.rv-hub-access-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#34d399;
    box-shadow:0 0 12px rgba(52,211,153,.8);
}


/* HUB V1 — correctif affichage du droit d'accès */
#rv-hub-access-status[hidden]{
    display:none !important;
}

#rv-hub-access-status:not([hidden]){
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


.rv-hub-access-status{
    margin-top:8px !important;
    margin-bottom:4px !important;
}


/* =========================================================
   HUB V1 — Accueil interne
   ========================================================= */
.rv-hub-dashboard{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:calc(100vh - 96px);
    background:#06111f;
    color:#eef6ff;
}

.rv-hub-sidebar{
    border-right:1px solid rgba(104,151,196,.15);
    background:linear-gradient(180deg,#0a1727 0%,#071321 100%);
    padding:18px 12px 28px;
}

.rv-hub-side-nav,
.rv-hub-side-section{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.rv-hub-side-section{
    margin-top:18px;
    padding-top:15px;
    border-top:1px solid rgba(137,174,211,.16);
}

.rv-hub-side-section small{
    padding:0 10px 8px;
    color:#6f88a3;
    font-size:10px;
    letter-spacing:.08em;
}

.rv-hub-sidebar a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:36px;
    padding:0 10px;
    border-radius:7px;
    color:#9db2c9;
    text-decoration:none;
    font-size:13px;
}

.rv-hub-sidebar a:hover,
.rv-hub-sidebar a.is-active{
    color:#55c8ff;
    background:rgba(26,139,217,.16);
}

.rv-hub-dashboard-main{
    min-width:0;
}

.rv-hub-dashboard-topbar{
    min-height:72px;
    display:grid;
    grid-template-columns:220px minmax(260px,1fr) auto auto;
    gap:16px;
    align-items:center;
    padding:12px 18px;
    border-bottom:1px solid rgba(104,151,196,.15);
    background:#07111e;
}

.rv-hub-dashboard-title{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.rv-hub-dashboard-title strong{
    color:#1db7ff;
    font-size:16px;
}

.rv-hub-dashboard-title span{
    font-size:12px;
    color:#c8d4e0;
}

.rv-hub-dashboard-search{
    height:40px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
    border:1px solid rgba(99,151,198,.25);
    border-radius:7px;
    background:#050d18;
    color:#7e93aa;
}

.rv-hub-dashboard-search input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#e8f3ff;
}

.rv-hub-dashboard-new{
    height:40px;
    padding:0 18px;
    border:0;
    border-radius:7px;
    background:#079fe9;
    color:white;
    font-weight:700;
    cursor:pointer;
}

.rv-hub-dashboard-user{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:190px;
}

.rv-hub-dashboard-user > span:last-child{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.rv-hub-dashboard-user strong{
    font-size:12px;
}

.rv-hub-dashboard-user small{
    color:#7c94ad;
    font-size:9px;
    white-space:nowrap;
}

.rv-hub-user-avatar{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(145deg,#193d60,#0aa0e7);
    font-size:10px;
    font-weight:800;
}

.rv-hub-dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:16px;
    padding:14px;
}

.rv-hub-dashboard-center,
.rv-hub-dashboard-right{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.rv-hub-panel{
    border:1px solid rgba(111,158,202,.18);
    border-radius:8px;
    background:linear-gradient(135deg,rgba(16,35,56,.95),rgba(8,22,37,.96));
    overflow:hidden;
}

.rv-hub-panel-heading{
    min-height:46px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid rgba(126,164,199,.12);
}

.rv-hub-panel-heading h2{
    margin:0;
    font-size:14px;
}

.rv-hub-panel-heading a{
    color:#b9cde1;
    text-decoration:none;
    font-size:11px;
}

.rv-hub-welcome{
    display:grid;
    grid-template-columns:70px 1fr;
    gap:12px;
    padding:20px 24px 0;
}

.rv-hub-welcome-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border:2px solid #0aaeff;
    border-radius:16px;
    color:#0aaeff;
    font-size:28px;
}

.rv-hub-welcome h1{
    margin:2px 0 8px;
    color:#19aef5;
    font-size:22px;
}

.rv-hub-welcome p{
    margin:0;
    color:#e7eef6;
    line-height:1.6;
    font-size:13px;
}

.rv-hub-welcome-values{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:14px;
    border-top:1px solid rgba(126,164,199,.12);
}

.rv-hub-welcome-values span{
    min-height:42px;
    display:grid;
    place-items:center;
    color:#d6e3f0;
    font-size:11px;
}

.rv-hub-empty-state{
    min-height:185px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:8px;
    color:#7892ac;
}

.rv-hub-empty-state > span{
    font-size:30px;
    color:#159edc;
}

.rv-hub-empty-state strong{
    color:#c9d8e7;
    font-size:13px;
}

.rv-hub-empty-state small{
    font-size:11px;
}

.rv-hub-article-placeholders{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    padding:14px;
}

.rv-hub-article-placeholders > div{
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:12px;
    border:1px solid rgba(94,143,188,.18);
    border-radius:7px;
    background:
        radial-gradient(circle at 70% 20%,rgba(0,153,255,.18),transparent 35%),
        linear-gradient(145deg,#0b1b2e,#07121e);
}

.rv-hub-article-placeholders span{
    color:#18b7ff;
    font-size:9px;
    letter-spacing:.12em;
}

.rv-hub-article-placeholders strong{
    margin-top:8px;
    font-size:24px;
    color:#5d748d;
}

.rv-hub-official-note{
    min-height:70px;
    margin:12px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:18px;
    border:1px solid rgba(221,171,44,.28);
    border-radius:7px;
    background:rgba(126,94,17,.12);
}

.rv-hub-official-note strong{
    color:#f3f7fb;
    font-size:12px;
}

.rv-hub-official-note span{
    color:#aebed0;
    font-size:12px;
}

.rv-hub-stat-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:42px;
    padding:0 16px;
    border-bottom:1px solid rgba(126,164,199,.08);
    color:#d6e2ee;
    font-size:12px;
}

.rv-hub-stat-row strong{
    color:#f1f6fb;
}

.rv-hub-online-row{
    display:flex;
    align-items:center;
    gap:9px;
    padding:16px;
    font-size:11px;
    color:#d2deea;
}

.rv-hub-online-row i{
    width:8px;
    height:8px;
    margin-left:auto;
    border-radius:50%;
    background:#34d399;
    box-shadow:0 0 8px rgba(52,211,153,.7);
}

.rv-hub-tags-placeholder{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:14px;
}

.rv-hub-tags-placeholder span{
    padding:6px 9px;
    border:1px solid rgba(89,143,193,.2);
    border-radius:12px;
    background:#0c2239;
    color:#62bdf2;
    font-size:10px;
}

.rv-hub-language-panel .rv-hub-language{
    margin:12px auto 16px;
}

@media (max-width:1180px){
    .rv-hub-dashboard{
        grid-template-columns:180px minmax(0,1fr);
    }
    .rv-hub-dashboard-topbar{
        grid-template-columns:1fr;
    }
    .rv-hub-dashboard-grid{
        grid-template-columns:1fr;
    }
    .rv-hub-dashboard-right{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:760px){
    .rv-hub-dashboard{
        display:block;
    }
    .rv-hub-sidebar{
        display:none;
    }
    .rv-hub-dashboard-right{
        display:flex;
    }
    .rv-hub-welcome-values,
    .rv-hub-article-placeholders{
        grid-template-columns:1fr 1fr;
    }
}


/* HUB V1 — rôles et permissions */
.rv-hub-dashboard-new.is-locked{
    opacity:.48;
    cursor:not-allowed;
    background:#18344b;
    color:#91a8ba;
}

.rv-hub-role-line{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:8px;
    color:#96adc4;
    font-size:11px;
}

.rv-hub-role-badge{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 9px;
    border:1px solid rgba(87,167,220,.35);
    border-radius:999px;
    background:rgba(13,105,164,.12);
    color:#7bcfff;
    font-weight:700;
}

.rv-hub-role-badge.is-admin{
    border-color:rgba(238,177,45,.42);
    background:rgba(147,101,7,.14);
    color:#f0c557;
}

.rv-hub-role-badge.is-member{
    border-color:rgba(52,211,153,.36);
    background:rgba(24,127,90,.13);
    color:#72e0b4;
}


/* =========================================================
   HUB V1 — Création d'une publication
   ========================================================= */
.rv-hub-compose{
    min-height:calc(100vh - 96px);
    padding:24px;
    background:
        radial-gradient(circle at 72% 5%,rgba(8,126,205,.11),transparent 26%),
        #06111f;
    color:#edf6ff;
}

.rv-hub-compose-shell{
    width:min(1360px,100%);
    margin:0 auto;
}

.rv-hub-compose-header{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-start;
    padding:18px 2px 24px;
}

.rv-hub-compose-eyebrow{
    color:#1ab8ff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.18em;
}

.rv-hub-compose-header h1{
    margin:8px 0 8px;
    font-size:30px;
}

.rv-hub-compose-header p{
    margin:0;
    color:#9db2c7;
    font-size:13px;
}

.rv-hub-compose-author{
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 12px;
    border:1px solid rgba(99,151,198,.2);
    border-radius:8px;
    background:#0a1726;
}

.rv-hub-compose-author > span:last-child{
    display:flex;
    flex-direction:column;
}

.rv-hub-compose-author small{
    color:#6f8aa4;
    font-size:9px;
    text-transform:uppercase;
}

.rv-hub-compose-author strong{
    font-size:11px;
}

.rv-hub-compose-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    gap:18px;
    align-items:start;
}

.rv-hub-compose-form,
.rv-hub-preview{
    border:1px solid rgba(105,158,204,.2);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.97),rgba(7,20,34,.98));
}

.rv-hub-compose-form{
    padding:20px;
}

.rv-hub-form-row{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-bottom:16px;
}

.rv-hub-form-row label,
.rv-hub-file-field > span{
    color:#dce9f6;
    font-size:12px;
    font-weight:700;
}

.rv-hub-form-row input,
.rv-hub-form-row select,
.rv-hub-form-row textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid rgba(99,151,198,.27);
    border-radius:7px;
    outline:none;
    background:#06111e;
    color:#edf6ff;
    font:inherit;
}

.rv-hub-form-row input,
.rv-hub-form-row select{
    height:42px;
    padding:0 12px;
}

.rv-hub-form-row textarea{
    resize:vertical;
    min-height:260px;
    padding:12px;
    line-height:1.6;
}

.rv-hub-form-row input:focus,
.rv-hub-form-row select:focus,
.rv-hub-form-row textarea:focus{
    border-color:#0aaeff;
    box-shadow:0 0 0 2px rgba(10,174,255,.09);
}

.rv-hub-char-count{
    align-self:flex-end;
    color:#6f8aa4;
    font-size:10px;
}

.rv-hub-form-files{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:16px;
}

.rv-hub-file-field{
    min-height:86px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    padding:12px;
    border:1px dashed rgba(80,168,226,.36);
    border-radius:8px;
    background:#081727;
    cursor:pointer;
}

.rv-hub-file-field small{
    color:#7088a0;
    font-weight:400;
}

.rv-hub-file-field input{
    max-width:100%;
    color:#9db4ca;
    font-size:10px;
}

.rv-hub-file-field em{
    color:#66819b;
    font-size:10px;
    font-style:normal;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.rv-hub-compose-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding-top:4px;
}

.rv-hub-compose-back{
    color:#87a9c8;
    text-decoration:none;
    font-size:12px;
}

.rv-hub-compose-publish{
    min-height:40px;
    padding:0 20px;
    border:0;
    border-radius:7px;
    background:#0aa6ef;
    color:white;
    font-weight:800;
    cursor:pointer;
}

.rv-hub-compose-note{
    margin:10px 0 0;
    color:#6f8ba6;
    font-size:10px;
    text-align:right;
}

.rv-hub-preview{
    position:sticky;
    top:18px;
    overflow:hidden;
}

.rv-hub-preview-heading{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 16px;
    border-bottom:1px solid rgba(112,157,198,.15);
}

.rv-hub-preview-heading h2{
    margin:0;
    font-size:14px;
}

.rv-hub-preview-heading span{
    padding:4px 7px;
    border:1px solid rgba(67,170,234,.3);
    border-radius:5px;
    color:#32bfff;
    font-size:9px;
}

.rv-hub-preview-card{
    min-height:520px;
    padding:18px;
}

.rv-hub-preview-empty{
    min-height:480px;
    display:grid;
    place-items:center;
    color:#5f7892;
    font-size:12px;
    text-align:center;
}

.rv-hub-preview-meta{
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:#6fa8d0;
    font-size:10px;
}

.rv-hub-preview-content h3{
    margin:14px 0 10px;
    font-size:22px;
    line-height:1.25;
}

.rv-hub-preview-objective{
    margin:0 0 16px;
    padding:10px 12px;
    border-left:2px solid #0aaeff;
    background:rgba(10,174,255,.06);
    color:#a8bfd5;
    font-size:11px;
}

.rv-hub-preview-body{
    color:#d7e4ef;
    font-size:12px;
    line-height:1.65;
}

.rv-hub-preview-body p{
    margin:0 0 12px;
}

.rv-hub-preview-content img{
    width:100%;
    max-height:280px;
    object-fit:cover;
    margin-top:12px;
    border-radius:7px;
}

.rv-hub-preview-pdf{
    margin-top:12px;
    padding:10px 12px;
    border:1px solid rgba(118,157,191,.2);
    border-radius:6px;
    color:#9bb5cc;
    font-size:10px;
}

.rv-hub-preview-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:14px;
}

.rv-hub-preview-tags span{
    padding:5px 8px;
    border:1px solid rgba(65,157,215,.22);
    border-radius:999px;
    background:#0a2035;
    color:#60bff5;
    font-size:9px;
}

@media (max-width:980px){
    .rv-hub-compose-grid{
        grid-template-columns:1fr;
    }
    .rv-hub-preview{
        position:static;
    }
}

@media (max-width:650px){
    .rv-hub-compose{
        padding:14px;
    }
    .rv-hub-compose-header{
        flex-direction:column;
    }
    .rv-hub-form-files{
        grid-template-columns:1fr;
    }
}


/* Publication réelle HUB V1 */
.rv-hub-publish-error{
    margin-bottom:16px;
    padding:11px 13px;
    border:1px solid rgba(255,95,95,.45);
    border-radius:7px;
    background:rgba(150,30,30,.16);
    color:#ffb0b0;
    font-size:11px;
}
.rv-hub-real-publications{
    width:100%;
    display:flex;
    flex-direction:column;
}
.rv-hub-real-publication{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:58px;
    padding:9px 12px;
    border-bottom:1px solid rgba(105,158,204,.13);
}
.rv-hub-real-publication:last-child{border-bottom:0}
.rv-hub-real-publication > div:first-child{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
}
.rv-hub-real-publication strong{
    color:#eef7ff;
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rv-hub-real-publication small{
    color:#7892aa;
    font-size:9px;
}
.rv-hub-real-theme{
    color:#22b9ff;
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
}
.rv-hub-real-stats{
    display:flex;
    gap:12px;
    color:#8fa9c0;
    font-size:10px;
    white-space:nowrap;
}


/* Correctif affichage publications récentes */
.rv-hub-real-publication-main{
    flex:1 1 auto;
    min-width:0;
}
.rv-hub-real-thumb{
    width:58px;
    height:42px;
    flex:0 0 58px;
    object-fit:cover;
    border-radius:5px;
    border:1px solid rgba(95,155,202,.22);
}


/* HUB V1 — Déconnexion */
.rv-hub-dashboard-logout{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    margin-top:3px;
    padding:0;
    border:0;
    background:transparent;
    color:#5fc7ff;
    font-size:9px;
    cursor:pointer;
    text-decoration:underline;
    text-underline-offset:3px;
}
.rv-hub-dashboard-logout:hover{
    color:#9de0ff;
}


/* =========================================================
   HUB V1 — Lecture d'une publication
   ========================================================= */
.rv-hub-real-publication{
    text-decoration:none;
    color:inherit;
}
.rv-hub-real-publication:hover{
    background:rgba(18,88,137,.12);
}
.rv-hub-real-publication:hover strong{
    color:#59caff;
}

.rv-hub-article-page{
    min-height:calc(100vh - 96px);
    padding:26px 18px 46px;
    background:
        radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),
        #06111f;
    color:#edf6ff;
}
.rv-hub-article-shell{
    width:min(1040px,100%);
    margin:0 auto;
}
.rv-hub-article-breadcrumb{
    margin-bottom:14px;
}
.rv-hub-article-breadcrumb a,
.rv-hub-article-error a{
    color:#73cfff;
    text-decoration:none;
    font-size:12px;
}
.rv-hub-article-card{
    overflow:hidden;
    border:1px solid rgba(104,155,200,.2);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
}
.rv-hub-article-header{
    padding:24px 28px 20px;
    border-bottom:1px solid rgba(110,157,198,.13);
}
.rv-hub-article-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    color:#7895af;
    font-size:10px;
}
.rv-hub-article-theme{
    color:#25bbff;
    font-weight:800;
    text-transform:uppercase;
}
.rv-hub-article-header h1{
    margin:12px 0 18px;
    font-size:30px;
    line-height:1.2;
}
.rv-hub-article-author{
    display:flex;
    align-items:center;
    gap:9px;
}
.rv-hub-article-author > span:last-child{
    display:flex;
    flex-direction:column;
}
.rv-hub-article-author small{
    color:#7189a0;
    font-size:9px;
    text-transform:uppercase;
}
.rv-hub-article-author strong{
    font-size:11px;
}
.rv-hub-article-hero-image{
    display:block;
    width:100%;
    height:556px;
    max-height:none;
    object-fit:contain;
    object-position:center;
    background:#07111d;
}
.rv-hub-article-objective{
    margin:24px 28px 0;
    padding:14px 16px;
    border-left:3px solid #0aaeff;
    background:rgba(10,174,255,.06);
}
.rv-hub-article-objective small{
    color:#2cbcff;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
}
.rv-hub-article-objective p{
    margin:7px 0 0;
    color:#b7cadd;
    line-height:1.6;
    font-size:12px;
}
.rv-hub-article-content{
    padding:24px 28px 30px;
    color:#dce8f3;
    font-size:14px;
    line-height:1.8;
}
.rv-hub-article-content p{
    margin:0 0 18px;
}
.rv-hub-article-attachment{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 28px 24px;
    padding:13px 15px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:7px;
    background:#081827;
    font-size:11px;
}
.rv-hub-article-attachment a{
    color:#4fc5ff;
    text-decoration:none;
}
.rv-hub-article-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    padding:0 28px 26px;
}
.rv-hub-article-tags span{
    padding:5px 9px;
    border:1px solid rgba(75,159,215,.22);
    border-radius:999px;
    background:#0a2035;
    color:#62c1f6;
    font-size:9px;
}
.rv-hub-article-responses{
    margin-top:16px;
    padding:18px 20px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:9px;
    background:#0a1726;
}
.rv-hub-article-responses > div{
    display:flex;
    align-items:center;
    gap:9px;
}
.rv-hub-article-responses h2{
    margin:0;
    font-size:16px;
}
.rv-hub-article-responses span{
    display:grid;
    place-items:center;
    min-width:22px;
    height:22px;
    border-radius:999px;
    background:#0f2a42;
    color:#63c7fb;
    font-size:10px;
}
.rv-hub-article-responses p{
    margin:10px 0 0;
    color:#728ba3;
    font-size:11px;
}
.rv-hub-article-error{
    padding:40px;
    border:1px solid rgba(104,155,200,.2);
    border-radius:10px;
    background:#0a1726;
}
@media(max-width:700px){
    .rv-hub-article-header,
    .rv-hub-article-content{
        padding-left:18px;
        padding-right:18px;
    }
    .rv-hub-article-objective,
    .rv-hub-article-attachment{
        margin-left:18px;
        margin-right:18px;
    }
    .rv-hub-article-tags{
        padding-left:18px;
        padding-right:18px;
    }
    .rv-hub-article-header h1{
        font-size:24px;
    }
}


/* HUB V1 — Cadre universel des images d'article */
@media (max-width:900px){
    .rv-hub-article-hero-image{
        height:440px;
    }
}
@media (max-width:650px){
    .rv-hub-article-hero-image{
        height:300px;
    }
}


/* HUB V1 — réponses */
.rv-hub-responses-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.rv-hub-responses-heading>div{display:flex;align-items:center;gap:9px}
.rv-hub-responses-heading small{color:#7895ad;font-size:10px}
.rv-hub-replies-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.rv-hub-reply-card{padding:15px 16px;border:1px solid rgba(94,150,197,.18);border-radius:8px;background:#081827}
.rv-hub-reply-card header{display:flex;align-items:center;gap:9px}
.rv-hub-reply-card header>div{display:flex;flex-direction:column}
.rv-hub-reply-card header strong{font-size:11px;color:#e6f2fd}
.rv-hub-reply-card header small{color:#738da5;font-size:9px}
.rv-hub-reply-body{padding:12px 0 0 43px;color:#cbdbe9;font-size:12px;line-height:1.65}
.rv-hub-reply-body p{margin:0}
.rv-hub-no-replies{min-height:85px;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:#718ba4;font-size:11px;border:1px dashed rgba(88,143,191,.17);border-radius:8px}
.rv-hub-reply-form{margin-top:16px;padding-top:16px;border-top:1px solid rgba(105,157,198,.14)}
.rv-hub-reply-form label{display:block;margin-bottom:7px;color:#dce9f5;font-size:11px;font-weight:700}
.rv-hub-reply-form textarea{width:100%;box-sizing:border-box;min-height:130px;padding:12px;resize:vertical;border:1px solid rgba(94,150,197,.28);border-radius:7px;outline:none;background:#06111e;color:#e9f4fd;font:inherit;font-size:12px;line-height:1.6}
.rv-hub-reply-form textarea:focus{border-color:#0aaeff;box-shadow:0 0 0 2px rgba(10,174,255,.08)}
.rv-hub-reply-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.rv-hub-reply-form-footer span{color:#6f89a1;font-size:9px}
.rv-hub-reply-form-footer button{min-height:36px;padding:0 15px;border:0;border-radius:7px;background:#0aa6ef;color:#fff;font-weight:800;font-size:11px;cursor:pointer}
.rv-hub-reply-error{margin-bottom:8px;padding:9px 11px;border:1px solid rgba(255,92,92,.4);border-radius:6px;background:rgba(145,28,28,.15);color:#ffb0b0;font-size:10px}
.rv-hub-reply-locked{margin-top:15px;padding:13px 14px;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(98,148,192,.16);border-radius:7px;background:#071522}
.rv-hub-reply-locked strong{color:#c6d7e6;font-size:11px}
.rv-hub-reply-locked span{color:#718aa1;font-size:10px}


/* HUB V1 — précision points administrateur */
.rv-hub-responses-heading small{
    max-width:430px;
    text-align:right;
    line-height:1.35;
}


/* =========================================================
   HUB V1 — réponses larges et réponses imbriquées
   ========================================================= */
.rv-hub-replies-list{
    width:100%;
}
.rv-hub-reply-card{
    width:100%;
    box-sizing:border-box;
    margin-left:0;
    padding:18px 20px;
}
.rv-hub-reply-card.is-nested{
    width:calc(100% - min(calc(var(--reply-depth) * 46px), 184px));
    margin-left:min(calc(var(--reply-depth) * 46px), 184px);
    border-left:3px solid #0aaeff;
    background:linear-gradient(135deg,rgba(9,29,47,.98),rgba(7,21,35,.98));
}
.rv-hub-reply-card header .rv-hub-user-avatar{
    width:38px;
    height:38px;
    flex-basis:38px;
}
.rv-hub-reply-card header strong{
    font-size:14px;
}
.rv-hub-reply-card header small{
    font-size:11px;
}
.rv-hub-reply-body{
    padding:16px 0 2px 47px;
    font-size:14px;
    line-height:1.8;
    color:#dce8f3;
}
.rv-hub-reply-body p{
    margin:0 0 14px;
}
.rv-hub-reply-actions{
    display:flex;
    gap:12px;
    padding:6px 0 0 47px;
}
.rv-hub-reply-to{
    border:0;
    padding:0;
    background:transparent;
    color:#71bce8;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}
.rv-hub-reply-to:hover{
    color:#b5e4ff;
}
.rv-hub-reply-form-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
.rv-hub-reply-form-heading label{
    margin-bottom:7px;
}
#rv-hub-reply-cancel-target{
    border:0;
    background:transparent;
    color:#79bfe7;
    font-size:10px;
    cursor:pointer;
}
.rv-hub-reply-target{
    margin:0 0 8px;
    padding:8px 10px;
    border-left:2px solid #0aaeff;
    background:rgba(10,174,255,.06);
    color:#9fcbe5;
    font-size:10px;
}
.rv-hub-reply-form textarea{
    font-size:14px;
    line-height:1.8;
}
@media(max-width:700px){
    .rv-hub-reply-card.is-nested{
        width:calc(100% - min(calc(var(--reply-depth) * 18px), 54px));
        margin-left:min(calc(var(--reply-depth) * 18px), 54px);
    }
    .rv-hub-reply-body,
    .rv-hub-reply-actions{
        padding-left:0;
    }
}

/* HUB V1 — Toutes les discussions */
.rv-hub-discussions-page{min-height:calc(100vh - 96px);padding:28px 18px 48px;background:radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),#06111f;color:#edf6ff}
.rv-hub-discussions-shell{width:min(1180px,100%);margin:0 auto}
.rv-hub-discussions-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.rv-hub-discussions-back{display:inline-block;margin-bottom:12px;color:#73cfff;text-decoration:none;font-size:12px}
.rv-hub-discussions-top h1{margin:0;font-size:28px}
.rv-hub-discussions-top p{margin:7px 0 0;color:#819bb2;font-size:12px}
.rv-hub-discussions-count{padding:7px 10px;border:1px solid rgba(78,163,220,.22);border-radius:999px;background:#092238;color:#69c7f8;font-size:10px}
.rv-hub-discussions-list{display:flex;flex-direction:column;gap:9px}
.rv-hub-discussion-row{display:grid;grid-template-columns:minmax(0,1fr) 112px auto;align-items:center;gap:18px;min-height:112px;padding:16px 18px;border:1px solid rgba(104,155,200,.18);border-radius:9px;background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));color:inherit;text-decoration:none}
.rv-hub-discussion-row:hover{border-color:rgba(53,183,246,.42);background:linear-gradient(145deg,rgba(16,43,67,.98),rgba(8,25,41,.99))}
.rv-hub-discussion-meta{display:flex;align-items:center;gap:10px}.rv-hub-discussion-meta span{color:#27bbff;font-size:9px;font-weight:800;text-transform:uppercase}.rv-hub-discussion-meta small{color:#718ba3;font-size:9px}
.rv-hub-discussion-main h2{margin:7px 0 10px;color:#f0f7fd;font-size:17px;line-height:1.3}
.rv-hub-discussion-author{display:flex;align-items:center;gap:7px}.rv-hub-discussion-author .rv-hub-user-avatar{width:26px;height:26px;flex-basis:26px;font-size:8px}.rv-hub-discussion-author small{color:#829bb2;font-size:9px}
.rv-hub-discussion-thumb{width:112px;height:76px;object-fit:contain;border-radius:6px;background:#06111d}
.rv-hub-discussion-stats{display:flex;align-items:center;gap:12px;min-width:92px;color:#7994ab;font-size:10px}
.rv-hub-discussions-empty{padding:42px 20px;display:flex;flex-direction:column;align-items:center;gap:7px;border:1px dashed rgba(88,143,191,.22);border-radius:9px;color:#8099af}
@media(max-width:720px){.rv-hub-discussions-top{align-items:flex-start;flex-direction:column}.rv-hub-discussion-row{grid-template-columns:minmax(0,1fr) auto}.rv-hub-discussion-thumb{display:none}}


/* =========================================================
   HUB V1 — Articles
   ========================================================= */
.rv-hub-articles-page{
    min-height:calc(100vh - 96px);
    padding:28px 18px 48px;
    background:
        radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),
        #06111f;
    color:#edf6ff;
}
.rv-hub-articles-shell{
    width:min(1180px,100%);
    margin:0 auto;
}
.rv-hub-articles-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    margin-bottom:20px;
}
.rv-hub-articles-back{
    display:inline-block;
    margin-bottom:12px;
    color:#73cfff;
    text-decoration:none;
    font-size:12px;
}
.rv-hub-articles-eyebrow{
    display:block;
    margin-bottom:6px;
    color:#22bbff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
}
.rv-hub-articles-header h1{
    margin:0;
    font-size:30px;
}
.rv-hub-articles-header p{
    margin:7px 0 0;
    color:#819bb2;
    font-size:12px;
}
.rv-hub-articles-count{
    min-width:90px;
    padding:12px 14px;
    border:1px solid rgba(78,163,220,.22);
    border-radius:9px;
    background:#092238;
    text-align:center;
}
.rv-hub-articles-count strong{
    display:block;
    color:#5ec9ff;
    font-size:24px;
}
.rv-hub-articles-count span{
    color:#8aa7bf;
    font-size:10px;
}
.rv-hub-articles-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.rv-hub-article-tile{
    overflow:hidden;
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:210px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
    color:inherit;
    text-decoration:none;
}
.rv-hub-article-tile:hover{
    border-color:rgba(53,183,246,.42);
}
.rv-hub-article-tile-media{
    min-height:210px;
    background:#06111d;
}
.rv-hub-article-tile-media img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.rv-hub-article-tile-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#1aaef5;
    font-size:34px;
    font-weight:900;
    background:
        radial-gradient(circle at 50% 35%,rgba(0,155,255,.14),transparent 35%),
        #071522;
}
.rv-hub-article-tile-body{
    display:flex;
    flex-direction:column;
    padding:16px 18px;
}
.rv-hub-article-tile-meta{
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:#728ca5;
    font-size:9px;
}
.rv-hub-article-tile-meta span{
    color:#24bcff;
    font-weight:800;
    text-transform:uppercase;
}
.rv-hub-article-tile-body h2{
    margin:9px 0 10px;
    color:#eef7ff;
    font-size:18px;
    line-height:1.3;
}
.rv-hub-article-tile-body p{
    margin:0;
    color:#96aebf;
    font-size:11px;
    line-height:1.55;
}
.rv-hub-article-tile-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:auto;
    padding-top:14px;
}
.rv-hub-article-tile-footer > div:first-child{
    display:flex;
    align-items:center;
    gap:7px;
}
.rv-hub-article-tile-footer .rv-hub-user-avatar{
    width:27px;
    height:27px;
    flex-basis:27px;
    font-size:8px;
}
.rv-hub-article-tile-footer small{
    color:#7f98ae;
    font-size:9px;
}
.rv-hub-article-tile-stats{
    display:flex;
    gap:11px;
    color:#7893aa;
    font-size:9px;
}
.rv-hub-articles-empty{
    padding:42px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    border:1px dashed rgba(88,143,191,.22);
    border-radius:9px;
    color:#8099af;
}
@media(max-width:980px){
    .rv-hub-articles-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:640px){
    .rv-hub-articles-header{
        align-items:flex-start;
        flex-direction:column;
    }
    .rv-hub-article-tile{
        grid-template-columns:1fr;
    }
    .rv-hub-article-tile-media{
        min-height:220px;
    }
}


/* =========================================================
   HUB V1 — Catégories
   ========================================================= */
.rv-hub-categories-page{
    min-height:calc(100vh - 96px);
    padding:28px 18px 48px;
    background:
        radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),
        #06111f;
    color:#edf6ff;
}
.rv-hub-categories-shell{
    width:min(1180px,100%);
    margin:0 auto;
}
.rv-hub-categories-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
}
.rv-hub-categories-back{
    display:inline-block;
    margin-bottom:12px;
    color:#73cfff;
    text-decoration:none;
    font-size:12px;
}
.rv-hub-categories-header > div:first-child > span{
    display:block;
    margin-bottom:6px;
    color:#22bbff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
}
.rv-hub-categories-header h1{
    margin:0;
    font-size:30px;
}
.rv-hub-categories-header p{
    margin:7px 0 0;
    color:#819bb2;
    font-size:12px;
}
.rv-hub-categories-total{
    min-width:90px;
    padding:12px 14px;
    border:1px solid rgba(78,163,220,.22);
    border-radius:9px;
    background:#092238;
    text-align:center;
}
.rv-hub-categories-total strong{
    display:block;
    color:#5ec9ff;
    font-size:24px;
}
.rv-hub-categories-total small{
    color:#8aa7bf;
    font-size:10px;
}
.rv-hub-categories-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.rv-hub-category-card{
    min-height:118px;
    display:grid;
    grid-template-columns:56px minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    padding:18px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
    color:inherit;
    text-decoration:none;
}
.rv-hub-category-card:hover{
    border-color:rgba(53,183,246,.42);
    background:linear-gradient(145deg,rgba(16,43,67,.98),rgba(8,25,41,.99));
}
.rv-hub-category-card.is-empty{
    opacity:.62;
}
.rv-hub-category-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:1px solid rgba(45,182,244,.35);
    border-radius:14px;
    background:#09223a;
    color:#2ebeff;
    font-size:25px;
}
.rv-hub-category-copy > div{
    display:flex;
    align-items:center;
    gap:9px;
}
.rv-hub-category-copy h2{
    margin:0;
    color:#eff7fd;
    font-size:18px;
}
.rv-hub-category-copy > div > span{
    min-width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#0b2c48;
    color:#62c9fc;
    font-size:10px;
}
.rv-hub-category-copy p{
    margin:7px 0 0;
    color:#819aaf;
    font-size:11px;
    line-height:1.5;
}
.rv-hub-category-arrow{
    color:#42bdf8;
    font-size:20px;
}
@media(max-width:760px){
    .rv-hub-categories-header{
        align-items:flex-start;
        flex-direction:column;
    }
    .rv-hub-categories-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   HUB V1 — Tags
   ========================================================= */
.rv-hub-tags-page{
    min-height:calc(100vh - 96px);
    padding:28px 18px 48px;
    background:
        radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),
        #06111f;
    color:#edf6ff;
}
.rv-hub-tags-shell{
    width:min(1180px,100%);
    margin:0 auto;
}
.rv-hub-tags-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
}
.rv-hub-tags-back{
    display:inline-block;
    margin-bottom:12px;
    color:#73cfff;
    text-decoration:none;
    font-size:12px;
}
.rv-hub-tags-header > div:first-child > span{
    display:block;
    margin-bottom:6px;
    color:#22bbff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
}
.rv-hub-tags-header h1{
    margin:0;
    font-size:30px;
}
.rv-hub-tags-header p{
    margin:7px 0 0;
    color:#819bb2;
    font-size:12px;
}
.rv-hub-tags-total{
    min-width:90px;
    padding:12px 14px;
    border:1px solid rgba(78,163,220,.22);
    border-radius:9px;
    background:#092238;
    text-align:center;
}
.rv-hub-tags-total strong{
    display:block;
    color:#5ec9ff;
    font-size:24px;
}
.rv-hub-tags-total small{
    color:#8aa7bf;
    font-size:10px;
}
.rv-hub-tags-cloud{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.rv-hub-tag-card{
    min-width:150px;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0 16px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
    color:inherit;
    text-decoration:none;
}
.rv-hub-tag-card:hover{
    border-color:rgba(53,183,246,.42);
    background:linear-gradient(145deg,rgba(16,43,67,.98),rgba(8,25,41,.99));
}
.rv-hub-tag-card span{
    color:#72cfff;
    font-size:13px;
}
.rv-hub-tag-card strong{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#0b2c48;
    color:#62c9fc;
    font-size:10px;
}
.rv-hub-tags-empty{
    padding:42px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    border:1px dashed rgba(88,143,191,.22);
    border-radius:9px;
    color:#8099af;
}
.rv-hub-tags-placeholder a{
    padding:6px 9px;
    border:1px solid rgba(89,143,193,.2);
    border-radius:12px;
    background:#0c2239;
    color:#62bdf2;
    font-size:10px;
    text-decoration:none;
}
.rv-hub-tags-placeholder a:hover{
    border-color:rgba(53,183,246,.42);
}
.rv-hub-tags-all-link{
    display:inline-block;
    margin:0 14px 14px;
    color:#5fc7ff;
    font-size:10px;
    text-decoration:none;
}
@media(max-width:720px){
    .rv-hub-tags-header{
        align-items:flex-start;
        flex-direction:column;
    }
    .rv-hub-tag-card{
        flex:1 1 100%;
    }
}


/* =========================================================
   HUB V1 — Lisibilité validée des réponses
   ========================================================= */
.rv-hub-reply-body,
.rv-hub-reply-body p{
    font-size:18px !important;
    line-height:1.75 !important;
}
.rv-hub-reply-card header strong{font-size:16px !important}
.rv-hub-reply-card header small{font-size:12px !important}
.rv-hub-reply-to{font-size:13px !important}
.rv-hub-reply-form textarea{
    font-size:18px !important;
    line-height:1.75 !important;
}

/* =========================================================
   HUB V1 — Page article en 3 colonnes
   ========================================================= */
.rv-hub-article-layout{
    width:min(1660px,calc(100% - 30px));
    margin:0 auto;
    display:grid;
    grid-template-columns:240px minmax(0,1fr) 240px;
    gap:18px;
    align-items:start;
}
.rv-hub-article-layout-center{min-width:0}
.rv-hub-article-layout-center .rv-hub-article-page{
    min-height:0;
    padding:26px 0 46px;
    background:transparent;
}
.rv-hub-article-layout-center .rv-hub-article-shell{width:100%}
.rv-hub-article-sidebar{
    position:sticky;
    top:112px;
    display:flex;
    flex-direction:column;
    gap:14px;
    padding-top:40px;
}
.rv-hub-article-nav-card{
    overflow:hidden;
    padding:14px;
    border:1px solid rgba(104,155,200,.20);
    border-radius:9px;
    background:#091a2a;
}
.rv-hub-article-nav-card h3{
    margin:0 0 11px;
    padding-bottom:9px;
    border-bottom:1px solid rgba(104,155,200,.14);
    color:#f0f7fd;
    font-size:13px;
}
.rv-hub-article-nav-card > a,
.rv-hub-article-nav-card > span{
    display:block;
    padding:8px 3px;
    color:#91b5d1;
    text-decoration:none;
    font-size:11px;
    line-height:1.35;
}
.rv-hub-article-nav-card > a:hover{color:#2dbdff}
.rv-hub-article-side-info{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:8px 2px;
    border-bottom:1px solid rgba(104,155,200,.10);
}
.rv-hub-article-side-info:last-child{border-bottom:0}
.rv-hub-article-side-info span{
    color:#718ba3;
    font-size:9px;
    text-transform:uppercase;
}
.rv-hub-article-side-info strong{
    overflow-wrap:anywhere;
    color:#e5f2fc;
    font-size:11px;
}
.rv-hub-article-side-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.rv-hub-article-side-tags a{
    padding:5px 7px;
    border:1px solid rgba(67,166,225,.23);
    border-radius:999px;
    background:#0a2338;
    color:#64c6f9;
    text-decoration:none;
    font-size:9px;
}
@media(max-width:1280px){
    .rv-hub-article-layout{grid-template-columns:240px minmax(0,1fr)}
    .rv-hub-article-sidebar--right{display:none}
}
@media(max-width:920px){
    .rv-hub-article-layout{
        display:block;
        width:min(1050px,calc(100% - 20px));
    }
    .rv-hub-article-sidebar{display:none}
}


/* HUB V1 — réalignement vertical de la colonne centrale */
.rv-hub-article-layout-center{
    padding-top:40px;
}
@media(max-width:920px){
    .rv-hub-article-layout-center{
        padding-top:0;
    }
}


/* HUB V1 — alignement exact des trois colonnes */
.rv-hub-article-layout-center{
    padding-top:0 !important;
}
.rv-hub-article-layout-center .rv-hub-article-page{
    padding-top:40px !important;
}


/* HUB V1 — ajustement fin alignement vertical */
.rv-hub-article-layout-center .rv-hub-article-page{
    padding-top:50px !important;
}


/* =========================================================
   HUB V1 — Mon profil
   ========================================================= */
.rv-hub-profile-page{min-height:calc(100vh - 96px);padding:32px 18px 52px;background:radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),#06111f;color:#edf6ff}
.rv-hub-profile-shell{width:min(1180px,100%);margin:0 auto}
.rv-hub-profile-heading{margin-bottom:18px}
.rv-hub-profile-heading a{display:inline-block;margin-bottom:12px;color:#73cfff;text-decoration:none;font-size:12px}
.rv-hub-profile-heading span{display:block;margin-bottom:6px;color:#22bbff;font-size:10px;font-weight:800;letter-spacing:.14em}
.rv-hub-profile-heading h1{margin:0;font-size:30px}
.rv-hub-profile-heading p{margin:7px 0 0;color:#819bb2;font-size:12px}
.rv-hub-profile-card{border:1px solid rgba(104,155,200,.18);border-radius:10px;background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));padding:20px}
.rv-hub-profile-identity{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:14px}
.rv-hub-profile-avatar{width:68px;height:68px;display:grid;place-items:center;border:1px solid rgba(47,183,244,.35);border-radius:50%;background:#0a2942;color:#49c5ff;font-size:20px;font-weight:900}
.rv-hub-profile-idcopy small{color:#38bfff;font-size:10px;font-weight:800;text-transform:uppercase}.rv-hub-profile-idcopy h2{margin:5px 0;color:#f1f8fd;font-size:20px}.rv-hub-profile-idcopy p{margin:0;color:#718da5;font-size:10px;overflow-wrap:anywhere}
.rv-hub-profile-access{padding:7px 10px;border:1px solid rgba(44,186,244,.24);border-radius:999px;background:#09263d;color:#67cfff;font-size:10px}
.rv-hub-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.rv-hub-profile-card h3{margin:0 0 14px;color:#f1f7fc;font-size:15px}
.rv-hub-profile-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(104,155,200,.10);font-size:11px}.rv-hub-profile-line:last-child{border-bottom:0}.rv-hub-profile-line span{color:#7893aa}.rv-hub-profile-line strong{color:#e4f1fa;text-align:right}
.rv-hub-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rv-hub-profile-stats div{padding:16px 8px;border:1px solid rgba(104,155,200,.13);border-radius:8px;background:#081c2d;text-align:center}.rv-hub-profile-stats strong{display:block;color:#59caff;font-size:25px}.rv-hub-profile-stats span{color:#809bb0;font-size:10px}
.rv-hub-profile-note{margin:13px 0 0;color:#7690a6;font-size:10px;line-height:1.5}
.rv-hub-profile-points{display:flex;align-items:center;justify-content:space-between;gap:20px}.rv-hub-profile-points h3{margin-bottom:5px}.rv-hub-profile-points p{margin:0;color:#7893aa;font-size:11px}.rv-hub-profile-points>strong{color:#5ecbff;font-size:28px}
@media(max-width:720px){.rv-hub-profile-identity{grid-template-columns:60px 1fr}.rv-hub-profile-access{grid-column:1/-1;width:max-content}.rv-hub-profile-grid{grid-template-columns:1fr}}


/* HUB V1 — Profil enrichi */
.rv-hub-profile-stats a{padding:16px 8px;border:1px solid rgba(104,155,200,.13);border-radius:8px;background:#081c2d;text-align:center;text-decoration:none;transition:.18s ease}
.rv-hub-profile-stats a:hover{border-color:rgba(53,183,246,.42);background:#0a253b;transform:translateY(-1px)}
.rv-hub-profile-stats a strong{display:block;color:#59caff;font-size:25px}
.rv-hub-profile-stats a span{color:#809bb0;font-size:10px}

.rv-hub-profile-economy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.rv-hub-profile-metric{display:flex;align-items:center;justify-content:space-between;gap:18px}
.rv-hub-profile-metric small,.rv-hub-profile-referral small{color:#28baff;font-size:9px;font-weight:800;letter-spacing:.12em}
.rv-hub-profile-metric h3{margin:5px 0}.rv-hub-profile-metric p{margin:0;color:#7893aa;font-size:10px;line-height:1.5}
.rv-hub-profile-metric-value{text-align:right;flex:0 0 auto}
.rv-hub-profile-metric-value strong{display:block;color:#61cbff;font-size:28px;line-height:1}
.rv-hub-profile-metric-value span{color:#809bb0;font-size:10px}
.rv-hub-profile-metric-value button{margin-top:9px;padding:7px 10px;border:1px solid rgba(82,166,218,.24);border-radius:6px;background:#0a2338;color:#7795aa;font-size:9px;cursor:not-allowed}

.rv-hub-profile-referral{margin-bottom:14px}
.rv-hub-profile-referral-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.rv-hub-profile-referral-head h3{margin:5px 0}.rv-hub-profile-referral-head p{margin:0;color:#7893aa;font-size:10px;line-height:1.5}
.rv-hub-profile-referral-count{text-align:center;min-width:74px}.rv-hub-profile-referral-count strong{display:block;color:#61cbff;font-size:26px}.rv-hub-profile-referral-count span{color:#809bb0;font-size:9px}
.rv-hub-profile-referral-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:15px}
.rv-hub-profile-referral-link input{min-width:0;height:40px;padding:0 11px;border:1px solid rgba(104,155,200,.2);border-radius:7px;background:#06111e;color:#b8d0e3;font-size:10px}
.rv-hub-profile-referral-link button{padding:0 15px;border:0;border-radius:7px;background:#0aa6ef;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
.rv-hub-profile-referral-code{display:block;margin-top:7px!important;color:#708aa2!important;font-weight:400!important;letter-spacing:0!important}

.rv-hub-profile-history{display:flex;justify-content:space-between;align-items:center;gap:20px}.rv-hub-profile-history h3{margin-bottom:5px}.rv-hub-profile-history p{margin:0;color:#7893aa;font-size:10px}.rv-hub-profile-history a{color:#5fc7ff;text-decoration:none;font-size:11px}

/* HUB V1 — pages personnelles */
.rv-hub-personal-list{min-height:calc(100vh - 96px);padding:32px 18px 52px;background:radial-gradient(circle at 72% 0%,rgba(10,128,205,.11),transparent 28%),#06111f;color:#edf6ff}
.rv-hub-personal-shell{width:min(1040px,100%);margin:0 auto}
.rv-hub-personal-back{display:inline-block;margin-bottom:14px;color:#73cfff;text-decoration:none;font-size:12px}
.rv-hub-personal-shell h1{margin:0;font-size:30px}.rv-hub-personal-shell>p{margin:7px 0 18px;color:#819bb2;font-size:12px}
.rv-hub-personal-items{display:flex;flex-direction:column;gap:9px}
.rv-hub-personal-items a{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border:1px solid rgba(104,155,200,.18);border-radius:9px;background:#091a2a;color:inherit;text-decoration:none}
.rv-hub-personal-items a:hover{border-color:rgba(53,183,246,.42)}
.rv-hub-personal-items span{color:#28baff;font-size:9px;font-weight:800;text-transform:uppercase}.rv-hub-personal-items strong{color:#eef7ff;font-size:14px}.rv-hub-personal-items small{color:#7893aa;font-size:9px}
.rv-hub-personal-empty{padding:38px 18px;border:1px dashed rgba(88,143,191,.22);border-radius:9px;color:#8099af;text-align:center;font-size:11px}

@media(max-width:760px){
    .rv-hub-profile-economy{grid-template-columns:1fr}
    .rv-hub-profile-metric,.rv-hub-profile-history,.rv-hub-profile-referral-head{align-items:flex-start;flex-direction:column}
    .rv-hub-profile-metric-value{text-align:left}
    .rv-hub-profile-referral-link{grid-template-columns:1fr}
    .rv-hub-profile-referral-link button{height:40px}
}


/* =========================================================
   HUB V1 — Mon profil en 3 colonnes
   ========================================================= */
.rv-hub-profile-layout{
    width:min(1660px,calc(100% - 30px));
    margin:0 auto;
    padding-top:40px;
    display:grid;
    grid-template-columns:240px minmax(0,1fr) 240px;
    gap:18px;
    align-items:start;
}

.rv-hub-profile-layout-center{
    min-width:0;
}

.rv-hub-profile-layout-center .rv-hub-profile-page{
    min-height:0;
    padding:0 0 52px;
    background:transparent;
}

.rv-hub-profile-layout-center .rv-hub-profile-shell{
    width:100%;
}

.rv-hub-profile-sidebar{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.rv-hub-profile-nav-card{
    overflow:hidden;
    padding:14px;
    border:1px solid rgba(104,155,200,.20);
    border-radius:9px;
    background:#091a2a;
}

.rv-hub-profile-nav-card h3{
    margin:0 0 11px;
    padding-bottom:9px;
    border-bottom:1px solid rgba(104,155,200,.14);
    color:#f0f7fd;
    font-size:13px;
}

.rv-hub-profile-nav-card > small{
    display:block;
    margin-bottom:8px;
    color:#6f96b4;
    font-size:9px;
    letter-spacing:.12em;
}

.rv-hub-profile-nav-card > a,
.rv-hub-profile-nav-card > span{
    display:block;
    padding:8px 3px;
    color:#91b5d1;
    text-decoration:none;
    font-size:11px;
    line-height:1.35;
}

.rv-hub-profile-nav-card > a:hover,
.rv-hub-profile-nav-card > a.is-active{
    color:#2dbdff;
}

.rv-hub-profile-side-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 2px;
    border-bottom:1px solid rgba(104,155,200,.10);
}

.rv-hub-profile-side-info span{
    color:#7893aa;
    font-size:10px;
}

.rv-hub-profile-side-info strong{
    color:#5ecbff;
    font-size:12px;
}

.rv-hub-profile-heading{
    margin-top:0;
}

.rv-hub-profile-heading > div > span{
    margin-top:0;
}

@media(max-width:1280px){
    .rv-hub-profile-layout{
        grid-template-columns:240px minmax(0,1fr);
    }
    .rv-hub-profile-sidebar--right{
        display:none;
    }
}

@media(max-width:920px){
    .rv-hub-profile-layout{
        display:block;
        width:min(1180px,calc(100% - 20px));
        padding-top:24px;
    }
    .rv-hub-profile-sidebar{
        display:none;
    }
}


/* =========================================================
   HUB V1 — Harmonisation visuelle générale
   Accueil : colonne gauche en carte arrondie
   Profil / Article : lisibilité renforcée
   ========================================================= */

/* ---------- Accueil du HUB : colonne gauche ---------- */
.rv-hub-dashboard{
    grid-template-columns:240px minmax(0,1fr) !important;
    gap:14px;
    padding:14px;
    align-items:start;
}

.rv-hub-sidebar{
    align-self:start;
    border:1px solid rgba(111,158,202,.18) !important;
    border-radius:10px !important;
    background:linear-gradient(135deg,rgba(16,35,56,.95),rgba(8,22,37,.96)) !important;
    padding:12px 10px 16px !important;
    overflow:hidden;
}

.rv-hub-dashboard-main{
    min-width:0;
}

/* La partie située avant la zone de recherche suit désormais
   la même largeur que la colonne gauche (240 px). */
.rv-hub-dashboard-topbar{
    grid-template-columns:240px minmax(300px,1fr) auto auto !important;
    border:1px solid rgba(111,158,202,.18);
    border-radius:10px;
    background:#07111e;
    margin-bottom:14px;
}

/* Typographie colonne gauche de l'accueil */
.rv-hub-sidebar a{
    min-height:39px;
    font-size:14px !important;
}
.rv-hub-side-section small{
    font-size:11px !important;
}

/* ---------- Profil : typographie harmonisée ---------- */
.rv-hub-profile-heading > div > span{
    font-size:11px !important;
}
.rv-hub-profile-heading h1{
    font-size:32px !important;
}
.rv-hub-profile-heading p{
    font-size:14px !important;
}

.rv-hub-profile-idcopy small{
    font-size:12px !important;
}
.rv-hub-profile-idcopy h2{
    font-size:22px !important;
}
.rv-hub-profile-idcopy p{
    font-size:12px !important;
}
.rv-hub-profile-access{
    font-size:12px !important;
}

.rv-hub-profile-card h3{
    font-size:17px !important;
}
.rv-hub-profile-line{
    font-size:13px !important;
}
.rv-hub-profile-stats a span{
    font-size:12px !important;
}
.rv-hub-profile-note{
    font-size:12px !important;
    line-height:1.55 !important;
}

.rv-hub-profile-metric small,
.rv-hub-profile-referral small{
    font-size:10px !important;
}
.rv-hub-profile-metric p,
.rv-hub-profile-referral-head p,
.rv-hub-profile-history p{
    font-size:12px !important;
    line-height:1.55 !important;
}
.rv-hub-profile-metric-value span,
.rv-hub-profile-referral-count span{
    font-size:11px !important;
}
.rv-hub-profile-metric-value button{
    font-size:11px !important;
}
.rv-hub-profile-referral-link input,
.rv-hub-profile-referral-link button{
    font-size:12px !important;
}
.rv-hub-profile-referral-code{
    font-size:11px !important;
}
.rv-hub-profile-history a{
    font-size:12px !important;
}

/* Colonnes latérales du profil */
.rv-hub-profile-nav-card h3{
    font-size:15px !important;
}
.rv-hub-profile-nav-card > small{
    font-size:10px !important;
}
.rv-hub-profile-nav-card > a,
.rv-hub-profile-nav-card > span{
    font-size:13px !important;
    line-height:1.45 !important;
}
.rv-hub-profile-side-info span{
    font-size:11px !important;
}
.rv-hub-profile-side-info strong{
    font-size:13px !important;
}

/* ---------- Article : typographie harmonisée ---------- */
.rv-hub-article-title{
    font-size:32px !important;
}
.rv-hub-article-meta,
.rv-hub-article-meta span,
.rv-hub-article-author small{
    font-size:12px !important;
}
.rv-hub-article-author strong{
    font-size:14px !important;
}

/* Corps de l'article : taille de lecture confortable */
.rv-hub-article-content,
.rv-hub-article-content p,
.rv-hub-article-objective,
.rv-hub-article-objective p{
    font-size:18px !important;
    line-height:1.72 !important;
}

/* Colonnes latérales de l'article */
.rv-hub-article-nav-card h3{
    font-size:15px !important;
}
.rv-hub-article-nav-card > a,
.rv-hub-article-nav-card > span{
    font-size:13px !important;
    line-height:1.45 !important;
}
.rv-hub-article-side-info span{
    font-size:11px !important;
}
.rv-hub-article-side-info strong{
    font-size:13px !important;
}
.rv-hub-article-side-tags a{
    font-size:11px !important;
}

/* Réponses : conserver la taille déjà validée */
.rv-hub-reply-body,
.rv-hub-reply-body p{
    font-size:18px !important;
    line-height:1.75 !important;
}

/* ---------- Autres pages du HUB : minimum de lisibilité ---------- */
.rv-hub-discussions-page,
.rv-hub-articles-page,
.rv-hub-categories-page,
.rv-hub-tags-page,
.rv-hub-personal-list{
    font-size:14px;
}

.rv-hub-discussion-main h2,
.rv-hub-article-tile-body h2,
.rv-hub-category-copy h2{
    font-size:18px !important;
}

.rv-hub-discussion-meta,
.rv-hub-discussion-author small,
.rv-hub-article-tile-meta,
.rv-hub-article-tile-footer small,
.rv-hub-article-tile-stats,
.rv-hub-category-copy p{
    font-size:11px !important;
}

@media(max-width:1200px){
    .rv-hub-dashboard{
        grid-template-columns:220px minmax(0,1fr) !important;
    }
    .rv-hub-dashboard-topbar{
        grid-template-columns:220px minmax(260px,1fr) auto auto !important;
    }
}

@media(max-width:920px){
    .rv-hub-dashboard{
        display:block;
        padding:10px;
    }
    .rv-hub-sidebar{
        display:none;
    }
    .rv-hub-dashboard-topbar{
        grid-template-columns:1fr !important;
        gap:10px;
    }
}


/* =========================================================
   HUB V1 — ACCUEIL FINAL VALIDÉ
   Maquette : topbar pleine largeur + 3 colonnes
   ========================================================= */

.rv-hub-dashboard{
    display:block !important;
    width:100%;
    min-height:calc(100vh - 96px);
    padding:14px 16px 36px !important;
    background:#06111f;
    color:#edf6ff;
}

/* Bandeau Hub + recherche sur toute la largeur */
.rv-hub-dashboard > .rv-hub-dashboard-topbar{
    width:100%;
    min-height:76px;
    margin:0 0 14px !important;
    padding:10px 16px !important;
    box-sizing:border-box;
    display:grid !important;
    grid-template-columns:240px minmax(360px,1fr) auto 220px !important;
    align-items:center;
    gap:14px;
    border:1px solid rgba(104,155,200,.20) !important;
    border-radius:10px !important;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99)) !important;
}

/* Les trois colonnes commencent exactement au même niveau */
.rv-hub-dashboard-body{
    width:100%;
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:14px;
    align-items:start;
}

/* Colonne gauche : plus de grand bloc unique */
.rv-hub-sidebar{
    width:240px !important;
    display:flex !important;
    flex-direction:column;
    gap:14px;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    overflow:visible !important;
}

.rv-hub-sidebar-card{
    display:block;
    padding:14px !important;
    margin:0 !important;
    border:1px solid rgba(104,155,200,.20) !important;
    border-radius:10px !important;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99)) !important;
    overflow:hidden;
}

.rv-hub-side-nav h2{
    margin:0 0 10px;
    padding:0 0 10px;
    border-bottom:1px solid rgba(104,155,200,.14);
    color:#f0f7fd;
    font-size:15px;
    line-height:1.2;
}

.rv-hub-side-section{
    border-top:0 !important;
}

.rv-hub-side-section small{
    display:block;
    margin:0 0 8px;
    color:#6f96b4 !important;
    font-size:10px !important;
    letter-spacing:.12em;
}

/* Taille de référence = colonnes de la page Profil */
.rv-hub-sidebar a,
.rv-hub-side-section a,
.rv-hub-article-nav-card > a,
.rv-hub-article-nav-card > span,
.rv-hub-profile-nav-card > a,
.rv-hub-profile-nav-card > span{
    min-height:0 !important;
    padding:8px 3px !important;
    font-size:13px !important;
    line-height:1.45 !important;
}

.rv-hub-sidebar a{
    border-radius:7px;
}

.rv-hub-sidebar a.is-active{
    background:#123958;
    color:#39c4ff;
}

/* Centre + colonne droite */
.rv-hub-dashboard-main{
    min-width:0;
    padding:0 !important;
    margin:0 !important;
}

.rv-hub-dashboard-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:14px !important;
    align-items:start !important;
}

/* La colonne droite reste composée de cartes indépendantes */
.rv-hub-dashboard-right{
    display:flex !important;
    flex-direction:column;
    gap:14px !important;
}

.rv-hub-dashboard-right > .rv-hub-panel{
    margin:0 !important;
    border:1px solid rgba(104,155,200,.20) !important;
    border-radius:10px !important;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99)) !important;
    overflow:hidden;
}

/* Taille de caractères des colonnes droites harmonisée */
.rv-hub-dashboard-right .rv-hub-panel-heading h2,
.rv-hub-article-nav-card h3,
.rv-hub-profile-nav-card h3{
    font-size:15px !important;
}

.rv-hub-dashboard-right .rv-hub-stat-row,
.rv-hub-dashboard-right .rv-hub-online-row,
.rv-hub-dashboard-right .rv-hub-tags-placeholder,
.rv-hub-dashboard-right .rv-hub-tags-placeholder a,
.rv-hub-dashboard-right .rv-hub-tags-all-link,
.rv-hub-dashboard-right .rv-hub-language-link{
    font-size:13px !important;
    line-height:1.45 !important;
}

/* Profil et Article : colonne gauche/droite = même référence typographique */
.rv-hub-profile-side-info span,
.rv-hub-article-side-info span{
    font-size:11px !important;
}
.rv-hub-profile-side-info strong,
.rv-hub-article-side-info strong{
    font-size:13px !important;
}

/* Responsive */
@media(max-width:1280px){
    .rv-hub-dashboard > .rv-hub-dashboard-topbar{
        grid-template-columns:220px minmax(280px,1fr) auto 200px !important;
    }
    .rv-hub-dashboard-body{
        grid-template-columns:220px minmax(0,1fr);
    }
    .rv-hub-sidebar{
        width:220px !important;
    }
    .rv-hub-dashboard-grid{
        grid-template-columns:minmax(0,1fr) 270px !important;
    }
}

@media(max-width:980px){
    .rv-hub-dashboard > .rv-hub-dashboard-topbar{
        grid-template-columns:1fr !important;
    }
    .rv-hub-dashboard-body{
        display:block;
    }
    .rv-hub-sidebar{
        display:none !important;
    }
    .rv-hub-dashboard-grid{
        grid-template-columns:1fr !important;
    }
    .rv-hub-dashboard-right{
        margin-top:14px;
    }
}


/* =========================================================
   HUB V1 — Luminosité harmonisée des colonnes gauches
   Même niveau de lisibilité que les colonnes droites
   ========================================================= */

/* Accueil du HUB */
.rv-hub-sidebar a,
.rv-hub-side-section a,
.rv-hub-side-nav a,
.rv-hub-sidebar-card a,
.rv-hub-sidebar-card span{
    color:#d7e9f7 !important;
}

.rv-hub-sidebar a:hover,
.rv-hub-side-section a:hover,
.rv-hub-side-nav a:hover,
.rv-hub-sidebar-card a:hover{
    color:#55caff !important;
}

.rv-hub-sidebar a.is-active,
.rv-hub-side-nav a.is-active{
    color:#7ed8ff !important;
}

/* Titres/sections de la colonne gauche */
.rv-hub-side-nav h2,
.rv-hub-sidebar-card h2{
    color:#ffffff !important;
}

.rv-hub-side-section small,
.rv-hub-sidebar-card > small{
    color:#8fb9d8 !important;
}

/* Page Profil — colonne gauche */
.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > a,
.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > span{
    color:#d7e9f7 !important;
}

.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > a:hover,
.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > a.is-active{
    color:#55caff !important;
}

.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card h3{
    color:#ffffff !important;
}

.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > small{
    color:#8fb9d8 !important;
}

/* Page Article — colonne gauche */
.rv-hub-article-sidebar--left .rv-hub-article-nav-card > a,
.rv-hub-article-sidebar--left .rv-hub-article-nav-card > span{
    color:#d7e9f7 !important;
}

.rv-hub-article-sidebar--left .rv-hub-article-nav-card > a:hover{
    color:#55caff !important;
}

.rv-hub-article-sidebar--left .rv-hub-article-nav-card h3{
    color:#ffffff !important;
}

/* Harmonisation du contraste des icônes de navigation à gauche */
.rv-hub-sidebar a span,
.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > a::before,
.rv-hub-article-sidebar--left .rv-hub-article-nav-card > a::before{
    color:inherit !important;
}


/* =========================================================
   HUB V1 — Accueil : positions et dimensions validées
   Référence commune : colonnes latérales 240 px
   ========================================================= */

/* Colonne gauche = 240 px, comme Profil / Article */
.rv-hub-dashboard-body{
    grid-template-columns:240px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:start !important;
}

.rv-hub-sidebar{
    width:240px !important;
    margin-top:0 !important;
}

/* IMPORTANT :
   suppression du padding historique de 14 px qui décalait
   le centre et la droite et doublait l'écartement gauche/centre. */
.rv-hub-dashboard-grid{
    grid-template-columns:minmax(0,1fr) 240px !important;
    gap:14px !important;
    padding:0 !important;
    margin:0 !important;
    align-items:start !important;
}

/* Les trois colonnes démarrent désormais exactement au même niveau */
.rv-hub-dashboard-center,
.rv-hub-dashboard-right{
    margin-top:0 !important;
    padding-top:0 !important;
}

/* Bandeau supérieur : mêmes limites gauche/droite que le bloc 3 colonnes */
.rv-hub-dashboard > .rv-hub-dashboard-topbar{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

/* Colonne droite = même largeur que la gauche */
.rv-hub-dashboard-right{
    width:240px !important;
}

/* Les cartes latérales remplissent leur colonne sans débordement */
.rv-hub-sidebar-card,
.rv-hub-dashboard-right > .rv-hub-panel{
    width:100% !important;
    box-sizing:border-box !important;
}

@media(max-width:1280px){
    .rv-hub-dashboard-body{
        grid-template-columns:220px minmax(0,1fr) !important;
    }
    .rv-hub-sidebar{
        width:220px !important;
    }
    .rv-hub-dashboard-grid{
        grid-template-columns:minmax(0,1fr) 220px !important;
    }
    .rv-hub-dashboard-right{
        width:220px !important;
    }
}


/* =========================================================
   HUB V1 — Titres des cartes latérales gauches
   Même traitement que la colonne droite : blanc + séparateur
   ========================================================= */

/* Accueil du HUB */
.rv-hub-side-nav h2,
.rv-hub-sidebar-card > h2,
.rv-hub-sidebar-card > small,
.rv-hub-side-section > small{
    display:block !important;
    margin:0 0 10px !important;
    padding:0 0 10px !important;
    border-bottom:1px solid rgba(111,158,202,.28) !important;
    color:#ffffff !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* Les intitulés MESSAGERIE / MON ESPACE / LIENS RAPIDES
   deviennent de vrais titres visuels, comme à droite. */
.rv-hub-side-section > small{
    font-family:inherit !important;
}

/* Page Profil */
.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > h3,
.rv-hub-profile-sidebar--left .rv-hub-profile-nav-card > small{
    display:block !important;
    margin:0 0 10px !important;
    padding:0 0 10px !important;
    border-bottom:1px solid rgba(111,158,202,.28) !important;
    color:#ffffff !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* Page Article */
.rv-hub-article-sidebar--left .rv-hub-article-nav-card > h3,
.rv-hub-article-sidebar--left .rv-hub-article-nav-card > small{
    display:block !important;
    margin:0 0 10px !important;
    padding:0 0 10px !important;
    border-bottom:1px solid rgba(111,158,202,.28) !important;
    color:#ffffff !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}


/* =========================================================
   HUB V1 — PROFIL : bandeau supérieur harmonisé
   ========================================================= */
.rv-hub-profile-page-wrap{
    width:100%;
    min-height:calc(100vh - 96px);
    padding:14px 16px 36px;
    box-sizing:border-box;
    background:#06111f;
    color:#edf6ff;
}
.rv-hub-profile-topbar{
    width:min(1660px,calc(100% - 30px));
    min-height:76px;
    margin:0 auto 14px;
    padding:12px 18px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    border:1px solid rgba(104,155,200,.20);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
}
.rv-hub-profile-topbar-copy{min-width:0}
.rv-hub-profile-topbar-copy>span{
    display:block;margin-bottom:4px;color:#22bbff;font-size:10px;font-weight:800;letter-spacing:.14em
}
.rv-hub-profile-topbar-copy h1{
    margin:0;color:#fff;font-size:24px;line-height:1.15
}
.rv-hub-profile-topbar-copy p{
    margin:5px 0 0;color:#9db6ca;font-size:13px;line-height:1.45
}
.rv-hub-profile-topbar-member{
    display:flex;align-items:center;gap:10px;flex:0 0 auto
}
.rv-hub-profile-topbar-avatar{
    width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
    background:#0c83bc;color:#fff;font-size:11px;font-weight:800
}
.rv-hub-profile-topbar-member strong{display:block;color:#fff;font-size:12px}
.rv-hub-profile-topbar-member small{display:block;margin-top:3px;color:#809bb0;font-size:10px}

.rv-hub-profile-layout{
    width:min(1660px,calc(100% - 30px)) !important;
    margin:0 auto !important;
    padding-top:0 !important;
    grid-template-columns:240px minmax(0,1fr) 240px !important;
    gap:18px !important;
    align-items:start !important;
}
.rv-hub-profile-heading{display:none !important}

@media(max-width:1280px){
    .rv-hub-profile-layout{grid-template-columns:220px minmax(0,1fr) !important}
}
@media(max-width:920px){
    .rv-hub-profile-page-wrap{padding:12px 10px 28px}
    .rv-hub-profile-topbar{
        width:100%;min-height:0;align-items:flex-start;flex-direction:column
    }
    .rv-hub-profile-layout{width:100% !important;display:block !important}
}


/* =========================================================
   HUB V1 — PROFIL : pleine largeur + typographie colonne droite
   Référence visuelle : page d'accueil validée
   ========================================================= */

/* Le bandeau et les 3 colonnes utilisent désormais toute la largeur disponible */
.rv-hub-profile-topbar,
.rv-hub-profile-layout{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

/* Même logique de largeur que l'accueil */
.rv-hub-profile-page-wrap{
    padding-left:16px !important;
    padding-right:16px !important;
}

/* Colonnes latérales identiques à l'accueil */
.rv-hub-profile-layout{
    grid-template-columns:240px minmax(0,1fr) 240px !important;
    gap:14px !important;
}

/* Colonne droite : même taille de texte que la colonne gauche */
.rv-hub-profile-sidebar--right .rv-hub-profile-nav-card h3{
    font-size:15px !important;
    color:#ffffff !important;
}

.rv-hub-profile-sidebar--right .rv-hub-profile-nav-card > a,
.rv-hub-profile-sidebar--right .rv-hub-profile-nav-card > span{
    padding:8px 3px !important;
    font-size:13px !important;
    line-height:1.45 !important;
    color:#d7e9f7 !important;
}

.rv-hub-profile-sidebar--right .rv-hub-profile-nav-card > a:hover{
    color:#55caff !important;
}

/* Les libellés "Articles / Réponses / Réputation / Points..." 
   étaient plus petits : ils passent à la même taille de lecture. */
.rv-hub-profile-sidebar--right .rv-hub-profile-side-info span{
    font-size:13px !important;
    line-height:1.45 !important;
    color:#d7e9f7 !important;
}

.rv-hub-profile-sidebar--right .rv-hub-profile-side-info strong{
    font-size:13px !important;
    line-height:1.45 !important;
    color:#5ecbff !important;
}

/* Séparateurs cohérents dans les cartes de droite */
.rv-hub-profile-sidebar--right .rv-hub-profile-nav-card h3{
    margin:0 0 10px !important;
    padding:0 0 10px !important;
    border-bottom:1px solid rgba(111,158,202,.28) !important;
}

@media(max-width:1280px){
    .rv-hub-profile-layout{
        grid-template-columns:220px minmax(0,1fr) !important;
    }
}

@media(max-width:920px){
    .rv-hub-profile-page-wrap{
        padding-left:10px !important;
        padding-right:10px !important;
    }
}


/* =========================================================
   HUB V1 — Identité publique : nom + avatar
   ========================================================= */
.rv-hub-user-avatar,
.rv-hub-profile-avatar,
.rv-hub-profile-topbar-avatar{
    overflow:hidden;
}

.rv-hub-user-avatar img,
.rv-hub-profile-avatar img,
.rv-hub-profile-topbar-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.rv-hub-profile-public-edit{
    margin-bottom:14px;
}

.rv-hub-profile-public-edit-head small{
    display:block;
    margin-bottom:5px;
    color:#22bbff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
}

.rv-hub-profile-public-edit-head h3{
    margin:0 0 5px;
    color:#fff;
    font-size:17px;
}

.rv-hub-profile-public-edit-head p{
    margin:0;
    color:#7893aa;
    font-size:12px;
    line-height:1.55;
}

.rv-hub-profile-public-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:12px;
    align-items:end;
    margin-top:16px;
}

.rv-hub-profile-public-form label{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.rv-hub-profile-public-form label > span{
    color:#d7e9f7;
    font-size:12px;
    font-weight:700;
}

.rv-hub-profile-public-form input[type="text"],
.rv-hub-profile-public-form input[type="file"]{
    width:100%;
    min-height:42px;
    box-sizing:border-box;
    padding:10px 12px;
    border:1px solid rgba(104,155,200,.24);
    border-radius:7px;
    background:#06111e;
    color:#eaf5fd;
    font:inherit;
    font-size:12px;
}

.rv-hub-profile-public-form label small{
    color:#7893aa;
    font-size:10px;
}

.rv-hub-profile-public-form > button{
    min-height:42px;
    padding:0 16px;
    border:0;
    border-radius:7px;
    background:#0aa6ef;
    color:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.rv-hub-profile-remove-avatar{
    grid-column:1 / -1;
    flex-direction:row !important;
    align-items:center;
    gap:8px !important;
}

.rv-hub-profile-remove-avatar input{
    accent-color:#0aa6ef;
}

.rv-hub-profile-save-message{
    margin-top:14px;
    padding:10px 12px;
    border-radius:7px;
    font-size:12px;
}

.rv-hub-profile-save-message.is-success{
    border:1px solid rgba(52,211,153,.35);
    background:rgba(52,211,153,.08);
    color:#9ff1cf;
}

.rv-hub-profile-save-message.is-error{
    border:1px solid rgba(248,113,113,.35);
    background:rgba(248,113,113,.08);
    color:#ffb5b5;
}

@media(max-width:900px){
    .rv-hub-profile-public-form{
        grid-template-columns:1fr;
    }
}


/* HUB V1 — Profil : alignement Nom / pseudonyme et Avatar */
.rv-hub-profile-public-form > label:not(.rv-hub-profile-remove-avatar){
    align-self:start;
}


/* =========================================================
   HUB V1 — Conversations privées — Point 1
   ========================================================= */
.rv-hub-private-page{
    min-height:calc(100vh - 96px);
    padding:14px 16px 40px;
    box-sizing:border-box;
    background:#06111f;
    color:#edf6ff;
}
.rv-hub-private-topbar{
    width:100%;
    min-height:76px;
    margin:0 0 14px;
    padding:12px 18px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border:1px solid rgba(104,155,200,.20);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
}
.rv-hub-private-topbar>div:first-child>span{
    display:block;margin-bottom:4px;color:#22bbff;font-size:10px;font-weight:800;letter-spacing:.14em
}
.rv-hub-private-topbar h1{margin:0;color:#fff;font-size:24px}
.rv-hub-private-topbar p{margin:5px 0 0;color:#9db6ca;font-size:13px}
.rv-hub-private-topbar-member{display:flex;align-items:center;gap:10px}
.rv-hub-private-topbar-member strong{display:block;font-size:12px;color:#fff}
.rv-hub-private-topbar-member small{display:block;margin-top:3px;color:#809bb0;font-size:10px}

.rv-hub-private-layout{
    display:grid;
    grid-template-columns:240px minmax(0,1fr) 240px;
    gap:14px;
    align-items:start;
}
.rv-hub-private-sidebar{display:flex;flex-direction:column;gap:14px}
.rv-hub-private-sidebar .rv-hub-profile-nav-card>small,
.rv-hub-private-sidebar .rv-hub-profile-nav-card>h3{
    display:block!important;margin:0 0 10px!important;padding:0 0 10px!important;
    border-bottom:1px solid rgba(111,158,202,.28)!important;color:#fff!important;
    font-size:15px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important
}
.rv-hub-private-sidebar .rv-hub-profile-nav-card>a,
.rv-hub-private-sidebar .rv-hub-profile-nav-card>span{
    padding:8px 3px!important;color:#d7e9f7!important;font-size:13px!important;line-height:1.45!important;text-decoration:none
}
.rv-hub-private-sidebar .rv-hub-profile-nav-card>a:hover,
.rv-hub-private-sidebar .rv-hub-profile-nav-card>a.is-active{color:#55caff!important}

.rv-hub-private-center{min-width:0}
.rv-hub-private-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.rv-hub-private-summary article{
    padding:16px;border:1px solid rgba(104,155,200,.18);border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));text-align:center
}
.rv-hub-private-summary strong{display:block;color:#59caff;font-size:27px}
.rv-hub-private-summary span{color:#8ea8bb;font-size:12px}

.rv-hub-private-panel{
    border:1px solid rgba(104,155,200,.18);border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));overflow:hidden
}
.rv-hub-private-panel-head{
    display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;
    border-bottom:1px solid rgba(104,155,200,.14)
}
.rv-hub-private-panel-head h2{margin:0;color:#fff;font-size:17px}
.rv-hub-private-panel-head p{margin:5px 0 0;color:#819bb2;font-size:12px}
.rv-hub-private-panel-head button{
    min-height:38px;padding:0 14px;border:1px solid rgba(93,160,207,.28);border-radius:7px;
    background:#0a2338;color:#718ea4;font-size:11px;cursor:not-allowed
}
.rv-hub-private-empty{
    min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
    color:#7c98ad;text-align:center
}
.rv-hub-private-empty strong{color:#dceaf5;font-size:14px}
.rv-hub-private-empty span{font-size:12px}
.rv-hub-private-list{display:flex;flex-direction:column}
.rv-hub-private-row{
    display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:12px;align-items:center;
    padding:14px 18px;border-bottom:1px solid rgba(104,155,200,.10)
}
.rv-hub-private-row:last-child{border-bottom:0}
.rv-hub-private-row-main{display:flex;flex-direction:column;gap:3px}
.rv-hub-private-row-main strong{font-size:13px;color:#fff}
.rv-hub-private-row-main small{font-size:11px;color:#7893aa}
.rv-hub-private-expiry{display:flex;flex-direction:column;gap:3px;text-align:right}
.rv-hub-private-expiry span{font-size:9px;color:#718ba3;text-transform:uppercase}
.rv-hub-private-expiry strong{font-size:11px;color:#dce9f4}
.rv-hub-private-status{padding:5px 8px;border-radius:999px;font-size:9px}
.rv-hub-private-status.is-active{background:rgba(52,211,153,.10);color:#8aebc2}
.rv-hub-private-status.is-expiring{background:rgba(245,158,11,.10);color:#f4c36b}
.rv-hub-private-status.is-expired{background:rgba(248,113,113,.10);color:#ff9e9e}

.rv-hub-private-rule{padding:10px 0;border-bottom:1px solid rgba(104,155,200,.10)}
.rv-hub-private-rule:last-child{border-bottom:0}
.rv-hub-private-rule strong{display:block;color:#d7e9f7;font-size:13px}
.rv-hub-private-rule span,.rv-hub-private-note{display:block;margin-top:4px;color:#819bb2;font-size:12px;line-height:1.5}
.rv-hub-private-renew-placeholder{
    width:100%;min-height:38px;margin-top:12px;border:1px solid rgba(93,160,207,.24);border-radius:7px;
    background:#0a2338;color:#718ea4;font-size:11px;cursor:not-allowed
}

@media(max-width:1280px){
    .rv-hub-private-layout{grid-template-columns:220px minmax(0,1fr)}
    .rv-hub-private-layout>.rv-hub-private-sidebar:last-child{display:none}
}
@media(max-width:920px){
    .rv-hub-private-layout{display:block}
    .rv-hub-private-sidebar{display:none}
    .rv-hub-private-topbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
    .rv-hub-private-summary{grid-template-columns:1fr}
    .rv-hub-private-panel-head{align-items:flex-start;flex-direction:column}
    .rv-hub-private-row{grid-template-columns:38px minmax(0,1fr)}
    .rv-hub-private-expiry,.rv-hub-private-status{grid-column:2}
    .rv-hub-private-expiry{text-align:left}
}


/* =========================================================
   HUB V1 — Conversations privées — Point 2
   ========================================================= */
.rv-hub-private-open-button{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    padding:0 14px;
    border:1px solid rgba(46,190,255,.38);
    border-radius:7px;
    background:#0a78ad;
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}
.rv-hub-private-open-button:hover{background:#0b8bc7}

.rv-hub-private-open-page{
    min-height:calc(100vh - 96px);
    padding:14px 16px 42px;
    box-sizing:border-box;
    background:#06111f;
    color:#edf6ff;
}
.rv-hub-private-open-shell{
    width:min(1180px,100%);
    margin:0 auto;
}
.rv-hub-private-back{
    display:inline-block;
    margin:5px 0 14px;
    color:#67caff;
    text-decoration:none;
    font-size:12px;
}
.rv-hub-private-open-card{
    overflow:hidden;
    border:1px solid rgba(104,155,200,.20);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));
}
.rv-hub-private-open-intro,
.rv-hub-private-conversation-title{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    border-bottom:1px solid rgba(104,155,200,.14);
}
.rv-hub-private-open-intro>div:first-child,
.rv-hub-private-conversation-title>div:first-child{margin-right:auto}
.rv-hub-private-open-intro h2,
.rv-hub-private-conversation-title h1{margin:0;color:#fff;font-size:18px}
.rv-hub-private-conversation-title>div:first-child>span{
    display:block;margin-bottom:5px;color:#22bbff;font-size:9px;font-weight:800;letter-spacing:.12em
}
.rv-hub-private-conversation-title p{margin:5px 0 0;color:#8aa4b8;font-size:12px}

.rv-hub-private-price{
    min-width:125px;
    padding:10px 12px;
    border:1px solid rgba(104,155,200,.16);
    border-radius:8px;
    background:#071a2a;
}
.rv-hub-private-price span{
    display:block;margin-bottom:4px;color:#7893aa;font-size:9px;text-transform:uppercase
}
.rv-hub-private-price strong{color:#eaf5fd;font-size:12px}

.rv-hub-private-open-error{
    margin:16px 18px 0;
    padding:10px 12px;
    border:1px solid rgba(248,113,113,.35);
    border-radius:7px;
    background:rgba(248,113,113,.08);
    color:#ffb5b5;
    font-size:12px;
}

.rv-hub-private-open-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding:18px;
}
.rv-hub-private-open-form label{display:flex;flex-direction:column;gap:7px}
.rv-hub-private-open-form label>span{color:#d7e9f7;font-size:12px;font-weight:700}
.rv-hub-private-open-form label small{color:#7f9aaf;font-size:10px}
.rv-hub-private-open-form select,
.rv-hub-private-open-form input{
    width:100%;
    min-height:42px;
    box-sizing:border-box;
    padding:9px 11px;
    border:1px solid rgba(104,155,200,.24);
    border-radius:7px;
    background:#06111e;
    color:#eaf5fd;
    font:inherit;
    font-size:12px;
}
.rv-hub-private-open-confirm{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:4px;
    padding-top:16px;
    border-top:1px solid rgba(104,155,200,.12);
}
.rv-hub-private-open-confirm p{margin:0;color:#8aa4b8;font-size:12px;line-height:1.5}
.rv-hub-private-open-confirm button{
    min-height:42px;
    padding:0 16px;
    border:0;
    border-radius:7px;
    background:#0aa6ef;
    color:#fff;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}
@media(max-width:720px){
    .rv-hub-private-open-form{grid-template-columns:1fr}
    .rv-hub-private-open-intro,.rv-hub-private-conversation-title,.rv-hub-private-open-confirm{
        align-items:flex-start;flex-direction:column
    }
}


/* HUB V1 — Conversations privées : sélection groupe et ressources */
.rv-hub-private-open-intro>div:first-child p{margin:5px 0 0;color:#819bb2;font-size:12px;line-height:1.5}
.rv-hub-private-group-form{padding:18px}
.rv-hub-private-member-picker{margin-bottom:16px}
.rv-hub-private-member-picker-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.rv-hub-private-member-picker-head h3{margin:0;color:#fff;font-size:15px}
.rv-hub-private-member-picker-head p{margin:4px 0 0;color:#819bb2;font-size:11px}
.rv-hub-private-member-picker-head>strong{padding:6px 10px;border:1px solid rgba(66,176,235,.25);border-radius:999px;background:#082237;color:#5ecbff;font-size:11px}
#rv-private-member-search{width:100%;height:42px;box-sizing:border-box;padding:0 12px;border:1px solid rgba(104,155,200,.24);border-radius:7px;background:#06111e;color:#eaf5fd;font-size:12px}
.rv-hub-private-member-results{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.rv-hub-private-member-result{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(104,155,200,.15);border-radius:8px;background:#081c2d;color:inherit;text-align:left;cursor:pointer}
.rv-hub-private-member-result:hover{border-color:rgba(53,183,246,.40)}
.rv-hub-private-member-result.is-selected{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.06)}
.rv-hub-private-member-result:disabled{opacity:.55;cursor:not-allowed}
.rv-hub-private-member-result-copy{display:flex;flex-direction:column;gap:3px}
.rv-hub-private-member-result-copy strong{color:#fff;font-size:12px}
.rv-hub-private-member-result-copy small{color:#7893aa;font-size:10px}
.rv-hub-private-member-result-action{color:#59caff;font-size:10px;font-weight:700}
.rv-hub-private-member-noresult{padding:12px;border:1px dashed rgba(104,155,200,.18);border-radius:7px;color:#819bb2;font-size:11px;text-align:center}
.rv-hub-private-selected-wrap{margin-top:16px}
.rv-hub-private-selected-wrap h4{margin:0 0 9px;color:#d7e9f7;font-size:12px}
.rv-hub-private-selected-members{display:flex;flex-wrap:wrap;gap:8px}
.rv-hub-private-selected-member{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:210px;padding:8px 9px;border:1px solid rgba(104,155,200,.16);border-radius:8px;background:#071a2a}
.rv-hub-private-selected-member.is-initiator{border-color:rgba(53,183,246,.26)}
.rv-hub-private-selected-member>div{display:flex;flex-direction:column;gap:2px}
.rv-hub-private-selected-member strong{color:#fff;font-size:11px}
.rv-hub-private-selected-member small{color:#7893aa;font-size:9px}
.rv-hub-private-selected-member>button{border:0;background:transparent;color:#8aa4b8;font-size:18px;cursor:pointer}
.rv-hub-private-selected-member>button:hover{color:#ff9e9e}
.rv-hub-private-subject-field{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.rv-hub-private-subject-field>span{color:#d7e9f7;font-size:12px;font-weight:700}
.rv-hub-private-subject-field input{width:100%;height:42px;box-sizing:border-box;padding:0 11px;border:1px solid rgba(104,155,200,.24);border-radius:7px;background:#06111e;color:#eaf5fd;font-size:12px}
.rv-hub-private-group-form .rv-hub-private-open-confirm{margin-top:16px}

.rv-hub-private-conversation-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.rv-hub-private-thread-card{min-height:520px;border:1px solid rgba(104,155,200,.18);border-radius:10px;background:linear-gradient(145deg,rgba(14,33,52,.98),rgba(7,20,34,.99));overflow:hidden}
.rv-hub-private-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(104,155,200,.14)}
.rv-hub-private-thread-head h2{margin:0;color:#fff;font-size:16px}
.rv-hub-private-conversation-side{display:flex;flex-direction:column;gap:14px}
.rv-hub-private-participant-list{display:flex;flex-direction:column;gap:9px}
.rv-hub-private-participant{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;padding-bottom:9px;border-bottom:1px solid rgba(104,155,200,.10)}
.rv-hub-private-participant:last-child{padding-bottom:0;border-bottom:0}
.rv-hub-private-participant>div{display:flex;flex-direction:column;gap:2px}
.rv-hub-private-participant strong{color:#d7e9f7;font-size:11px}
.rv-hub-private-participant small{color:#7893aa;font-size:9px}
.rv-hub-private-resources-card p{margin:0;color:#819bb2;font-size:11px;line-height:1.5}
.rv-hub-private-resource-types{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.rv-hub-private-resource-types span{padding:5px 7px;border:1px solid rgba(66,176,235,.20);border-radius:999px;background:#082237;color:#75cfff;font-size:9px}
.rv-hub-private-resource-empty{margin-top:12px;padding:15px 10px;border:1px dashed rgba(104,155,200,.17);border-radius:7px;color:#7893aa;font-size:10px;text-align:center}
@media(max-width:1080px){.rv-hub-private-conversation-layout{grid-template-columns:1fr}}


/* =========================================================
   HUB V1 — Conversations privées — Point 3 : structure du fil
   ========================================================= */

.rv-hub-private-conversation-page-layout{
    grid-template-columns:240px minmax(0,1fr) 300px !important;
}

.rv-hub-private-thread-head>div:first-child{
    min-width:0;
}

.rv-hub-private-thread-head p{
    margin:5px 0 0;
    color:#819bb2;
    font-size:11px;
    line-height:1.45;
}

.rv-hub-private-thread-empty{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:24px;
    text-align:center;
}

.rv-hub-private-thread-empty strong{
    color:#eaf5fd;
    font-size:14px;
}

.rv-hub-private-thread-empty span{
    color:#7f99ae;
    font-size:11px;
}

.rv-hub-private-composer{
    padding:14px;
    border-top:1px solid rgba(104,155,200,.14);
    background:#081827;
}

.rv-hub-private-composer-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:9px;
}

.rv-hub-private-composer-toolbar button{
    min-height:30px;
    padding:0 9px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:6px;
    background:#0a2236;
    color:#6f8ca2;
    font-size:10px;
    cursor:not-allowed;
}

.rv-hub-private-composer textarea{
    width:100%;
    min-height:115px;
    box-sizing:border-box;
    resize:vertical;
    padding:12px;
    border:1px solid rgba(104,155,200,.18);
    border-radius:8px;
    background:#06111e;
    color:#8da5b7;
    font:inherit;
    font-size:12px;
}

.rv-hub-private-composer-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:9px;
}

.rv-hub-private-composer-footer span{
    color:#7893aa;
    font-size:10px;
    line-height:1.45;
}

.rv-hub-private-composer-footer button{
    min-width:100px;
    min-height:36px;
    border:0;
    border-radius:7px;
    background:#0a4261;
    color:#718da2;
    font-size:11px;
    font-weight:800;
    cursor:not-allowed;
}

.rv-hub-private-card-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(111,158,202,.28);
}

.rv-hub-private-card-title-row h3{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

.rv-hub-private-card-title-row>strong{
    min-width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#08243a;
    color:#59caff;
    font-size:10px;
}

.rv-hub-private-side-line{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:9px 0;
    border-bottom:1px solid rgba(104,155,200,.10);
}

.rv-hub-private-side-line span{
    color:#8aa2b5;
    font-size:10px;
}

.rv-hub-private-side-line strong{
    color:#e4eff7;
    font-size:10px;
    text-align:right;
}

@media(max-width:1280px){
    .rv-hub-private-conversation-page-layout{
        grid-template-columns:220px minmax(0,1fr) !important;
    }

    .rv-hub-private-conversation-page-layout>.rv-hub-private-sidebar:last-child{
        display:none;
    }
}

@media(max-width:920px){
    .rv-hub-private-conversation-page-layout{
        display:block !important;
    }

    .rv-hub-private-composer-footer{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* HUB V1 — Aperçu administrateur conversation privée */
.rv-hub-private-preview-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin-top:16px;
    padding:0 14px;
    border:1px solid rgba(53,183,246,.34);
    border-radius:7px;
    background:#0a78ad;
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}
.rv-hub-private-preview-button:hover{background:#0b8bc7}

.rv-hub-private-preview-banner{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
    padding:10px 14px;
    border:1px solid rgba(245,158,11,.28);
    border-radius:9px;
    background:rgba(245,158,11,.07);
}
.rv-hub-private-preview-banner strong{color:#ffd37a;font-size:11px}
.rv-hub-private-preview-banner span{color:#b8a67c;font-size:10px;flex:1}
.rv-hub-private-preview-banner a{color:#5ecbff;font-size:10px;text-decoration:none}

.rv-hub-private-preview-messages{
    min-height:300px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.rv-hub-private-preview-message{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    max-width:78%;
    padding:12px;
    border:1px solid rgba(104,155,200,.16);
    border-radius:9px;
    background:#081c2d;
}
.rv-hub-private-preview-message.is-other{
    margin-left:auto;
    background:#0a2235;
}
.rv-hub-private-preview-message header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.rv-hub-private-preview-message header strong{color:#fff;font-size:11px}
.rv-hub-private-preview-message header small{color:#6f8ba1;font-size:9px}
.rv-hub-private-preview-message p{
    margin:7px 0 0;
    color:#c7d9e6;
    font-size:12px;
    line-height:1.55;
}
.rv-hub-private-participant.is-preview{opacity:.86}

.rv-hub-private-preview-resources{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:12px;
}
.rv-hub-private-preview-resources>div{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:6px 8px;
    padding:8px;
    border:1px solid rgba(104,155,200,.13);
    border-radius:7px;
    background:#071a2a;
}
.rv-hub-private-preview-resources>div>span{
    grid-row:1/3;
    align-self:center;
    font-size:14px;
}
.rv-hub-private-preview-resources strong{color:#d7e9f7;font-size:10px}
.rv-hub-private-preview-resources small{color:#7893aa;font-size:8px}

@media(max-width:760px){
    .rv-hub-private-preview-banner{
        align-items:flex-start;
        flex-direction:column;
    }
    .rv-hub-private-preview-message{
        max-width:100%;
    }
}


/* HUB V1 — Conversations privées : messages réels */
.rv-hub-private-message-list{min-height:300px;padding:18px;display:flex;flex-direction:column;gap:12px}
.rv-hub-private-message{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;max-width:78%;padding:12px;border:1px solid rgba(104,155,200,.16);border-radius:9px;background:#081c2d}
.rv-hub-private-message.is-own{margin-left:auto;background:#0a2235;border-color:rgba(53,183,246,.24)}
.rv-hub-private-message header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-hub-private-message header strong{color:#fff;font-size:11px}
.rv-hub-private-message header small{color:#6f8ba1;font-size:9px}
.rv-hub-private-message p{margin:7px 0 0;color:#d2e2ed;font-size:13px;line-height:1.62;overflow-wrap:anywhere}
.rv-hub-private-message-error{margin:14px 18px 0;padding:10px 12px;border:1px solid rgba(248,113,113,.35);border-radius:7px;background:rgba(248,113,113,.08);color:#ffb5b5;font-size:11px}
.rv-hub-private-message-form textarea{width:100%;min-height:115px;box-sizing:border-box;resize:vertical;padding:12px;border:1px solid rgba(104,155,200,.24);border-radius:8px;background:#06111e;color:#e6f1f8;font:inherit;font-size:13px;line-height:1.55}
.rv-hub-private-message-form .rv-hub-private-composer-footer button{background:#0aa6ef;color:#fff;cursor:pointer}
.rv-hub-private-message-form .rv-hub-private-composer-footer button:hover{background:#11b4ff}
@media(max-width:760px){.rv-hub-private-message{max-width:100%}}


/* HUB V1 — Conversations privées : liens, images, PDF */
.rv-hub-private-composer-toolbar button:not(:disabled){
    cursor:pointer;
    color:#9ec8e2;
}
.rv-hub-private-composer-toolbar button:not(:disabled):hover,
.rv-hub-private-composer-toolbar button.is-active{
    color:#fff;
    border-color:rgba(53,183,246,.42);
    background:#0b3049;
}

.rv-hub-private-resource-panels{
    margin-bottom:10px;
}
.rv-hub-private-resource-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:10px;
    border:1px solid rgba(53,183,246,.20);
    border-radius:8px;
    background:#071a2a;
}
.rv-hub-private-resource-panel[hidden]{display:none !important}
.rv-hub-private-resource-panel input{
    min-height:38px;
    box-sizing:border-box;
    padding:8px 10px;
    border:1px solid rgba(104,155,200,.22);
    border-radius:6px;
    background:#06111e;
    color:#e8f3fa;
    font-size:11px;
}
.rv-hub-private-resource-panel button{
    min-height:38px;
    padding:0 12px;
    border:0;
    border-radius:6px;
    background:#0aa6ef;
    color:#fff;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}
.rv-hub-private-resource-panel small{
    grid-column:1/-1;
    color:#7893aa;
    font-size:9px;
}
.rv-hub-private-resource-error{
    margin-bottom:10px;
    padding:8px 9px;
    border:1px solid rgba(248,113,113,.32);
    border-radius:6px;
    background:rgba(248,113,113,.07);
    color:#ffb5b5;
    font-size:9px;
}

/* Défilement interne de la carte Documents & liens */
.rv-hub-private-resource-scroll{
    max-height:310px;
    margin-top:12px;
    padding-right:4px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
}
.rv-hub-private-resource-item{
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    gap:7px;
    align-items:center;
    padding:9px 7px;
    border-bottom:1px solid rgba(104,155,200,.10);
    color:inherit;
    text-decoration:none;
}
.rv-hub-private-resource-item:last-child{border-bottom:0}
.rv-hub-private-resource-item:hover{
    background:rgba(53,183,246,.05);
}
.rv-hub-private-resource-item>span{
    font-size:14px;
    text-align:center;
}
.rv-hub-private-resource-item>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.rv-hub-private-resource-item strong{
    color:#dcebf5;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rv-hub-private-resource-item small{
    color:#7893aa;
    font-size:8px;
}

@media(max-width:760px){
    .rv-hub-private-resource-panel{
        grid-template-columns:1fr;
    }
}


/* HUB V1 — Aperçu admin : test interactif des ressources sans persistance */
.rv-hub-private-preview-resource-note{
    margin-top:9px;
    padding:8px 9px;
    border:1px solid rgba(245,158,11,.24);
    border-radius:6px;
    background:rgba(245,158,11,.06);
    color:#c8ad73;
    font-size:9px;
    line-height:1.45;
}


/* HUB V1 — Conversations privées : renouvellement manuel */
.rv-hub-private-renew-info,
.rv-hub-private-renew-warning,
.rv-hub-private-renew-danger,
.rv-hub-private-renew-success,
.rv-hub-private-renew-error{
    margin-top:10px;
    padding:8px 9px;
    border-radius:6px;
    font-size:9px;
    line-height:1.45;
}

.rv-hub-private-renew-info{
    border:1px solid rgba(104,155,200,.18);
    background:rgba(104,155,200,.05);
    color:#8faabd;
}
.rv-hub-private-renew-warning{
    border:1px solid rgba(245,158,11,.28);
    background:rgba(245,158,11,.07);
    color:#d9bb7e;
}
.rv-hub-private-renew-danger,
.rv-hub-private-renew-error{
    border:1px solid rgba(248,113,113,.30);
    background:rgba(248,113,113,.07);
    color:#ffb0b0;
}
.rv-hub-private-renew-success{
    border:1px solid rgba(52,211,153,.30);
    background:rgba(52,211,153,.07);
    color:#9ce8c8;
}
.rv-hub-private-renew-button{
    width:100%;
    min-height:38px;
    margin-top:10px;
    border:0;
    border-radius:7px;
    background:#0aa6ef;
    color:#fff;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}
.rv-hub-private-renew-button:hover{
    background:#11b4ff;
}
.rv-hub-private-renew-button:disabled{
    background:#0a3148;
    color:#6f8ca2;
    cursor:not-allowed;
}


/* HUB V1 — Expiration réelle + suppression définitive */
.rv-hub-private-expired-banner{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:12px;
    align-items:flex-start;
    margin:0 0 10px;
    padding:13px 14px;
    border:1px solid rgba(255,72,72,.70);
    border-radius:9px;
    background:rgba(112,18,25,.28);
}
.rv-hub-private-expired-banner-icon{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,105,105,.65);
    border-radius:999px;
    color:#ffd4d4;
    background:rgba(255,76,76,.14);
    font-size:18px;
    font-weight:900;
}
.rv-hub-private-expired-banner strong{color:#ffd3d3;font-size:12px}
.rv-hub-private-expired-banner p{margin:5px 0 0;color:#ffb8b8;font-size:10px;line-height:1.5}
.rv-hub-private-delete-preview-button,
.rv-hub-private-expire-preview-button{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    box-sizing:border-box;
    border-radius:7px;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}
.rv-hub-private-delete-preview-button{
    margin:0 0 10px;
    border:1px solid rgba(255,78,78,.55);
    background:#7a2027;
    color:#fff;
}
.rv-hub-private-expire-preview-button{
    margin-top:8px;
    border:1px solid rgba(248,113,113,.30);
    background:rgba(248,113,113,.07);
    color:#ffb4b4;
}
.rv-hub-private-deleted-preview{
    max-width:780px;
    margin:70px auto;
    padding:28px;
    border:1px solid rgba(248,113,113,.38);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(65,19,27,.96),rgba(18,18,27,.98));
    text-align:center;
}
.rv-hub-private-deleted-preview strong{display:block;color:#ffd2d2;font-size:20px}
.rv-hub-private-deleted-preview p{margin:14px auto;max-width:650px;color:#d7aeb2;font-size:12px;line-height:1.6}
.rv-hub-private-deleted-preview a{
    display:inline-flex;
    min-height:38px;
    align-items:center;
    padding:0 14px;
    border-radius:7px;
    background:#0aa6ef;
    color:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}


/* HUB V1 — Alerte réelle J-5 avant expiration d'une conversation privée */
.rv-hub-private-expiry-warning-banner{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:12px;
    align-items:flex-start;
    margin:0 0 12px;
    padding:13px 14px;
    border:1px solid rgba(255,72,72,.72);
    border-radius:9px;
    background:rgba(112,18,25,.30);
}
.rv-hub-private-expiry-warning-icon{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,105,105,.65);
    border-radius:999px;
    color:#ffd4d4;
    background:rgba(255,76,76,.14);
    font-size:18px;
    font-weight:900;
}
.rv-hub-private-expiry-warning-banner strong{
    color:#ffd3d3;
    font-size:12px;
}
.rv-hub-private-expiry-warning-banner p{
    margin:5px 0 0;
    color:#ffb8b8;
    font-size:10px;
    line-height:1.5;
}

/* HUB V23 corrigée — forfaits de points sur une seule ligne */
.rv-hub-profile-metric--points{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:18px;
    row-gap:14px;
}
.rv-hub-profile-metric--points .rv-hub-point-pack-list{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.rv-hub-point-pack-button{
    display:block;
    min-width:0;
    padding:8px 8px;
    border:1px solid rgba(82,166,218,.24);
    border-radius:6px;
    background:#0a2338;
    color:#b9e8ff;
    text-align:center;
    text-decoration:none;
    white-space:nowrap;
    font-size:11px;
}
.rv-hub-point-pack-button:hover{
    border-color:rgba(82,190,255,.55);
}
@media(max-width:760px){
    .rv-hub-profile-metric--points{grid-template-columns:1fr;}
    .rv-hub-profile-metric--points .rv-hub-profile-metric-value{text-align:left;}
    .rv-hub-profile-metric--points .rv-hub-point-pack-list{grid-template-columns:1fr;}
}
