/* ============================
PORTAIL FEAT
============================ */

.qs-client-portal{

max-width:1400px;
margin:40px auto;
padding:0 20px;

}

.qs-client-card{

background:#fff;
border-radius:18px;
padding:35px;
box-shadow:0 10px 40px rgba(0,0,0,.08);

}

.qs-client-status{

padding:25px;
margin-bottom:25px;
border:1px solid #edf1f7;
border-radius:16px;
transition:.25s;

}

.qs-client-status:hover{

transform:translateY(-3px);

box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.qs-client-btn{

display:inline-block;

padding:12px 22px;

background:#1e3a8a;

color:#fff;

border-radius:10px;

text-decoration:none;

font-weight:600;

transition:.2s;

}

.qs-client-btn:hover{

background:#2563eb;

color:#fff;

}

.qs-progress-bar{

height:8px;

background:#edf2f7;

border-radius:30px;

overflow:hidden;

margin-top:10px;

}

.qs-progress-fill{

height:100%;

background:#2563eb;

border-radius:30px;

}

.qs-badge{

display:inline-block;

padding:6px 12px;

border-radius:30px;

font-size:13px;

font-weight:700;

background:#eff6ff;

color:#2563eb;

}

/* ============================
Corrections dashboard cards
============================ */

.qs-client-status .qs-client-btn{
    padding:10px 16px;
    font-size:14px;
    border-radius:8px;
    box-shadow:none;
}

.qs-client-status .qs-progress-bar{
    max-width:100%;
    height:8px;
    margin:16px 0 10px;
}

.qs-client-status{
    padding:24px 26px;
}

.qs-client-status span{
    display:block;
    font-size:16px;
    margin-bottom:14px;
}

.qs-client-status strong{
    display:block;
    margin-bottom:14px;
}

.qs-client-card > div[style*="text-align:right"]{
    position:absolute;
    top:35px;
    right:35px;
}

.qs-client-card{
    position:relative;
}

.qs-logout-btn{
    padding:10px 16px !important;
    font-size:14px;
}

/* ============================
FEAT - Mission portal layout
============================ */

.qs-client-card h1{
    margin-bottom:18px;
}

.qs-client-status,
.qs-client-partner,
.qs-client-conversation,
.qs-notifications{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:24px;
    margin-top:28px;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.qs-client-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:28px;
}

.qs-client-actions .qs-client-btn{
    margin:0;
}

.qs-message{
    max-width:75%;
    padding:14px 16px;
    border-radius:16px;
    margin:14px 0;
    background:#f3f4f6;
}

.qs-message-client{
    margin-right:auto;
    border-left:4px solid #2563eb;
}

.qs-message-partner{
    margin-left:auto;
    background:#eef2ff;
    border-right:4px solid #1e3a8a;
}

.qs-message p{
    margin:0 0 6px;
}

.qs-message small{
    color:#64748b;
    font-size:12px;
}

.qs-message-form textarea{
    width:100%;
    min-height:120px;
    padding:16px;
    border:1px solid #d1d5db;
    border-radius:14px;
    font-family:inherit;
    font-size:15px;
}

.qs-message-form button{
    margin-top:14px;
}

.qs-notification{
    padding:16px 18px;
    border-radius:14px;
    background:#f8fafc;
    border-left:4px solid #f59e0b;
    margin-bottom:14px;
}

.qs-notification strong{
    display:block;
    margin-bottom:6px;
}

.qs-notification small{
    display:block;
    margin-top:8px;
    color:#64748b;
}

@media(max-width:768px){
    .qs-client-card{
        padding:24px;
    }

    .qs-message{
        max-width:100%;
    }

    .qs-client-actions{
        flex-direction:column;
    }

    .qs-client-actions .qs-client-btn{
        width:100%;
        text-align:center;
    }
}