/* CSE POS Premium — portail salarié responsive */
.cse-employee-portal,
.cse-employee-login,
.cse-employee-portal * {
    box-sizing: border-box;
}

.cse-employee-portal,
.cse-employee-login {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.cse-employee-portal img,
.cse-employee-login img {
    max-width: 100%;
    height: auto;
}

.cse-employee-portal input,
.cse-employee-portal select,
.cse-employee-portal textarea,
.cse-employee-portal button,
.cse-employee-login input,
.cse-employee-login select,
.cse-employee-login textarea,
.cse-employee-login button {
    max-width: 100%;
    font: inherit;
}

.cse-employee-portal input:not([type="checkbox"]):not([type="radio"]),
.cse-employee-portal select,
.cse-employee-portal textarea,
.cse-employee-login input:not([type="checkbox"]):not([type="radio"]),
.cse-employee-login select,
.cse-employee-login textarea {
    width: 100%;
    min-width: 0;
}

.cse-employee-portal table,
.cse-employee-login table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

.cse-employee-portal .cse-card,
.cse-employee-portal section,
.cse-employee-portal form,
.cse-employee-login form {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 782px) {
    .cse-employee-portal,
    .cse-employee-login {
        padding-left: 12px;
        padding-right: 12px;
    }

    .cse-employee-portal h1 { font-size: 1.75rem; }
    .cse-employee-portal h2 { font-size: 1.45rem; }
    .cse-employee-portal h3 { font-size: 1.2rem; }

    .cse-employee-portal form,
    .cse-employee-login form {
        display: block;
    }

    .cse-employee-portal label,
    .cse-employee-login label {
        display: block;
        width: 100%;
        margin-bottom: 6px;
    }

    .cse-employee-portal input,
    .cse-employee-portal select,
    .cse-employee-portal textarea,
    .cse-employee-login input,
    .cse-employee-login select,
    .cse-employee-login textarea {
        display: block;
        width: 100% !important;
        margin: 0 0 14px !important;
    }

    .cse-employee-portal input[type="file"] {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .cse-employee-portal button,
    .cse-employee-portal input[type="submit"],
    .cse-employee-login button,
    .cse-employee-login input[type="submit"] {
        width: 100%;
        min-height: 46px;
        white-space: normal;
    }

    .cse-employee-portal table,
    .cse-employee-login table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .cse-employee-portal th,
    .cse-employee-portal td,
    .cse-employee-login th,
    .cse-employee-login td {
        white-space: nowrap;
    }
}


/* 7.3.2 — Hub notifications salariés */
.cse-portal-notification-hub{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 18px;padding:12px 14px;border:1px solid rgba(20,70,130,.14);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(20,55,95,.08)}
.cse-portal-bell{position:relative;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;padding:9px 13px;border-radius:999px;background:#f4f7fb;color:inherit}
.cse-portal-bell.has-unread{box-shadow:0 0 0 2px rgba(245,130,32,.18)}
.cse-portal-bell-icon{font-size:22px;line-height:1}
.cse-portal-bell-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:#f58220;color:#fff}
.cse-portal-bell-text{font-size:14px;font-weight:600}
@media(max-width:640px){.cse-portal-notification-hub{align-items:flex-start}.cse-portal-bell-label{display:none}.cse-portal-bell-text{flex:1;min-width:180px}}
