*{
    box-sizing:border-box;
}

:root{
    --portal-navy:#0c2942;
    --portal-blue:#0f78b7;
    --portal-blue-2:#1298c9;
    --portal-bg:#f4f7fa;
    --portal-text:#203247;
    --portal-muted:#748396;
    --portal-border:#dde6ee;
}

body{
    margin:0;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    color:var(--portal-text);
    background:var(--portal-bg);
}

.portal-container{
    width:min(1440px, calc(100% - 48px));
    margin:0 auto;
}

.portal-login-body{
    min-height:100vh;
    background:#eef3f7;
}

.portal-login-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
}

.portal-login-brand{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    background:
        linear-gradient(145deg,#081c32,#0e5986 62%,#13a1c8);
}

.portal-login-brand::after{
    content:"";
    position:absolute;
    inset:auto -12% -20% 18%;
    height:60%;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    transform:rotate(-12deg);
}

.portal-login-brand__overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 20% 20%,rgba(255,255,255,.12),transparent 34%);
}

.portal-login-brand__content{
    position:relative;
    z-index:2;
    max-width:650px;
    padding:70px 7vw;
    color:#fff;
}

.portal-logo{
    width:150px;
    max-height:105px;
    object-fit:contain;
    object-position:left center;
    margin-bottom:60px;
}

.portal-eyebrow{
    display:block;
    margin-bottom:8px;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
    color:#6d8194;
}

.portal-login-brand .portal-eyebrow{
    color:#8ed8f0;
}

.portal-login-brand h1{
    margin:0 0 20px;
    font-size:clamp(2.4rem,4.4vw,4.7rem);
    line-height:1.02;
    letter-spacing:-.04em;
}

.portal-login-brand p{
    max-width:560px;
    color:rgba(255,255,255,.78);
    font-size:1.06rem;
    line-height:1.7;
}

.portal-brand-points{
    margin-top:46px;
    display:grid;
    gap:14px;
}

.portal-brand-points span{
    display:flex;
    gap:12px;
    align-items:center;
    font-size:.92rem;
    color:rgba(255,255,255,.88);
}

.portal-brand-points i{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(255,255,255,.12);
}

.portal-login-card{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:45px;
    background:#fff;
}

.portal-login-card__inner{
    width:min(470px,100%);
}

.portal-login-heading span{
    font-size:.72rem;
    letter-spacing:.15em;
    font-weight:800;
    color:var(--portal-blue);
}

.portal-login-heading h2{
    margin:10px 0 8px;
    font-size:2.25rem;
    font-weight:750;
}

.portal-login-heading p{
    margin:0 0 34px;
    color:var(--portal-muted);
}

.portal-input{
    position:relative;
}

.portal-input > i{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#8a9aab;
    z-index:2;
}

.portal-input .form-control{
    min-height:52px;
    padding-left:46px;
    border-radius:11px;
    border-color:#dbe4ec;
}

.portal-login-button{
    width:100%;
    min-height:52px;
    margin-top:28px;
    border-radius:11px;
    border:0;
    background:
        linear-gradient(135deg,var(--portal-blue),var(--portal-blue-2));
    font-weight:700;
}

.portal-login-footer{
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid #edf1f5;
    color:#8492a3;
    font-size:.79rem;
    text-align:center;
}

.portal-topbar{
    color:#fff;
    background:
        linear-gradient(100deg,var(--portal-navy),#0d628f 65%,#159bc1);
    box-shadow:0 5px 20px rgba(15,42,66,.13);
}

.portal-topbar__inner{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.portal-brand{
    display:flex;
    align-items:center;
    gap:13px;
}

.portal-brand img{
    width:48px;
    height:48px;
    object-fit:contain;
}

.portal-brand div{
    display:flex;
    flex-direction:column;
}

.portal-brand strong{
    font-size:1.05rem;
}

.portal-brand span{
    color:rgba(255,255,255,.66);
    font-size:.73rem;
    letter-spacing:.08em;
}

.portal-user{
    display:flex;
    align-items:center;
    gap:18px;
}

.portal-user > div{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}

.portal-user span{
    color:rgba(255,255,255,.68);
    font-size:.76rem;
}

.portal-main{
    padding-top:38px;
    padding-bottom:65px;
}

.portal-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:28px;
}

.portal-hero h1{
    margin:0 0 7px;
    font-size:2rem;
}

.portal-hero p{
    margin:0;
    color:var(--portal-muted);
}

.portal-client-ref,
.portal-last-detection{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}

.portal-client-ref span,
.portal-last-detection span{
    color:var(--portal-muted);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.09em;
}

.portal-client-ref strong,
.portal-last-detection strong{
    margin-top:3px;
    color:#213a52;
}

.portal-kpis{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.portal-kpi{
    min-height:105px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid var(--portal-border);
    border-radius:15px;
    background:#fff;
    box-shadow:0 4px 16px rgba(29,52,75,.045);
}

.portal-kpi__icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    border-radius:12px;
    background:#eff5f9;
    color:#567185;
}

.portal-kpi div:last-child{
    display:flex;
    flex-direction:column;
}

.portal-kpi span{
    color:var(--portal-muted);
    font-size:.77rem;
}

.portal-kpi strong{
    margin-top:3px;
    font-size:1.45rem;
}

.portal-kpi--detected .portal-kpi__icon{
    color:#177656;
    background:#ecf8f3;
}

.portal-kpi--verify .portal-kpi__icon{
    color:#bb7624;
    background:#fff5e8;
}

.portal-kpi--done .portal-kpi__icon{
    color:#2870bd;
    background:#eef5ff;
}

.portal-kpi--anomaly .portal-kpi__icon{
    color:#b94848;
    background:#fff0f0;
}

.portal-section{
    margin-top:28px;
    padding:26px;
    border:1px solid var(--portal-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 5px 18px rgba(29,52,75,.04);
}

.portal-section__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.portal-section__head h2{
    margin:0;
    font-size:1.25rem;
}

.portal-tableaux-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.portal-tableau-card{
    padding:20px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:15px;
    border:1px solid #e4ebf1;
    border-radius:14px;
    background:#fbfdff;
}

.portal-tableau-card__icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#1475ad;
    background:#eaf5fb;
}

.portal-tableau-card__body > span{
    color:#7d8e9f;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.12em;
}

.portal-tableau-card h3{
    margin:5px 0 6px;
    font-size:1rem;
}

.portal-tableau-card p{
    min-height:40px;
    margin:0;
    color:#7a8796;
    font-size:.8rem;
}

.portal-tableau-meta{
    margin-top:15px;
    display:flex;
    align-items:baseline;
    gap:5px;
}

.portal-tableau-meta strong{
    font-size:1.2rem;
}

.portal-tableau-meta span{
    color:#8693a2;
    font-size:.73rem;
}

.portal-tableau-card > .btn{
    grid-column:1 / -1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-radius:10px;
}

.portal-empty,
.portal-foundation-placeholder{
    grid-column:1 / -1;
    padding:28px;
    border:1px dashed #d9e4ec;
    border-radius:14px;
    color:#718194;
    background:#fafcfd;
}

.portal-foundation-placeholder{
    display:flex;
    align-items:flex-start;
    gap:16px;
}

.portal-foundation-placeholder > i{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    flex:0 0 44px;
    border-radius:12px;
    color:#1974a7;
    background:#eaf5fb;
}

.portal-foundation-placeholder strong{
    color:#2a4056;
}

.portal-foundation-placeholder p{
    margin:6px 0 0;
    max-width:850px;
    line-height:1.65;
}

@media(max-width:1100px){
    .portal-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

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

@media(max-width:800px){
    .portal-login-shell{
        grid-template-columns:1fr;
    }

    .portal-login-brand{
        display:none;
    }

    .portal-login-card{
        padding:28px 20px;
    }

    .portal-container{
        width:min(100% - 28px,1440px);
    }

    .portal-topbar__inner,
    .portal-hero,
    .portal-section__head{
        align-items:flex-start;
        flex-direction:column;
    }

    .portal-user{
        width:100%;
        justify-content:space-between;
    }

    .portal-user > div{
        align-items:flex-start;
    }

    .portal-kpis,
    .portal-tableaux-grid{
        grid-template-columns:1fr;
    }
}


/* ============================================================
   BO_PATCH_024.1 — COCKPIT CORPORATE CLIENT
   ============================================================ */

.portal-breadcrumb{
    margin-bottom:18px;
}

.portal-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#64798d;
    text-decoration:none;
    font-size:.83rem;
    font-weight:650;
}

.portal-kpis--tracking{
    margin-bottom:0;
}

.portal-tracking-shell{
    padding:0;
    overflow:hidden;
}

.portal-tracking-filters{
    display:grid;
    grid-template-columns:minmax(320px,1fr) 210px 120px auto;
    gap:14px;
    align-items:end;
    padding:22px 24px;
    border-bottom:1px solid #e6edf3;
    background:#fbfcfe;
}

.portal-filter-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.portal-filter-field label{
    color:#758596;
    font-size:.69rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.portal-filter-field .form-control,
.portal-filter-field .form-select{
    min-height:44px;
    border-radius:10px;
    border-color:#dce5ed;
}

.portal-filter-actions{
    display:flex;
    gap:8px;
}

.portal-filter-actions .btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:10px;
}

.portal-tracking-toolbar{
    padding:15px 24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #edf1f4;
    color:#778697;
    font-size:.79rem;
}

.portal-tracking-toolbar strong{
    color:#263b50;
}

.portal-security-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    color:#2b725c;
    background:#eef9f5;
    font-weight:650;
}

.portal-table-scroll{
    width:100%;
    overflow:auto;
    max-height:630px;
    background:#fff;
}

.portal-tracking-table{
    width:max-content;
    min-width:100%;
    border-collapse:separate;
    border-spacing:0;
    font-size:.78rem;
}

.portal-tracking-table th{
    position:sticky;
    top:0;
    z-index:5;
    padding:13px 14px;
    border-bottom:1px solid #dfe8ef;
    background:#f3f7fa;
    color:#5e7185;
    text-align:left;
    white-space:nowrap;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.055em;
    text-transform:uppercase;
}

.portal-tracking-table td{
    padding:13px 14px;
    border-bottom:1px solid #edf2f5;
    color:#43566a;
    background:#fff;
    white-space:nowrap;
}

.portal-tracking-table tbody tr:hover td{
    background:#f9fbfd;
}

.portal-sticky{
    position:sticky !important;
    left:0;
    z-index:6;
}

.portal-tracking-table th.portal-sticky{
    z-index:8;
    background:#edf3f7;
}

.portal-tracking-table td.portal-sticky{
    background:#fff;
    box-shadow:3px 0 7px rgba(31,57,82,.04);
}

.portal-status{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:4px 9px;
    border-radius:999px;
    background:#f1f4f6;
    color:#647488;
    font-size:.69rem;
    font-weight:750;
}

.portal-status.is-detected{
    color:#197152;
    background:#eaf7f1;
}

.portal-status.is-review{
    color:#a96d22;
    background:#fff4e5;
}

.portal-status.is-done{
    color:#2368aa;
    background:#edf5ff;
}

.portal-status.is-anomaly{
    color:#ab4646;
    background:#fff0f0;
}

.portal-status.is-off{
    color:#737c85;
    background:#eef0f2;
}

.portal-table-empty{
    padding:40px !important;
    text-align:center;
    color:#8190a0 !important;
}

.portal-pagination{
    padding:18px 24px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    border-top:1px solid #e8eef3;
    background:#fbfcfd;
}

.portal-pagination span{
    color:#7c8997;
    font-size:.78rem;
}

.portal-pagination strong{
    color:#293e53;
}

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

    .portal-filter-actions{
        grid-column:1 / -1;
    }
}

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

    .portal-filter-actions{
        grid-column:auto;
        flex-wrap:wrap;
    }

    .portal-security-badge{
        display:none;
    }
}


/* BO_PATCH_024.2 — alignement portail sur cockpit Corporate */
.portal-corporate-wrapper{padding-top:18px;padding-bottom:34px}
.portal-corporate-wrapper .bo-corporate-page{padding:0}
.portal-security-badge--hero{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;background:rgba(255,255,255,.10);font-size:.78rem;font-weight:700}
.portal-topbar .portal-brand{color:inherit;text-decoration:none}


/* ============================================================
   BO_PATCH_024.3 — SIDEBAR PORTAIL CLIENT
   ============================================================ */

.portal-app-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:245px minmax(0,1fr);
    background:var(--portal-bg);
}

.portal-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    padding:24px 16px 18px;
    display:flex;
    flex-direction:column;
    color:#fff;
    background:
        linear-gradient(180deg,#092844 0%,#0a4f80 55%,#0a67a4 100%);
    box-shadow:8px 0 28px rgba(11,39,65,.09);
    z-index:50;
}

.portal-sidebar__brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:2px 8px 22px;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.portal-sidebar__brand img{
    width:48px;
    height:48px;
    object-fit:contain;
}

.portal-sidebar__brand div{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.portal-sidebar__brand strong{
    font-size:.95rem;
    line-height:1.12;
}

.portal-sidebar__brand span{
    margin-top:4px;
    color:rgba(255,255,255,.62);
    font-size:.62rem;
    letter-spacing:.14em;
}

.portal-sidebar__client{
    margin:20px 8px 18px;
    display:flex;
    flex-direction:column;
}

.portal-sidebar__client > span{
    color:#78d4f2;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.14em;
}

.portal-sidebar__client strong{
    margin-top:5px;
    font-size:.88rem;
    line-height:1.25;
}

.portal-sidebar__client small{
    margin-top:3px;
    color:rgba(255,255,255,.58);
    font-size:.68rem;
}

.portal-sidebar__nav{
    display:grid;
    gap:7px;
}

.portal-sidebar__link{
    min-height:45px;
    padding:0 13px;
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.82);
    text-decoration:none;
    border-radius:10px;
    border-left:3px solid transparent;
    transition:.18s ease;
}

.portal-sidebar__link i{
    width:19px;
    text-align:center;
}

.portal-sidebar__link:hover{
    color:#fff;
    background:rgba(255,255,255,.08);
}

.portal-sidebar__link.is-active{
    color:#fff;
    background:linear-gradient(90deg,#0e75d4,#0d69bb);
    box-shadow:0 8px 18px rgba(2,26,54,.18);
    border-left-color:#8de3ff;
}

.portal-sidebar__footer{
    margin-top:auto;
    padding:17px 8px 0;
    border-top:1px solid rgba(255,255,255,.12);
}

.portal-sidebar__identity{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.portal-sidebar__identity > i{
    font-size:1.45rem;
    color:#8eddf4;
}

.portal-sidebar__identity div{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.portal-sidebar__identity strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.78rem;
}

.portal-sidebar__identity span{
    color:rgba(255,255,255,.58);
    font-size:.66rem;
}

.portal-sidebar__logout{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.83);
    text-decoration:none;
}

.portal-sidebar__logout:hover{
    color:#fff;
}

.portal-app-content{
    min-width:0;
}

.portal-client-topbar{
    min-height:72px;
    padding:0 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#fff;
    background:linear-gradient(100deg,var(--portal-navy),#0d628f 65%,#159bc1);
    box-shadow:0 4px 18px rgba(15,42,66,.10);
}

.portal-client-topbar > div:first-child{
    display:flex;
    flex-direction:column;
}

.portal-client-topbar__eyebrow{
    color:#8eddf4;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.13em;
}

.portal-client-topbar strong{
    margin-top:2px;
    font-size:.92rem;
}

.portal-client-topbar__meta{
    display:flex;
    align-items:center;
    gap:14px;
    color:rgba(255,255,255,.72);
    font-size:.74rem;
}

.portal-security-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.27);
    border-radius:999px;
    color:#fff;
    background:rgba(255,255,255,.09);
    font-weight:700;
}

.portal-main--with-sidebar{
    width:min(1480px,calc(100% - 48px));
    margin:0 auto;
    padding-top:32px;
    padding-bottom:60px;
}

@media(max-width:980px){
    .portal-app-shell{
        grid-template-columns:82px minmax(0,1fr);
    }

    .portal-sidebar{
        padding-left:10px;
        padding-right:10px;
    }

    .portal-sidebar__brand div,
    .portal-sidebar__client,
    .portal-sidebar__link span,
    .portal-sidebar__identity div,
    .portal-sidebar__logout span{
        display:none;
    }

    .portal-sidebar__brand{
        justify-content:center;
        padding-left:0;
        padding-right:0;
    }

    .portal-sidebar__link{
        justify-content:center;
        padding:0;
    }

    .portal-sidebar__footer{
        padding-left:0;
        padding-right:0;
    }

    .portal-sidebar__identity,
    .portal-sidebar__logout{
        justify-content:center;
    }
}

@media(max-width:700px){
    .portal-app-shell{
        display:block;
    }

    .portal-sidebar{
        position:relative;
        width:100%;
        height:auto;
        flex-direction:row;
        align-items:center;
        gap:8px;
        padding:10px;
    }

    .portal-sidebar__brand{
        border:0;
        padding:0;
    }

    .portal-sidebar__brand img{
        width:38px;
        height:38px;
    }

    .portal-sidebar__nav{
        display:flex;
        overflow-x:auto;
        gap:4px;
        margin-left:auto;
    }

    .portal-sidebar__link{
        width:42px;
        min-width:42px;
    }

    .portal-sidebar__footer{
        display:none;
    }

    .portal-client-topbar{
        padding:0 16px;
    }

    .portal-security-pill{
        display:none;
    }

    .portal-main--with-sidebar{
        width:calc(100% - 24px);
    }
}


/* ============================================================
   BO_PATCH_025.6 — PARITÉ VISUELLE CORPORATE / PORTAIL
   Le portail utilise maintenant exactement :
   - .bo-app
   - .bo-sidebar
   - .main-content
   - la pile CSS globale du Back Office
   Le cockpit Corporate n'est pas restylé ici.
   ============================================================ */

.portal-corporate-sidebar .portal-bo-client-card{
    margin:5px 15px 10px;
    padding:13px 16px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    display:flex;
    flex-direction:column;
    gap:4px;
}

.portal-corporate-sidebar .portal-bo-client-card strong{
    color:#fff;
    font-size:13px;
    line-height:1.35;
}

.portal-corporate-sidebar .portal-bo-client-card span{
    color:rgba(255,255,255,.58);
    font-size:10px;
    letter-spacing:.04em;
}

.portal-corporate-sidebar .portal-bo-account-card{
    margin:5px 15px 8px;
    padding:12px 16px;
    display:flex;
    align-items:center;
    gap:12px;
    border-radius:12px;
    background:rgba(255,255,255,.055);
}

.portal-corporate-sidebar .portal-bo-account-card > i{
    width:22px;
    text-align:center;
    font-size:20px;
    color:#93c5fd;
}

.portal-corporate-sidebar .portal-bo-account-card div{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.portal-corporate-sidebar .portal-bo-account-card strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:12px;
}

.portal-corporate-sidebar .portal-bo-account-card span{
    color:rgba(255,255,255,.58);
    font-size:10px;
}

.portal-corporate-sidebar .portal-bo-logout{
    margin-top:4px;
}

/*
 * IMPORTANT :
 * On annule les anciens wrappers spécifiques du portail 025.5.
 * Le layout est désormais celui du BO officiel.
 */
.portal-app-shell--corporate,
.portal-app-content,
.portal-corporate-main{
    all:unset;
}

/*
 * Le cockpit Corporate garde strictement ses propres styles.
 * Seule la largeur disponible dépend de la sidebar officielle,
 * exactement comme dans modules/corporate/index.php interne.
 */


@media(max-width:992px){
    .portal-corporate-sidebar{
        width:80px;
    }

    .portal-corporate-sidebar .bo-sidebar-logo{
        padding:18px 8px;
    }

    .portal-corporate-sidebar .bo-sidebar-logo img{
        width:58px;
    }

    .portal-corporate-sidebar .bo-menu-title,
    .portal-corporate-sidebar .bo-menu-item span,
    .portal-corporate-sidebar .portal-bo-client-card,
    .portal-corporate-sidebar .portal-bo-account-card div{
        display:none;
    }

    .portal-corporate-sidebar .bo-menu-item{
        justify-content:center;
        margin-left:10px;
        margin-right:10px;
        padding-left:10px;
        padding-right:10px;
    }
}


/* BO_PATCH_026 — indicateur du plan client */
.portal-plan-chip{
    margin:8px 15px 4px;
    padding:8px 12px;
    border-radius:10px;
    background:rgba(0,153,204,.14);
    color:#bcecff;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:600;
}


/* ============================================================
   BO_PATCH_026.2 — SIDEBAR CORPORATE PROFESSIONNEL / 8 BLOCS
   ============================================================ */

.portal-corporate-sidebar{
    display:flex;
    flex-direction:column;
}

.portal-sidebar-brand{
    padding:20px 18px 14px;
}

.portal-sidebar-brand > a{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
}

.portal-sidebar-brand img{
    width:66px;
    height:66px;
    object-fit:contain;
}

.portal-sidebar-brand__text{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.portal-sidebar-brand__text strong{
    color:#fff;
    font-size:.83rem;
    white-space:nowrap;
}

.portal-sidebar-brand__text span{
    color:rgba(255,255,255,.55);
    font-size:.64rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.portal-pro-menu{
    padding-bottom:18px;
    overflow-y:auto;
    scrollbar-width:thin;
}

.portal-nav-section{
    margin-top:14px;
}

.portal-nav-section:first-child{
    margin-top:0;
}

.portal-client-card--pro{
    padding:12px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.045);
}

.portal-client-card__identity{
    display:flex;
    align-items:center;
    gap:9px;
}

.portal-client-card__avatar{
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    flex:0 0 34px;
    background:linear-gradient(135deg,#1598cf,#58d1ca);
    color:#fff;
    font-weight:800;
    font-size:.82rem;
}

.portal-client-card__identity > div:last-child{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.portal-client-card__identity strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.portal-client-card__identity span{
    margin-top:2px;
}

.portal-client-card__plan{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:11px;
}

.portal-plan-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
    padding:5px 7px;
    border-radius:999px;
    color:#bdefff;
    background:rgba(20,161,205,.14);
    font-size:.62rem;
    font-weight:700;
}

.portal-subscription-status{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#9ee6c4;
    font-size:.59rem;
}

.portal-subscription-status i{
    font-size:.42rem;
}

.portal-plan-expiry{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.43);
    font-size:.57rem;
}

.portal-nav-count{
    min-width:20px;
    height:20px;
    padding:0 6px;
    margin-left:auto;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.13);
    color:#fff;
    font-size:.61rem;
    font-weight:800;
}

.bo-menu-item.active .portal-nav-count{
    background:rgba(255,255,255,.22);
}

.portal-account-section{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.07);
}

.portal-account-card--pro{
    display:flex;
    align-items:center;
    gap:9px;
}

.portal-account-avatar{
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(86,207,225,.16);
    color:#8edfec;
}

.portal-professional-main{
    min-width:0;
}

.portal-pro-page{
    padding:28px;
}

.portal-pro-hero{
    min-height:125px;
    padding:24px 26px;
    border-radius:20px;
    color:#fff;
    background:linear-gradient(115deg,#122c51,#0c739e 65%,#12a1c3);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
    box-shadow:0 10px 28px rgba(17,53,83,.08);
}

.portal-pro-hero h1{
    margin:4px 0 0;
    font-size:1.75rem;
    font-weight:750;
}

.portal-pro-eyebrow{
    display:block;
    color:#6e8296;
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.portal-pro-hero .portal-pro-eyebrow{
    color:rgba(255,255,255,.65);
}

.portal-pro-plan{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.1);
    font-size:.7rem;
    font-weight:700;
}

.portal-pro-kpis{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.portal-pro-kpi{
    padding:17px;
    min-height:88px;
    border:1px solid #e4eaf0;
    border-radius:15px;
    background:#fff;
    display:flex;
    gap:12px;
    align-items:center;
    box-shadow:0 5px 18px rgba(26,53,79,.035);
}

.portal-pro-kpi > i{
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:#eef5fa;
    color:#3e7696;
}

.portal-pro-kpi > div{
    display:flex;
    flex-direction:column;
}

.portal-pro-kpi span{
    color:#8290a0;
    font-size:.68rem;
}

.portal-pro-kpi strong{
    color:#172d47;
    font-size:1.25rem;
}

.portal-pro-grid{
    display:grid;
    gap:16px;
}

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

.portal-pro-grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.portal-pro-card{
    padding:20px;
    border:1px solid #e4eaf0;
    border-radius:17px;
    background:#fff;
    box-shadow:0 6px 20px rgba(26,53,79,.035);
    color:#273b50;
    text-decoration:none;
}

.portal-pro-card h2{
    margin:5px 0 8px;
    font-size:1.06rem;
    color:#18314c;
}

.portal-pro-card p{
    color:#7a8999;
    font-size:.78rem;
    line-height:1.6;
}

.portal-pro-card__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}

.portal-pro-list{
    display:grid;
    gap:7px;
}

.portal-pro-list-item{
    padding:11px 12px;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    color:#334b62;
    text-decoration:none;
    background:#f8fafc;
    border:1px solid #edf1f4;
}

.portal-pro-list-item:hover{
    background:#f2f7fb;
}

.portal-pro-list-item > span:first-child{
    display:flex;
    flex-direction:column;
}

.portal-pro-list-item strong{
    font-size:.77rem;
}

.portal-pro-list-item small{
    color:#8996a4;
    font-size:.64rem;
}

.portal-alert-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 0;
    border-bottom:1px solid #edf1f4;
    color:#3d5369;
    text-decoration:none;
}

.portal-alert-row:last-child{
    border-bottom:0;
}

.portal-alert-row span{
    display:flex;
    align-items:center;
    gap:9px;
}

.portal-alert-row i{
    width:28px;
    height:28px;
    border-radius:8px;
    display:grid;
    place-items:center;
    color:#4d7996;
    background:#f1f6f9;
}

.portal-table-card{
    display:flex;
    flex-direction:column;
}

.portal-table-card__icon,
.portal-feature-icon{
    width:42px;
    height:42px;
    border-radius:11px;
    display:grid;
    place-items:center;
    margin-bottom:12px;
    color:#167ca9;
    background:#e9f6fa;
}

.portal-table-card__meta{
    display:flex;
    align-items:baseline;
    gap:5px;
    margin:10px 0 15px;
}

.portal-table-card__meta strong{
    font-size:1.25rem;
}

.portal-table-card__meta span{
    color:#8b98a5;
    font-size:.67rem;
}

.portal-table-card .btn{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.portal-notification-card{
    display:grid;
    grid-template-columns:36px 1fr auto;
    align-items:center;
    gap:10px;
}

.portal-notification-card > i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eef5fa;
    color:#437995;
}

.portal-notification-card strong{
    font-size:1.35rem;
}

.portal-pro-info{
    margin-top:16px;
    padding:15px 16px;
    display:flex;
    gap:10px;
    border-radius:13px;
    color:#4c6579;
    background:#eef7fb;
    border:1px solid #dceef5;
}

.portal-pro-info p{
    margin:0;
    font-size:.75rem;
    line-height:1.5;
}

.portal-history-highlight{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
    padding:14px;
    border-radius:12px;
    background:#f4f8fb;
}

.portal-history-highlight > i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#e4f0f7;
    color:#477794;
}

.portal-history-highlight > div{
    display:flex;
    flex-direction:column;
}

.portal-history-highlight span{
    color:#8794a2;
    font-size:.67rem;
}

.portal-profile-card{
    display:grid;
    grid-template-columns:78px 1fr;
    gap:20px;
    align-items:start;
}

.portal-profile-avatar{
    width:78px;
    height:78px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#17345a,#119ec5);
    color:#fff;
    font-size:1.7rem;
}

.portal-detail-list{
    margin:15px 0 0;
    display:grid;
    gap:8px;
}

.portal-detail-list > div{
    padding:10px 0;
    display:grid;
    grid-template-columns:150px 1fr;
    border-bottom:1px solid #edf1f4;
}

.portal-detail-list dt{
    color:#8a97a5;
    font-size:.67rem;
    font-weight:600;
}

.portal-detail-list dd{
    margin:0;
    color:#2e465c;
    font-size:.75rem;
    font-weight:600;
}

.portal-subscription-card{
    padding:24px;
    border-radius:19px;
    background:#fff;
    border:1px solid #e2eaf0;
    box-shadow:0 7px 22px rgba(26,53,79,.04);
}

.portal-subscription-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.portal-subscription-card h2{
    margin:5px 0 0;
    font-size:1.55rem;
}

.portal-subscription-active{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    color:#267559;
    background:#eaf8f2;
    font-size:.7rem;
    font-weight:700;
}

.portal-detail-list--grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:20px 0;
}

.portal-detail-list--grid > div{
    display:flex;
    flex-direction:column;
    padding:12px;
    border:1px solid #e8edf2;
    border-radius:11px;
}

.portal-capabilities{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.portal-capabilities span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 8px;
    border-radius:999px;
    color:#286f58;
    background:#edf8f4;
    font-size:.65rem;
}

.portal-pro-muted{
    color:#788998;
}

@media(max-width:1200px){
    .portal-pro-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .portal-pro-grid--3{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .portal-detail-list--grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:800px){
    .portal-pro-page{
        padding:16px;
    }

    .portal-pro-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .portal-pro-kpis,
    .portal-pro-grid--2,
    .portal-pro-grid--3,
    .portal-detail-list--grid{
        grid-template-columns:1fr;
    }

    .portal-profile-card{
        grid-template-columns:1fr;
    }
}


/* ============================================================
   BO_PATCH_026.3 — ESPACE CLIENT CLIQUABLE ET DETAILLE
   ============================================================ */

.portal-client-card-link{
    display:block;
    text-decoration:none;
    color:inherit;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.portal-client-card-link:hover{
    transform:translateY(-1px);
    border-color:rgba(85,203,225,.28);
    background:rgba(255,255,255,.065);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.portal-client-card-link.active{
    border-color:rgba(87,207,226,.34);
    background:rgba(63,172,213,.10);
}

.portal-client-card__cta{
    margin-top:10px;
    padding-top:9px;
    border-top:1px solid rgba(255,255,255,.07);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:rgba(255,255,255,.66);
    font-size:.61rem;
    font-weight:700;
}

.portal-client-card-link:hover .portal-client-card__cta{
    color:#bceeff;
}

.portal-client-space-hero p{
    margin:8px 0 0;
    max-width:670px;
    color:rgba(255,255,255,.68);
    font-size:.78rem;
    line-height:1.55;
}

.portal-client-space-hero__badges{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}

.portal-client-status-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    color:#b8f0d2;
    background:rgba(73,197,137,.12);
    border:1px solid rgba(113,231,172,.16);
    font-size:.7rem;
    font-weight:700;
}

.portal-client-status-chip i{
    font-size:.45rem;
}

.portal-client-space-summary{
    display:grid;
    grid-template-columns:1.6fr repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.portal-client-space-identity,
.portal-client-space-status{
    min-height:108px;
    padding:17px;
    border-radius:15px;
    border:1px solid #e4eaf0;
    background:#fff;
    box-shadow:0 5px 18px rgba(26,53,79,.035);
}

.portal-client-space-identity{
    display:flex;
    align-items:center;
    gap:14px;
}

.portal-client-space-monogram{
    width:54px;
    height:54px;
    flex:0 0 54px;
    border-radius:15px;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:1.25rem;
    font-weight:800;
    background:linear-gradient(135deg,#183d67,#14a2c8);
}

.portal-client-space-identity h2{
    margin:4px 0 3px;
    color:#17314d;
    font-size:1.05rem;
}

.portal-client-space-identity p{
    margin:0;
    color:#8593a2;
    font-size:.68rem;
}

.portal-client-space-status{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.portal-client-space-status > span{
    color:#8b98a7;
    font-size:.66rem;
}

.portal-client-space-status > strong{
    margin:5px 0;
    color:#19334e;
    font-size:.9rem;
}

.portal-client-space-status > small{
    color:#8f9aa7;
    font-size:.62rem;
}

.portal-client-space-grid{
    margin-bottom:16px;
}

.portal-client-space-grid .portal-feature-icon{
    margin:0;
}

.portal-client-capabilities-card{
    margin-bottom:16px;
}

.portal-client-capabilities-count{
    padding:6px 9px;
    border-radius:999px;
    color:#34735c;
    background:#edf8f4;
    font-size:.66rem;
    font-weight:700;
}

.portal-client-capabilities-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}

.portal-client-capability{
    min-height:48px;
    padding:10px 12px;
    border:1px solid #e7edf2;
    border-radius:11px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#395268;
    background:#fafcfd;
    font-size:.7rem;
    font-weight:600;
}

.portal-client-capability i{
    width:23px;
    height:23px;
    border-radius:7px;
    display:grid;
    place-items:center;
    color:#2f795d;
    background:#eaf8f2;
    font-size:.62rem;
}

.portal-client-shortcuts{
    margin-bottom:16px;
}

.portal-client-shortcut{
    display:grid;
    grid-template-columns:38px 1fr;
    column-gap:10px;
    align-items:center;
}

.portal-client-shortcut > i{
    grid-row:1 / span 2;
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#277fa5;
    background:#ecf6fa;
}

.portal-client-shortcut > span{
    color:#233f59;
    font-size:.76rem;
    font-weight:750;
}

.portal-client-shortcut > small{
    color:#8b97a4;
    font-size:.61rem;
}

.portal-client-security-note{
    padding:14px 16px;
    border-radius:13px;
    display:flex;
    align-items:center;
    gap:11px;
    color:#41647d;
    background:#f1f7fa;
    border:1px solid #dfedf3;
}

.portal-client-security-note > i{
    width:35px;
    height:35px;
    flex:0 0 35px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#357a98;
    background:#e2f0f5;
}

.portal-client-security-note > div{
    display:flex;
    flex-direction:column;
}

.portal-client-security-note strong{
    font-size:.72rem;
}

.portal-client-security-note span{
    margin-top:2px;
    color:#788b9a;
    font-size:.64rem;
}

@media(max-width:1200px){
    .portal-client-space-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .portal-client-capabilities-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:800px){
    .portal-client-space-summary,
    .portal-client-capabilities-grid{
        grid-template-columns:1fr;
    }

    .portal-client-space-hero__badges{
        justify-content:flex-start;
    }
}

/* BO_PATCH_026.3.1 — marqueurs CSS explicites pour vérification */
.portal-client-card-link{}
.portal-client-space-summary{}
.portal-client-capabilities-grid{}


/* ============================================================
   BO_PATCH_026.4 — TABLEAU DE BORD CLIENT ENRICHI
   ============================================================ */

.portal-dashboard-hero p{
    margin:8px 0 0;
    max-width:690px;
    color:rgba(255,255,255,.68);
    font-size:.78rem;
    line-height:1.55;
}

.portal-dashboard-hero__meta{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.portal-dashboard-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    color:#b9efd2;
    background:rgba(73,197,137,.12);
    border:1px solid rgba(113,231,172,.16);
    font-size:.7rem;
    font-weight:700;
}

.portal-dashboard-status i{font-size:.43rem;}

.portal-dashboard-client-strip{
    display:grid;
    grid-template-columns:1.5fr 1fr .8fr 1.2fr;
    gap:10px;
    margin-bottom:14px;
}

.portal-dashboard-client-strip > div{
    min-height:70px;
    padding:13px 15px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 18px rgba(26,53,79,.03);
}

.portal-dashboard-client-strip span{
    color:#8b98a5;
    font-size:.64rem;
}

.portal-dashboard-client-strip strong{
    margin-top:4px;
    color:#203a55;
    font-size:.77rem;
}

.portal-dashboard-kpis{margin-bottom:14px;}

.portal-dashboard-kpi{
    position:relative;
    overflow:hidden;
}

.portal-dashboard-kpi::after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:#6d879a;
}

.portal-dashboard-kpi--detected::after{background:#459a75;}
.portal-dashboard-kpi--verify::after{background:#e6a24b;}
.portal-dashboard-kpi--done::after{background:#4b86cd;}
.portal-dashboard-kpi--danger::after{background:#d36c72;}

.portal-dashboard-insights{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.portal-dashboard-insight{
    padding:16px;
    border-radius:14px;
    background:#fff;
    border:1px solid #e5ebf0;
}

.portal-dashboard-insight--attention{
    background:#fffaf4;
    border-color:#f2e2c6;
}

.portal-dashboard-insight__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.portal-dashboard-insight__top span{
    color:#6f8190;
    font-size:.69rem;
    font-weight:650;
}

.portal-dashboard-insight__top strong{
    color:#1f3c56;
    font-size:1.05rem;
}

.portal-dashboard-progress{
    height:6px;
    margin:12px 0 8px;
    overflow:hidden;
    border-radius:999px;
    background:#eaf0f4;
}

.portal-dashboard-progress > span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#2e85ac,#22a0c4);
}

.portal-dashboard-insight small,
.portal-dashboard-insight p{
    margin:0;
    color:#8a97a4;
    font-size:.63rem;
}

.portal-dashboard-insight a{
    margin-top:11px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#347ea2;
    font-size:.66rem;
    font-weight:700;
    text-decoration:none;
}

.portal-dashboard-main-grid{margin-bottom:16px;}

.portal-dashboard-table-list{
    display:grid;
    gap:6px;
}

.portal-dashboard-table-row{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 150px 18px;
    align-items:center;
    gap:10px;
    padding:10px;
    border:1px solid #ecf0f3;
    border-radius:11px;
    background:#fafcfd;
    color:#334d64;
    text-decoration:none;
}

.portal-dashboard-table-row:hover{background:#f3f8fb;}

.portal-dashboard-table-icon{
    width:36px;
    height:36px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#347e9f;
    background:#eaf5f9;
}

.portal-dashboard-table-row__content,
.portal-dashboard-table-row__last{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.portal-dashboard-table-row__content strong,
.portal-dashboard-table-row__last strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.portal-dashboard-table-row__content strong{font-size:.72rem;}
.portal-dashboard-table-row__content small{
    color:#8b98a5;
    font-size:.61rem;
}
.portal-dashboard-table-row__last span{
    color:#929da8;
    font-size:.57rem;
}
.portal-dashboard-table-row__last strong{
    font-size:.62rem;
    font-weight:650;
}

.portal-dashboard-priority-list{
    display:grid;
    gap:8px;
}

.portal-dashboard-priority{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:12px;
    border:1px solid #edf0f3;
    border-radius:11px;
    color:#385168;
    background:#fafcfd;
    text-decoration:none;
}

.portal-dashboard-priority > i{
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:#edf5f8;
    color:#3b7d98;
}

.portal-dashboard-priority > div{
    display:flex;
    flex-direction:column;
}

.portal-dashboard-priority strong{font-size:.72rem;}
.portal-dashboard-priority span{
    color:#8a97a4;
    font-size:.6rem;
}

.portal-dashboard-priority b{
    min-width:28px;
    height:28px;
    padding:0 8px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#edf2f5;
    color:#35526b;
    font-size:.67rem;
}

.portal-dashboard-priority--detected > i{
    color:#367c5d;
    background:#eaf7f1;
}

.portal-dashboard-priority--verify > i{
    color:#9a6a2d;
    background:#fcf3e6;
}

.portal-dashboard-priority--danger > i{
    color:#a34f58;
    background:#faecee;
}

.portal-dashboard-shortcuts{margin-bottom:16px;}

.portal-dashboard-shortcut{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 18px;
    align-items:center;
    gap:10px;
}

.portal-dashboard-shortcut > i:first-child{
    width:40px;
    height:40px;
    border-radius:11px;
    display:grid;
    place-items:center;
    color:#2d7fa4;
    background:#eaf6fa;
}

.portal-dashboard-shortcut > div{
    display:flex;
    flex-direction:column;
}

.portal-dashboard-shortcut strong{font-size:.73rem;}
.portal-dashboard-shortcut span{
    margin-top:2px;
    color:#8996a3;
    font-size:.6rem;
}

.portal-dashboard-security{
    padding:14px 16px;
    border-radius:13px;
    display:flex;
    align-items:center;
    gap:11px;
    color:#41647d;
    background:#f1f7fa;
    border:1px solid #dfedf3;
}

.portal-dashboard-security > i{
    width:35px;
    height:35px;
    flex:0 0 35px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#357a98;
    background:#e2f0f5;
}

.portal-dashboard-security > div{
    display:flex;
    flex-direction:column;
}

.portal-dashboard-security strong{font-size:.72rem;}
.portal-dashboard-security span{
    margin-top:2px;
    color:#788b9a;
    font-size:.64rem;
}

.portal-dashboard-empty{
    padding:28px;
    border:1px dashed #dce4ea;
    border-radius:12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    color:#8594a1;
    text-align:center;
}

.portal-dashboard-empty i{
    font-size:1.3rem;
    color:#5f91aa;
}

.portal-dashboard-empty strong{
    color:#405b71;
    font-size:.73rem;
}

.portal-dashboard-empty span{font-size:.62rem;}

@media(max-width:1200px){
    .portal-dashboard-client-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .portal-dashboard-insights{
        grid-template-columns:1fr;
    }
}

@media(max-width:800px){
    .portal-dashboard-client-strip{
        grid-template-columns:1fr;
    }

    .portal-dashboard-table-row{
        grid-template-columns:36px minmax(0,1fr) 18px;
    }

    .portal-dashboard-table-row__last{
        display:none;
    }
}

/* BO_PATCH_026.5 — BLOC CORPORATE ENRICHI */
.portal-corporate-hero p{margin:8px 0 0;max-width:690px;color:rgba(255,255,255,.69);font-size:.78rem;line-height:1.55}.portal-corporate-primary-action,.portal-corporate-security-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:10px;font-size:.68rem;font-weight:700}.portal-corporate-primary-action{color:#183c55;background:#fff;text-decoration:none}.portal-corporate-security-badge{color:#c9edf6;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.portal-corporate-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.portal-corporate-summary-card{min-height:95px;padding:15px;border:1px solid #e4eaf0;border-radius:13px;background:#fff;display:flex;flex-direction:column;justify-content:center}.portal-corporate-table-catalog{margin-bottom:16px}.portal-corporate-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-corporate-table-card{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:14px;border:1px solid #e7edf2;border-radius:12px;background:#fafcfd;color:#314d64;text-decoration:none}.portal-corporate-table-card__icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#347e9f;background:#eaf5f9}.portal-corporate-table-card__meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.58rem}.portal-corporate-shortcut{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px}.portal-corporate-search-panel,.portal-corporate-search-grid{margin-bottom:16px}.portal-corporate-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.portal-corporate-search-input{min-height:45px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #dfe6eb;border-radius:10px;background:#fbfcfd}.portal-corporate-search-input input{width:100%;border:0;outline:0;background:transparent}.portal-corporate-search-form button{min-height:45px;padding:0 16px;border:0;border-radius:10px;color:#fff;background:#228ec0}.portal-corporate-status-search,.portal-corporate-recent-tables{display:grid;gap:7px}.portal-corporate-status-search a,.portal-corporate-recent-tables a{display:grid;align-items:center;gap:10px;padding:11px;border:1px solid #ebeff2;border-radius:10px;color:#385168;background:#fafcfd;text-decoration:none}.portal-corporate-status-search a{grid-template-columns:36px minmax(0,1fr) auto}.portal-corporate-recent-tables a{grid-template-columns:34px minmax(0,1fr) 16px}.portal-corporate-security-note{padding:14px 16px;border-radius:13px;display:flex;gap:11px;align-items:center;color:#41647d;background:#f1f7fa;border:1px solid #dfedf3}@media(max-width:1100px){.portal-corporate-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-corporate-table-grid{grid-template-columns:1fr}}@media(max-width:760px){.portal-corporate-summary-grid{grid-template-columns:1fr}.portal-corporate-search-form{grid-template-columns:1fr}}


/* ============================================================
   BO_PATCH_026.6 — SUIVI & CONTRÔLE ENRICHI
   ============================================================ */

.portal-control-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.portal-control-hero__content{
    display:flex;
    align-items:center;
    gap:14px;
}

.portal-control-hero__icon{
    width:52px;
    height:52px;
    flex:0 0 52px;
    border-radius:15px;
    display:grid;
    place-items:center;
    color:#dff6ff;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.12);
    font-size:1.1rem;
}

.portal-control-hero p{
    margin:7px 0 0;
    max-width:700px;
    color:rgba(255,255,255,.68);
    font-size:.77rem;
    line-height:1.5;
}

.portal-control-primary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-radius:10px;
    color:#173c55;
    background:#fff;
    text-decoration:none;
    font-size:.67rem;
    font-weight:750;
    white-space:nowrap;
}

.portal-control-kpis{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-control-kpi{
    min-height:92px;
    padding:15px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
}

.portal-control-kpi--focus{
    background:#f4f9fb;
    border-color:#dceaf1;
}

.portal-control-kpi span{
    color:#8593a1;
    font-size:.62rem;
}

.portal-control-kpi strong{
    margin:4px 0;
    color:#203d58;
    font-size:1.08rem;
}

.portal-control-kpi small{
    color:#9aa5ae;
    font-size:.56rem;
}

.portal-control-main-grid{
    margin-bottom:16px;
}

.portal-control-status-badge{
    display:inline-flex;
    align-items:center;
    padding:6px 9px;
    border-radius:999px;
    background:#edf3f6;
    color:#536d7e;
    font-size:.61rem;
    font-weight:750;
}

.portal-control-status-badge--detected{
    background:#eaf7f1;
    color:#377a5d;
}

.portal-control-status-badge--verify{
    background:#fff4e5;
    color:#9b6928;
}

.portal-control-status-badge--danger{
    background:#fbecef;
    color:#a94e59;
}

.portal-control-workflow{
    display:grid;
    gap:8px;
}

.portal-control-workflow__row{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:10px;
    border:1px solid #edf0f3;
    border-radius:10px;
    background:#fafcfd;
}

.portal-control-workflow__number{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#e8f3f8;
    color:#2e7e9f;
    font-size:.65rem;
    font-weight:800;
}

.portal-control-workflow__row div{
    display:flex;
    flex-direction:column;
}

.portal-control-workflow__row strong{
    color:#334f66;
    font-size:.7rem;
}

.portal-control-workflow__row div span{
    margin-top:2px;
    color:#8996a2;
    font-size:.59rem;
}

.portal-control-open-filter{
    margin-top:12px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#2d7fa4;
    text-decoration:none;
    font-size:.65rem;
    font-weight:750;
}

.portal-control-open-filter i:last-child{
    margin-left:auto;
}

.portal-control-distribution{
    display:grid;
    gap:13px;
}

.portal-control-distribution > div{
    display:grid;
    grid-template-columns:80px minmax(0,1fr) 35px;
    gap:9px;
    align-items:center;
}

.portal-control-distribution span{
    color:#708493;
    font-size:.62rem;
}

.portal-control-distribution strong{
    color:#314d65;
    font-size:.66rem;
    text-align:right;
}

.portal-control-bar{
    height:7px;
    overflow:hidden;
    border-radius:999px;
    background:#edf1f4;
}

.portal-control-bar b{
    display:block;
    height:100%;
    min-width:0;
    border-radius:inherit;
    background:linear-gradient(90deg,#2f8db2,#2ca4be);
}

.portal-control-health{
    margin-top:18px;
    padding:13px;
    display:flex;
    gap:10px;
    align-items:center;
    border-radius:11px;
    background:#f3f8fa;
    border:1px solid #e1edf2;
}

.portal-control-health > i{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#377d9a;
    background:#e4f0f5;
}

.portal-control-health > div{
    display:flex;
    flex-direction:column;
}

.portal-control-health strong{
    font-size:.69rem;
    color:#35516a;
}

.portal-control-health span{
    margin-top:2px;
    color:#82919e;
    font-size:.58rem;
}

.portal-control-tables{
    margin-bottom:16px;
}

.portal-control-table-list{
    display:grid;
    gap:7px;
}

.portal-control-table-row{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 165px 16px;
    align-items:center;
    gap:10px;
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:10px;
    background:#fafcfd;
    color:#385168;
    text-decoration:none;
}

.portal-control-table-row > i:first-child{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-control-table-row > div{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.portal-control-table-row strong{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:.69rem;
}

.portal-control-table-row span{
    color:#8996a2;
    font-size:.58rem;
}

.portal-control-table-row__last{
    align-items:flex-end;
}

.portal-control-table-row__last span{
    font-size:.55rem;
}

.portal-control-table-row__last strong{
    font-size:.59rem;
}

.portal-control-shortcuts{
    margin-bottom:16px;
}

.portal-control-shortcut{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:10px;
    align-items:center;
}

.portal-control-shortcut > i{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#2d7fa4;
    background:#eaf6fa;
}

.portal-control-shortcut > div{
    display:flex;
    flex-direction:column;
}

.portal-control-shortcut strong{
    font-size:.71rem;
}

.portal-control-shortcut span{
    color:#8996a3;
    font-size:.58rem;
}

.portal-control-security{
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:11px;
    border-radius:13px;
    color:#41647d;
    background:#f1f7fa;
    border:1px solid #dfedf3;
}

.portal-control-security > i{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#357a98;
    background:#e2f0f5;
}

.portal-control-security > div{
    display:flex;
    flex-direction:column;
}

.portal-control-security strong{
    font-size:.7rem;
}

.portal-control-security span{
    margin-top:2px;
    color:#788b9a;
    font-size:.61rem;
}

@media(max-width:1180px){
    .portal-control-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

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

    .portal-control-kpis{
        grid-template-columns:1fr 1fr;
    }

    .portal-control-table-row{
        grid-template-columns:36px minmax(0,1fr) 16px;
    }

    .portal-control-table-row__last{
        display:none;
    }
}

@media(max-width:560px){
    .portal-control-kpis{
        grid-template-columns:1fr;
    }

    .portal-control-hero__content{
        align-items:flex-start;
    }
}


/* ============================================================
   BO_PATCH_026.7 — RAPPORTS & DONNÉES ENRICHIS
   ============================================================ */

.portal-data-hero p{
    margin:8px 0 0;
    max-width:700px;
    color:rgba(255,255,255,.68);
    font-size:.77rem;
    line-height:1.5;
}

.portal-data-primary,
.portal-data-plan{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-radius:10px;
    font-size:.67rem;
    font-weight:750;
}

.portal-data-primary{
    color:#173c55;
    background:#fff;
    text-decoration:none;
}

.portal-data-plan{
    color:#c9edf6;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.portal-data-kpis{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-data-kpis article,
.portal-export-overview article{
    min-height:90px;
    padding:14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
}

.portal-data-kpis span,
.portal-export-overview span{
    color:#8593a1;
    font-size:.61rem;
}

.portal-data-kpis strong,
.portal-export-overview strong{
    margin:4px 0;
    color:#203d58;
    font-size:1.02rem;
}

.portal-data-kpis small,
.portal-export-overview small{
    color:#9aa5ae;
    font-size:.56rem;
}

.portal-data-grid{
    margin-bottom:16px;
}

.portal-report-bars{
    display:grid;
    gap:13px;
}

.portal-report-bar-row__top{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:6px;
}

.portal-report-bar-row__top span{
    color:#708493;
    font-size:.62rem;
}

.portal-report-bar-row__top strong{
    color:#314d65;
    font-size:.65rem;
}

.portal-report-bar{
    height:7px;
    overflow:hidden;
    border-radius:999px;
    background:#edf1f4;
}

.portal-report-bar b{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#2f8db2,#2ca4be);
}

.portal-report-latest{
    margin-top:16px;
    padding:12px;
    display:flex;
    gap:10px;
    align-items:center;
    border-radius:11px;
    background:#f4f8fa;
    border:1px solid #e2ebf0;
}

.portal-report-latest > i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#377d9a;
    background:#e4f0f5;
}

.portal-report-latest > div{
    display:flex;
    flex-direction:column;
}

.portal-report-latest span{
    color:#83919d;
    font-size:.58rem;
}

.portal-report-latest strong{
    margin-top:2px;
    color:#35516a;
    font-size:.67rem;
}

.portal-report-shortcuts{
    display:grid;
    gap:7px;
}

.portal-report-shortcuts a{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f3;
    border-radius:10px;
    color:#385168;
    background:#fafcfd;
    text-decoration:none;
}

.portal-report-shortcuts a > i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-report-shortcuts a > div{
    display:flex;
    flex-direction:column;
}

.portal-report-shortcuts strong{
    font-size:.69rem;
}

.portal-report-shortcuts span{
    color:#8996a2;
    font-size:.58rem;
}

.portal-report-shortcuts b{
    min-width:28px;
    height:28px;
    padding:0 8px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#35526b;
    background:#edf2f5;
    font-size:.63rem;
}

.portal-report-table-card{
    margin-bottom:16px;
}

.portal-report-table-list,
.portal-export-table-list{
    display:grid;
    gap:7px;
}

.portal-report-table-row,
.portal-export-table-list a{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 165px 16px;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:10px;
    color:#385168;
    background:#fafcfd;
    text-decoration:none;
}

.portal-report-table-row > i:first-child,
.portal-export-table-list a > i:first-child{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-report-table-row > div,
.portal-export-table-list a > div{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.portal-report-table-row strong,
.portal-export-table-list strong{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:.67rem;
}

.portal-report-table-row span,
.portal-export-table-list span{
    color:#8996a2;
    font-size:.57rem;
}

.portal-data-security,
.portal-export-policy{
    padding:14px 16px;
    display:flex;
    gap:11px;
    align-items:center;
    border-radius:13px;
    color:#41647d;
    background:#f1f7fa;
    border:1px solid #dfedf3;
}

.portal-data-security > i,
.portal-export-policy > i{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#357a98;
    background:#e2f0f5;
}

.portal-data-security > div,
.portal-export-policy > div{
    display:flex;
    flex-direction:column;
}

.portal-data-security strong,
.portal-export-policy strong{
    font-size:.7rem;
}

.portal-data-security span,
.portal-export-policy span{
    margin-top:2px;
    color:#788b9a;
    font-size:.61rem;
}

.portal-export-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-export-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.portal-export-card{
    padding:16px;
    display:flex;
    flex-direction:column;
    border:1px solid #e4eaf0;
    border-radius:14px;
    background:#fff;
}

.portal-export-card__icon{
    width:44px;
    height:44px;
    margin-bottom:12px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#347f9f;
    background:#eaf5f9;
    font-size:1rem;
}

.portal-export-card h2{
    margin:3px 0 5px;
    color:#27435b;
    font-size:.84rem;
}

.portal-export-card p{
    margin:0;
    color:#8593a0;
    font-size:.62rem;
    line-height:1.5;
}

.portal-export-card a{
    margin-top:15px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#2d7fa4;
    text-decoration:none;
    font-size:.64rem;
    font-weight:750;
}

.portal-export-card a i{
    margin-left:auto;
}

.portal-export-disabled{
    margin-top:15px;
    color:#9aa4ad;
    font-size:.61rem;
    font-weight:650;
}

.portal-export-tables{
    margin-bottom:16px;
}

@media(max-width:1200px){
    .portal-data-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .portal-export-overview{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .portal-export-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .portal-data-kpis,
    .portal-export-overview{
        grid-template-columns:1fr 1fr;
    }

    .portal-report-table-row,
    .portal-export-table-list a{
        grid-template-columns:36px minmax(0,1fr) 16px;
    }

    .portal-report-table-row > div:nth-child(3),
    .portal-export-table-list a > div:nth-child(3){
        display:none;
    }
}

@media(max-width:520px){
    .portal-data-kpis,
    .portal-export-overview{
        grid-template-columns:1fr;
    }
}


/* ============================================================
   BO_PATCH_026.8 — ACTIVITÉ ENRICHIE
   ============================================================ */

.portal-activity-hero p{
    margin:8px 0 0;
    max-width:700px;
    color:rgba(255,255,255,.68);
    font-size:.77rem;
    line-height:1.5;
}

.portal-activity-security,
.portal-activity-primary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-radius:10px;
    font-size:.67rem;
    font-weight:750;
}

.portal-activity-security{
    color:#c9edf6;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.portal-activity-primary{
    color:#173c55;
    background:#fff;
    text-decoration:none;
}

.portal-activity-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-activity-kpi{
    min-height:108px;
    padding:14px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 16px;
    gap:11px;
    align-items:center;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
    color:#385168;
    text-decoration:none;
}

.portal-activity-kpi__icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-activity-kpi--verify .portal-activity-kpi__icon{
    color:#9b6928;
    background:#fff4e5;
}

.portal-activity-kpi--danger .portal-activity-kpi__icon{
    color:#a94e59;
    background:#fbecef;
}

.portal-activity-kpi > div:nth-child(2){
    display:flex;
    flex-direction:column;
}

.portal-activity-kpi span{
    color:#728491;
    font-size:.62rem;
}

.portal-activity-kpi strong{
    margin:3px 0;
    color:#203d58;
    font-size:1.08rem;
}

.portal-activity-kpi small{
    color:#98a2ab;
    font-size:.56rem;
    line-height:1.4;
}

.portal-activity-grid{
    margin-bottom:16px;
}

.portal-activity-alert-list{
    display:grid;
    gap:7px;
}

.portal-activity-alert-list a{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f3;
    border-radius:10px;
    color:#385168;
    background:#fafcfd;
    text-decoration:none;
}

.portal-activity-alert-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-activity-alert-icon--verify{
    color:#9b6928;
    background:#fff4e5;
}

.portal-activity-alert-icon--danger{
    color:#a94e59;
    background:#fbecef;
}

.portal-activity-alert-list a > div:nth-child(2){
    display:flex;
    flex-direction:column;
}

.portal-activity-alert-list strong{
    font-size:.68rem;
}

.portal-activity-alert-list span{
    color:#8996a2;
    font-size:.58rem;
}

.portal-activity-alert-list b{
    min-width:28px;
    height:28px;
    padding:0 8px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#edf2f5;
    color:#35526b;
    font-size:.63rem;
}

.portal-activity-info{
    margin-top:15px;
    padding:12px;
    display:flex;
    gap:10px;
    align-items:center;
    border-radius:11px;
    background:#f4f8fa;
    border:1px solid #e1edf2;
}

.portal-activity-info > i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#377d9a;
    background:#e4f0f5;
}

.portal-activity-info > div{
    display:flex;
    flex-direction:column;
}

.portal-activity-info strong{
    font-size:.68rem;
    color:#35516a;
}

.portal-activity-info span{
    margin-top:2px;
    color:#82919e;
    font-size:.58rem;
}

.portal-activity-timeline{
    position:relative;
    display:grid;
    gap:0;
}

.portal-activity-timeline a{
    position:relative;
    display:grid;
    grid-template-columns:16px minmax(0,1fr) 150px;
    gap:10px;
    align-items:center;
    min-height:52px;
    padding:7px 0;
    color:#385168;
    text-decoration:none;
}

.portal-activity-timeline__dot{
    width:9px;
    height:9px;
    margin-left:3px;
    border-radius:50%;
    background:#2d91b3;
    box-shadow:0 0 0 4px #e8f4f8;
}

.portal-activity-timeline a > div{
    display:flex;
    flex-direction:column;
}

.portal-activity-timeline strong{
    font-size:.67rem;
}

.portal-activity-timeline span:not(.portal-activity-timeline__dot){
    color:#8996a2;
    font-size:.57rem;
}

.portal-activity-timeline time{
    text-align:right;
    color:#758894;
    font-size:.56rem;
}

.portal-activity-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-activity-actions a{
    padding:13px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:center;
    border:1px solid #e4eaf0;
    border-radius:12px;
    background:#fff;
    color:#385168;
    text-decoration:none;
}

.portal-activity-actions a > i{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-activity-actions a > div{
    display:flex;
    flex-direction:column;
}

.portal-activity-actions strong{
    font-size:.69rem;
}

.portal-activity-actions span{
    color:#8996a2;
    font-size:.57rem;
}

.portal-activity-note{
    padding:14px 16px;
    display:flex;
    gap:11px;
    align-items:center;
    border-radius:13px;
    color:#41647d;
    background:#f1f7fa;
    border:1px solid #dfedf3;
}

.portal-activity-note > i{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#357a98;
    background:#e2f0f5;
}

.portal-activity-note > div{
    display:flex;
    flex-direction:column;
}

.portal-activity-note strong{
    font-size:.7rem;
}

.portal-activity-note span{
    margin-top:2px;
    color:#788b9a;
    font-size:.61rem;
}

.portal-history-kpis{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-history-kpis article{
    min-height:90px;
    padding:14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
}

.portal-history-kpis span{
    color:#8593a1;
    font-size:.61rem;
}

.portal-history-kpis strong{
    margin:4px 0;
    color:#203d58;
    font-size:1.02rem;
}

.portal-history-kpis small{
    color:#9aa5ae;
    font-size:.56rem;
}

.portal-history-card{
    margin-bottom:16px;
}

.portal-activity-count{
    padding:6px 9px;
    border-radius:999px;
    background:#edf6fa;
    color:#397a99;
    font-size:.61rem;
    font-weight:750;
}

.portal-history-timeline{
    display:grid;
    gap:0;
}

.portal-history-timeline > a{
    display:grid;
    grid-template-columns:145px 18px minmax(0,1fr) 16px;
    gap:10px;
    align-items:center;
    min-height:70px;
    color:#385168;
    text-decoration:none;
    border-bottom:1px solid #edf0f2;
}

.portal-history-timeline > a:last-child{
    border-bottom:0;
}

.portal-history-date{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.portal-history-date i{
    color:#4083a1;
}

.portal-history-date time{
    color:#738694;
    font-size:.58rem;
}

.portal-history-line{
    width:2px;
    height:48px;
    justify-self:center;
    border-radius:999px;
    background:#dceaf0;
}

.portal-history-event{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:center;
}

.portal-history-event__icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-history-event > div{
    display:flex;
    flex-direction:column;
}

.portal-history-event strong{
    font-size:.68rem;
}

.portal-history-event span{
    color:#738694;
    font-size:.59rem;
}

.portal-history-event small{
    color:#99a3ac;
    font-size:.55rem;
}

.portal-history-shortcuts{
    margin-bottom:16px;
}

.portal-history-shortcuts a{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:10px;
    align-items:center;
}

.portal-history-shortcuts a > i{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#2d7fa4;
    background:#eaf6fa;
}

.portal-history-shortcuts a > div{
    display:flex;
    flex-direction:column;
}

.portal-history-shortcuts strong{
    font-size:.69rem;
}

.portal-history-shortcuts span{
    color:#8996a3;
    font-size:.57rem;
}

@media(max-width:1100px){
    .portal-history-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:820px){
    .portal-activity-kpis,
    .portal-activity-actions{
        grid-template-columns:1fr;
    }

    .portal-history-timeline > a{
        grid-template-columns:1fr 12px minmax(0,2fr) 14px;
    }

    .portal-activity-timeline a{
        grid-template-columns:16px minmax(0,1fr);
    }

    .portal-activity-timeline time{
        grid-column:2;
        text-align:left;
    }
}

@media(max-width:620px){
    .portal-history-kpis{
        grid-template-columns:1fr;
    }

    .portal-history-timeline > a{
        grid-template-columns:1fr;
        padding:12px 0;
    }

    .portal-history-line{
        display:none;
    }
}


/* ============================================================
   BO_PATCH_026.9 — MON COMPTE ENRICHI
   ============================================================ */

.portal-account-hero p{
    margin:8px 0 0;
    max-width:700px;
    color:rgba(255,255,255,.68);
    font-size:.77rem;
    line-height:1.5;
}

.portal-account-plan-chip,
.portal-subscription-status-lg{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 11px;
    border-radius:10px;
    font-size:.66rem;
    font-weight:750;
}

.portal-account-plan-chip{
    color:#c9edf6;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.portal-subscription-status-lg{
    color:#d7f3e6;
    background:rgba(76,175,125,.13);
    border:1px solid rgba(148,229,187,.20);
}

.portal-account-profile-grid{
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
    gap:12px;
    margin-bottom:16px;
}

.portal-account-identity-card,
.portal-account-subscription-hero{
    padding:18px;
    border:1px solid #e4eaf0;
    border-radius:14px;
    background:#fff;
}

.portal-account-identity-card{
    display:flex;
    align-items:center;
    gap:14px;
}

.portal-account-avatar-lg{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:grid;
    place-items:center;
    border-radius:17px;
    color:#287b9f;
    background:#e7f4f8;
    font-size:1.3rem;
    font-weight:800;
}

.portal-account-identity-card h2{
    margin:4px 0 1px;
    color:#263f55;
    font-size:1rem;
}

.portal-account-identity-card > div > strong{
    color:#8795a0;
    font-size:.62rem;
}

.portal-account-badges{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.portal-account-badges span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 7px;
    border-radius:999px;
    color:#527086;
    background:#f0f5f7;
    font-size:.56rem;
}

.portal-account-details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:0;
}

.portal-account-details div{
    padding:10px;
    border-radius:10px;
    background:#fafcfd;
    border:1px solid #edf0f2;
}

.portal-account-details dt{
    color:#8b98a3;
    font-size:.57rem;
}

.portal-account-details dd{
    margin:3px 0 0;
    color:#34516a;
    font-size:.68rem;
    font-weight:700;
}

.portal-account-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-account-kpis article,
.portal-support-summary article{
    min-height:90px;
    padding:14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
}

.portal-account-kpis span,
.portal-support-summary span{
    color:#8593a1;
    font-size:.61rem;
}

.portal-account-kpis strong,
.portal-support-summary strong{
    margin:4px 0;
    color:#203d58;
    font-size:.92rem;
}

.portal-account-kpis small,
.portal-support-summary small{
    color:#9aa5ae;
    font-size:.56rem;
}

.portal-account-grid{
    margin-bottom:16px;
}

.portal-account-security-list{
    display:grid;
    gap:8px;
}

.portal-account-security-list > div{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:10px;
    background:#fafcfd;
}

.portal-account-security-list i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#327d9e;
    background:#e9f4f8;
}

.portal-account-security-list div div{
    display:flex;
    flex-direction:column;
}

.portal-account-security-list strong{
    color:#35516a;
    font-size:.68rem;
}

.portal-account-security-list span{
    margin-top:2px;
    color:#8796a2;
    font-size:.58rem;
}

.portal-account-links{
    display:grid;
    gap:7px;
}

.portal-account-links a{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 14px;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:10px;
    color:#385168;
    background:#fafcfd;
    text-decoration:none;
}

.portal-account-links a > i:first-child{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-account-links div{
    display:flex;
    flex-direction:column;
}

.portal-account-links strong{
    font-size:.68rem;
}

.portal-account-links span{
    color:#8996a2;
    font-size:.58rem;
}

.portal-account-subscription-hero{
    margin-bottom:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    background:linear-gradient(135deg,#f8fbfc,#eef7fa);
}

.portal-account-subscription-hero h2{
    margin:4px 0;
    color:#24445c;
    font-size:1.2rem;
}

.portal-account-subscription-hero p{
    margin:0;
    color:#7890a0;
    font-size:.64rem;
}

.portal-account-subscription-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}

.portal-account-subscription-meta span{
    color:#8b98a3;
    font-size:.56rem;
}

.portal-account-subscription-meta strong{
    margin-top:3px;
    color:#34516a;
    font-size:.7rem;
}

.portal-account-count{
    padding:5px 8px;
    border-radius:999px;
    color:#397a99;
    background:#edf6fa;
    font-size:.58rem;
    font-weight:750;
}

.portal-subscription-capabilities{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}

.portal-subscription-capabilities div{
    display:flex;
    gap:7px;
    align-items:center;
    padding:9px;
    border:1px solid #edf0f2;
    border-radius:9px;
    background:#fafcfd;
}

.portal-subscription-capabilities i{
    color:#3d9a70;
}

.portal-subscription-capabilities span{
    color:#536d7f;
    font-size:.62rem;
}

.portal-account-notice{
    padding:14px 16px;
    display:flex;
    gap:11px;
    align-items:center;
    border-radius:13px;
    color:#41647d;
    background:#f1f7fa;
    border:1px solid #dfedf3;
}

.portal-account-notice > i{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#357a98;
    background:#e2f0f5;
}

.portal-account-notice > div{
    display:flex;
    flex-direction:column;
}

.portal-account-notice strong{
    font-size:.7rem;
}

.portal-account-notice span{
    margin-top:2px;
    color:#788b9a;
    font-size:.61rem;
}

.portal-account-notice > a{
    margin-left:auto;
    color:#2d7fa4;
    text-decoration:none;
    font-size:.62rem;
    font-weight:750;
    white-space:nowrap;
}

.portal-settings-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.portal-settings-card{
    padding:16px;
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    border:1px solid #e4eaf0;
    border-radius:14px;
    background:#fff;
}

.portal-settings-card__icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-settings-card h2{
    margin:3px 0 5px;
    color:#29465e;
    font-size:.79rem;
}

.portal-settings-card p{
    margin:0;
    color:#8795a0;
    font-size:.61rem;
    line-height:1.5;
}

.portal-settings-card a{
    margin-top:10px;
    display:inline-flex;
    color:#2d7fa4;
    text-decoration:none;
    font-size:.62rem;
    font-weight:750;
}

.portal-settings-mini-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:10px 0 0;
}

.portal-settings-mini-list div{
    padding:8px;
    border-radius:8px;
    background:#f7fafb;
}

.portal-settings-mini-list dt{
    color:#93a0aa;
    font-size:.52rem;
}

.portal-settings-mini-list dd{
    margin:2px 0 0;
    color:#456177;
    font-size:.59rem;
    font-weight:700;
}

.portal-settings-checks{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.portal-settings-checks span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 7px;
    border-radius:999px;
    color:#5b7385;
    background:#f1f5f7;
    font-size:.55rem;
}

.portal-support-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-support-steps{
    display:grid;
    gap:8px;
}

.portal-support-steps > div{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:9px;
    align-items:start;
    padding:9px;
    border-radius:9px;
    border:1px solid #edf0f2;
    background:#fafcfd;
}

.portal-support-steps > div > span{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#2f7f9f;
    background:#e9f4f8;
    font-size:.61rem;
    font-weight:800;
}

.portal-support-steps div div{
    display:flex;
    flex-direction:column;
}

.portal-support-steps strong{
    color:#35516a;
    font-size:.67rem;
}

.portal-support-steps small{
    margin-top:2px;
    color:#8796a2;
    font-size:.57rem;
}

.portal-support-diagnostic{
    width:100%;
    min-height:190px;
    padding:12px;
    resize:vertical;
    border:1px solid #dfe7ec;
    border-radius:10px;
    color:#405c72;
    background:#f8fafb;
    font: .61rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.portal-support-copy{
    margin-top:10px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border:0;
    border-radius:9px;
    color:#fff;
    background:#2d8ab3;
    font-size:.61rem;
    font-weight:750;
}

.portal-support-shortcuts{
    margin-bottom:16px;
}

.portal-support-shortcuts a{
    display:flex;
    flex-direction:column;
    color:#35516a;
    text-decoration:none;
}

.portal-support-shortcuts a > i{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    margin-bottom:8px;
    border-radius:10px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-support-shortcuts strong{
    font-size:.68rem;
}

.portal-support-shortcuts span{
    margin-top:2px;
    color:#8996a3;
    font-size:.57rem;
}

@media(max-width:1050px){
    .portal-account-kpis,
    .portal-support-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .portal-account-profile-grid,
    .portal-settings-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .portal-account-details,
    .portal-subscription-capabilities{
        grid-template-columns:1fr;
    }

    .portal-settings-mini-list{
        grid-template-columns:1fr;
    }

    .portal-account-subscription-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .portal-account-subscription-meta{
        align-items:flex-start;
    }
}

@media(max-width:520px){
    .portal-account-kpis,
    .portal-support-summary{
        grid-template-columns:1fr;
    }

    .portal-account-identity-card{
        align-items:flex-start;
        flex-direction:column;
    }

    .portal-account-notice{
        align-items:flex-start;
        flex-direction:column;
    }

    .portal-account-notice > a{
        margin-left:46px;
    }
}


/* BO_PATCH_026.9.1 — correction identité profil */
.portal-profile-reference{
    margin-top:5px;
    display:flex;
    flex-direction:column;
    gap:1px;
}
.portal-profile-reference span{
    color:#8b98a3;
    font-size:.54rem;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.portal-profile-reference strong{
    color:#5c7183;
    font-size:.62rem;
}


/* ============================================================
   BO_PATCH_026.10 — UTILISATEUR / SESSION ENRICHI
   ============================================================ */

.portal-account-card-link{
    position:relative;
    text-decoration:none;
    color:inherit;
    transition:background .15s ease, border-color .15s ease;
}

.portal-account-card-link:hover,
.portal-account-card-link.active{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12);
}

.portal-account-card-link small{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.48);
    font-size:.49rem;
}

.portal-account-card-chevron{
    margin-left:auto;
    color:rgba(255,255,255,.35);
    font-size:.56rem;
}

.portal-session-hero p{
    margin:8px 0 0;
    max-width:710px;
    color:rgba(255,255,255,.68);
    font-size:.76rem;
    line-height:1.5;
}

.portal-session-status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border:1px solid rgba(142,231,188,.18);
    border-radius:10px;
    color:#d4f5e4;
    background:rgba(61,166,112,.13);
    font-size:.64rem;
    font-weight:750;
}

.portal-session-identity{
    display:grid;
    grid-template-columns:1.4fr repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-session-identity article,
.portal-session-kpis article{
    min-height:94px;
    padding:14px;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#fff;
}

.portal-session-identity article:first-child{
    display:flex;
    align-items:center;
    gap:12px;
}

.portal-session-avatar{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:#2c80a4;
    background:#e7f4f8;
}

.portal-session-identity h2{
    margin:3px 0 2px;
    color:#27465e;
    font-size:.92rem;
}

.portal-session-identity p{
    margin:0;
    color:#8998a3;
    font-size:.59rem;
}

.portal-session-identity article:not(:first-child){
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.portal-session-identity article:not(:first-child) span{
    color:#8996a2;
    font-size:.56rem;
}

.portal-session-identity article:not(:first-child) strong{
    margin:4px 0;
    color:#34516a;
    font-size:.68rem;
}

.portal-session-identity article:not(:first-child) small{
    color:#9aa5ad;
    font-size:.53rem;
}

.portal-session-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.portal-session-kpis article{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:center;
}

.portal-session-kpis article > i{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#347f9f;
    background:#eaf5f9;
}

.portal-session-kpis article div{
    display:flex;
    flex-direction:column;
}

.portal-session-kpis span{
    color:#8695a0;
    font-size:.55rem;
}

.portal-session-kpis strong{
    margin:3px 0;
    color:#304f68;
    font-size:.7rem;
}

.portal-session-kpis small{
    color:#99a4ac;
    font-size:.51rem;
}

.portal-session-grid{
    margin-bottom:16px;
}

.portal-session-security-list{
    display:grid;
    gap:8px;
}

.portal-session-security-list > div{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:9px;
    border-radius:9px;
    border:1px solid #edf0f2;
    background:#fafcfd;
}

.portal-session-security-list i{
    color:#3c9870;
}

.portal-session-security-list div div{
    display:flex;
    flex-direction:column;
}

.portal-session-security-list strong{
    color:#35516a;
    font-size:.66rem;
}

.portal-session-security-list span{
    margin-top:2px;
    color:#8796a2;
    font-size:.56rem;
}

.portal-session-advice{
    display:grid;
    gap:8px;
}

.portal-session-advice > div{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:9px;
    align-items:center;
}

.portal-session-advice span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#2f7f9f;
    background:#e9f4f8;
    font-size:.57rem;
    font-weight:800;
}

.portal-session-advice p{
    margin:0;
    color:#667e90;
    font-size:.59rem;
    line-height:1.45;
}

.portal-session-support-link{
    margin-top:13px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#2d7fa4;
    text-decoration:none;
    font-size:.61rem;
    font-weight:750;
}

.portal-session-history{
    margin-bottom:16px;
}

.portal-session-table-wrap{
    overflow:auto;
}

.portal-session-table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}

.portal-session-table th,
.portal-session-table td{
    padding:9px 8px;
    border-bottom:1px solid #edf0f2;
    text-align:left;
    vertical-align:middle;
}

.portal-session-table th{
    color:#80909c;
    font-size:.54rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.portal-session-table td{
    color:#526d80;
    font-size:.57rem;
}

.portal-session-event,
.portal-session-current,
.portal-session-closed,
.portal-session-unknown{
    display:inline-flex;
    align-items:center;
    padding:4px 7px;
    border-radius:999px;
    font-size:.52rem;
    font-weight:750;
}

.portal-session-event--succes{
    color:#337858;
    background:#e9f6ef;
}

.portal-session-event--echec{
    color:#a75555;
    background:#faeded;
}

.portal-session-event--inconnu{
    color:#657887;
    background:#eef2f4;
}

.portal-session-current{
    color:#32795a;
    background:#e9f6ef;
}

.portal-session-closed{
    color:#637988;
    background:#eef3f5;
}

.portal-session-unknown{
    color:#856b3e;
    background:#fbf4e5;
}

.portal-session-actions{
    padding:13px 15px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #dfeaf0;
    border-radius:13px;
    background:#f3f8fa;
}

.portal-session-actions > div{
    display:flex;
    align-items:center;
    gap:9px;
}

.portal-session-actions > div > i{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#397e9d;
    background:#e4f0f5;
}

.portal-session-actions > div > div{
    display:flex;
    flex-direction:column;
}

.portal-session-actions strong{
    color:#3c5970;
    font-size:.67rem;
}

.portal-session-actions span{
    margin-top:2px;
    color:#82929e;
    font-size:.57rem;
}

.portal-session-actions > a{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border-radius:9px;
    color:#fff;
    background:#315d79;
    text-decoration:none;
    font-size:.6rem;
    font-weight:750;
    white-space:nowrap;
}

@media(max-width:1100px){
    .portal-session-identity{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .portal-session-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .portal-session-identity,
    .portal-session-kpis{
        grid-template-columns:1fr;
    }

    .portal-session-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .portal-session-actions > a{
        margin-left:43px;
    }
}
