/* ============================
   Portal Layout
============================ */

.mcp-layout{

    display:flex;

    min-height:100vh;

    width:100%;

}

.mcp-sidebar{

    width:270px;

    background:var(--mcp-brand);

    color:#fff;

    display:flex;

    flex-direction:column;

    flex-shrink:0;

    height:100vh;

    overflow:hidden;

}

body.admin-bar .mcp-sidebar{

    top:32px;

    height:calc(100vh - 32px);

}

.mcp-main{

    flex:1;

    min-width:0;

    height:100vh;

    overflow-y:auto;

    overflow-x:hidden;

    padding:40px;

    box-sizing:border-box;

}

/* =========================================================
   LAYOUT
========================================================= */

.mcp-main-content{

    flex:1;

    height:0;

    min-height:0;

    padding:24px 40px 24px;
    
    overflow-y:auto;

    overflow-x:hidden;

    box-sizing:border-box;
}

/* =========================================================
   APP LAYOUT LOCK
========================================================= */

body{
    overflow:hidden;
}

/* top-level portal wrapper */

.mcp-layout{
    height:100vh;
    overflow:hidden;
}

/* =========================================================
   SIDEBAR / NAV
========================================================= */

.mcp-nav-item{
    cursor:pointer;

    border-radius:0px;

    transition:
        background-color .12s ease,
        box-shadow .12s ease;
}

.mcp-nav-message-wrap{

     font-family:'Lato',sans-serif !important;
  display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;

    color:inherit;
    font:inherit;
}

.mcp-nav-message-wrap span:first-child{

    color:inherit;
    font:inherit;
}

.mcp-nav-badge{

    min-width:20px;
    height:20px;

    padding:0 7px;

    border-radius:999px;

    background:#ef4444;

    color:#fff;

    font-size:11px;
    font-weight:700;
    line-height:1;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    margin-left:10px;

    box-shadow:
    0 2px 8px rgba(239,68,68,.35);

    transition:.2s ease;
}

.mcp-thread-active .mcp-nav-badge,
.mcp-sidebar-link-active .mcp-nav-badge{

    transform:scale(1.05);
}

.mcp-signature-active{

    background:#dcfce7;
    color:#166534;

}

.mcp-signature-pending{

    background:#fef3c7;
    color:#92400e;

}

.mcp-signature-incomplete{

    background:#f3f4f6;
    color:#6b7280;

}

/* =========================================================
   NAV HOVER
========================================================= */

.mcp-nav-item:hover{

    background:var(--mcp-brand-hover);

    transform:none;

}

/* =========================================================
   ACTIVE NAV STATES
========================================================= */

/* Dashboard */

.page-id-21 .mcp-nav-dashboard .mcp-nav-item{
    background:var(--mcp-brand-dark);
}

/* Clients */

.page-id-171 .mcp-nav-clients .mcp-nav-item{
    background:var(--mcp-brand-dark);
}

/* Documents */

.page-id-102 .mcp-nav-documents .mcp-nav-item{
    background:var(--mcp-brand-dark);
}

/* Messages */

.page-id-113 .mcp-nav-messages .mcp-nav-item{
    background:var(--mcp-brand-dark);
}

/* Case Updates */

.page-id-117 .mcp-nav-cases .mcp-nav-item{
    background:var(--mcp-brand-dark);
}

/* Client Questionnaire */

.page-id-212 .mcp-nav-questionnaire .mcp-nav-item{
    background:var(--mcp-brand-dark);
}

/* =========================================================
   FOLDER CARDS
========================================================= */

.mcp-folder-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:20px;
    margin-top:24px;
}

.mcp-folder-card{
    background:#ffffff;
    border-radius:16px;
    padding:22px;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
    transition:.2s ease;
    cursor:pointer;
}

.mcp-folder-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 40px rgba(0,0,0,.08);
}

.mcp-folder-icon{
    font-size:36px;
    margin-bottom:14px;
}

.mcp-folder-name{
    font-size:16px;
    font-weight:600;
    color:#0f172a;
}

/* =========================================================
   DOCUMENTS TABLE
========================================================= */

.mcp-documents-table{
    background:#ffffff;
    border-radius:18px;
    overflow:visible;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
    margin-top:24px;
    margin-bottom:60px;
}

.mcp-sort-header{

    cursor:pointer;

    user-select:none;

    transition:.15s ease;
}

.mcp-sort-header:hover{

    color:var(--mcp-brand);

}

.mcp-documents-header{
    border-top-left-radius:20px;
    border-top-right-radius:20px;
}

.mcp-documents-header{
    display:grid;

    grid-template-columns:
minmax(0,1fr)
170px
120px
60px;

    align-items:center;

    gap:20px;

    padding:16px 22px;

    background:#f8fafc;

    font-size:13px;
    font-weight:600;

    color:#64748b;

    border-bottom:1px solid #e2e8f0;
}

.mcp-document-row{
    display:grid;

    grid-template-columns:
minmax(0,1fr)
170px
120px
60px;

    gap:20px;

    align-items:center;

    padding:12px 22px;

    border-bottom:1px solid #f1f5f9;

    transition:.18s ease;
}

.mcp-document-row:last-child{
    border-bottom:none;
}

.mcp-document-row:hover{
    background:#f8fafc;
}

.mcp-document-name{
    display:flex;
    align-items:center;
    gap:14px;
}

.mcp-document-icon{
    width:28px;
    height:34px;

    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:8px;

    color:#ffffff;

    font-size:9px;
    font-weight:700;
    letter-spacing:.04em;

    flex-shrink:0;

    overflow:hidden;

    box-shadow:
        0 4px 10px rgba(15,23,42,.06);
}

/* folded corner */

.mcp-document-icon::after{
    content:"";

    position:absolute;

    top:0;
    right:0;

    width:14px;
    height:14px;

    background:rgba(255,255,255,.22);

    clip-path:polygon(100% 0, 0 0, 100% 100%);
}

/* PDF */

.mcp-file-pdf{
    background:linear-gradient(
        135deg,
        #ff6257 0%,
        #e53935 100%
    );
}

/* WORD */

.mcp-file-doc,
.mcp-file-docx{
    background:linear-gradient(
        135deg,
        #4f8dfd 0%,
        #2563eb 100%
    );
}

/* EXCEL */

.mcp-file-xls,
.mcp-file-xlsx,
.mcp-file-csv{
    background:linear-gradient(
        135deg,
        #43c174 0%,
        #15803d 100%
    );
}

/* IMAGE */

.mcp-file-jpg,
.mcp-file-jpeg,
.mcp-file-png,
.mcp-file-webp{
    background:linear-gradient(
        135deg,
        #a855f7 0%,
        #7e22ce 100%
    );
}

/* ZIP */

.mcp-file-zip{
    background:linear-gradient(
        135deg,
        #64748b 0%,
        #334155 100%
    );
}

.mcp-document-title{
    font-size:14px;
    font-weight:600;
    color:#0f172a;
    line-height:1.35;
}

.mcp-document-row > div:not(.mcp-document-name){
    font-size:14px;
    color:#334155;
}

.mcp-document-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.mcp-document-actions{
    justify-self:end;
}

/* =========================================================
   DOCUMENT ACTION ICONS
========================================================= */

.mcp-doc-action,
.mcp-doc-menu-toggle{

    width:36px;
    height:36px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:none;

    border-radius:10px;

    background:#f8fafc;

    color:#365472 !important;

    text-decoration:none;

    cursor:pointer;

    transition:
        background-color .12s ease,
        color .12s ease;
}

.mcp-doc-action svg,
.mcp-doc-menu-toggle svg{

    width:18px;
    height:18px;

    display:block;

    stroke:#365472 !important;

    fill:none;
}

.mcp-doc-action:hover,
.mcp-doc-menu-toggle:hover{

    background:#e9eef5;

    color:#2A425A !important;
}

.mcp-doc-action:hover svg,
.mcp-doc-menu-toggle:hover svg{

    stroke:#2A425A !important;
}

.mcp-bulk-menu-item{

display:block;
width:100%;
border:none;
background:#fff;
padding:12px 16px;
text-align:left;
font-size:14px;
cursor:pointer;

}

.mcp-bulk-menu-item:hover{

background:#f8fafc;

}

.mcp-doc-menu a.mcp-doc-menu-item{
    text-decoration:none;
    color:inherit;
}

.mcp-doc-menu a.mcp-doc-menu-item,
.mcp-doc-menu a.mcp-doc-menu-item:hover,
.mcp-doc-menu a.mcp-doc-menu-item:visited,
.mcp-doc-menu a.mcp-doc-menu-item:active{
    color:inherit;
    text-decoration:none;
}

/* =========================================================
   GLOBAL PAGE HEADERS
========================================================= */

.mcp-page-header{
    margin-bottom:36px;
}

.mcp-page-title{

    font-family:"Cormorant Garamond", serif !important;

    font-size:56px;

    font-weight:400 !important;

    line-height:.95;

    letter-spacing:-0.02em;

    color:#0f172a;

    margin:0 0 10px;
}

.mcp-page-subtitle{

    font-size:15px;

    line-height:1.7;

    color:#64748b;

    max-width:720px;
}

/* =========================================================
   DASHBOARD GRID
========================================================= */

.mcp-dashboard-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
}

.mcp-dashboard-panel{
    background:#ffffff;
    border-radius:24px;
    border:1px solid #edf2f7;
    box-shadow:
        0 4px 18px rgba(15,23,42,.04);
    overflow:hidden;
}

.mcp-dashboard-panel-header{

    height:74px;

    padding:0 28px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    background:#f8fafc;

    border-bottom:1px solid #e2e8f0;

}

.mcp-dashboard-section-title{

    font-size:18px !important;

    font-weight:700;

    line-height:1.2;

    color:#0f172a;
}

.mcp-dashboard-panel-header a{

    color:var(--mcp-brand);

    text-decoration:none;

    font-weight:600;

    transition:.15s ease;
}

.mcp-dashboard-panel-header a:hover{

    color:var(--mcp-brand-dark);
}

/* =========================================================
   DASHBOARD RECENT DOCUMENTS ACTIONS
========================================================= */

.mcp-dashboard-upload{

    display:inline-flex;

    align-items:center;

    cursor:pointer;

    text-decoration:none;
}

.mcp-dashboard-footer-link{

    padding:18px 28px;

    border-top:1px solid #edf2f7;

    text-align:center;
}

.mcp-dashboard-footer-link a,
.mcp-dashboard-footer-link a:visited{

    font-size:16px;

    font-weight:600;

    color:#42526e !important;

    text-decoration:none;

    transition:
    color .2s ease;
}

.mcp-dashboard-footer-link a:hover{

    color:#2a3955 !important;
}

/* =========================================================
   NEW DOCUMENT BADGES
========================================================= */

.mcp-new-badge{

display:inline-flex;

align-items:center;

justify-content:center;

padding:4px 10px;

border-radius:999px;

background:#dbeafe;

color:#2563eb;

font-size:10px;

font-weight:700;

letter-spacing:.04em;

margin-right:10px;

vertical-align:middle;

flex-shrink:0;
}

.mcp-signature-badge{

display:inline-flex;
align-items:center;

margin-left:0;

padding:4px 10px;

border-radius:999px;

font-size:12px;
font-weight:600;

line-height:1;

vertical-align:middle;

}

.mcp-signature-draft{

background:#fef3c7;
color:#92400e;

}

.mcp-signature-requested{

background:#dbeafe;
color:#1d4ed8;

}

.mcp-signature-viewed{

background:#e0e7ff;

color:#4338ca;

}

.mcp-signature-complete{

background:#dcfce7;
color:#166534;

}

.mcp-send-signature-modal{

display:none;

position:fixed;

inset:0;

z-index:9999;

}

.mcp-assign-questionnaire{

display:inline-flex;
align-items:center;
justify-content:center;

padding:8px 14px;

border:1px solid #2F6FE4;

border-radius:8px;

background:#fff;

color:#2F6FE4;

font-size:13px;
font-weight:600;

text-decoration:none;

transition:.15s ease;

}

.mcp-assign-questionnaire:hover{

background:#f3f8ff;

border-color:#255fca;

color:#255fca;

}


/* =========================================================
   DASHBOARD CONTENT GRID
========================================================= */

.mcp-dashboard-content{

display:grid;

grid-template-columns:2fr 1fr;

gap:24px;

margin-top:28px;
}

/* =========================================================
   RECENT DOCUMENTS
========================================================= */

.mcp-dashboard-doc-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 20px;
    border-bottom:1px solid #f1f5f9;
}

.mcp-dashboard-doc-row:last-child{
    border-bottom:none;
}

.mcp-dashboard-doc-date{
    font-size:14px;
    color:#64748b;
}

/* =========================================================
   SECURITY BOX
========================================================= */

.mcp-dashboard-security{
    margin-top:36px;
    margin-bottom:60px;
    background:linear-gradient(
        180deg,
        #f8fbff 0%,
        #f3f7fd 100%
    );

    border:1px solid #dce8f8;

    border-radius:22px;

    padding:24px;

    display:flex;
    align-items:flex-start;
    gap:18px;
}

.mcp-dashboard-security-icon{
    width:54px;
    height:54px;

    border-radius:16px;

    background:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:24px;
}

.mcp-dashboard-security-title{
    font-size:18px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:6px;
}

.mcp-dashboard-security-text{
    font-size:14px;
    line-height:1.6;
    color:#64748b;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:980px){

.mcp-dashboard-cards{

grid-template-columns:1fr;

}

.mcp-dashboard-content{

grid-template-columns:1fr;

}

.mcp-dashboard-doc-row{

flex-direction:column;

align-items:flex-start;

gap:12px;

}

}

/* =========================================================
   SETTINGS
========================================================= */

.mcp-settings-wrapper{
    max-width:700px;
    padding-bottom:80px;
}

.mcp-settings-section{
    background:#ffffff;
    border-radius:16px;
    padding:28px;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
    margin-bottom:20px;
}

.mcp-settings-label{

    font-size:15px;

    font-weight:600;

    line-height:1.2;

    color:#334155;

    margin-bottom:10px;
}

.mcp-settings-description{
    font-size:13px;
    color:#64748b;
    margin-bottom:16px;
    line-height:1.6;
}

.mcp-settings-input{
    width:100%;
    padding:12px 14px;
    border:1px solid #dbe2ea;
    border-radius:10px;
    font-size:14px;
}

.mcp-settings-button:not(.mcp-outline-button){
    background: transparent !important;
    color: var(--mcp-brand) !important;
    border: 2px solid #cbd8e8;
    border-radius: 14px;
    padding: 12px 22px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: .18s ease;
}

.mcp-settings-link-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    -webkit-text-fill-color:var(--mcp-brand) !important;
}

.mcp-settings-button:hover {
    background: #f7f9fc !important;
    color: var(--mcp-brand) !important;
    border-color: var(--mcp-brand);
    opacity: 1;
    transform: translateY(-1px);
}

.mcp-settings-button.mcp-danger-button,
.mcp-settings-button.mcp-danger-button:visited {
    background: transparent !important;
    color: #b42323 !important;
    -webkit-text-fill-color: #b42323 !important;
    border-color: #efb5b5 !important;
}

.mcp-settings-button.mcp-danger-button:hover,
.mcp-settings-button.mcp-danger-button:focus {
    background: #fff5f5 !important;
    color: #b42323 !important;
    -webkit-text-fill-color: #b42323 !important;
    border-color: #dc2626 !important;
}

.mcp-settings-success{
    background:#ecfdf5;
    border:1px solid #bbf7d0;
    color:#166534;
    padding:14px 16px;
    border-radius:10px;
    margin-bottom:20px;
}

.mcp-settings-link-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    text-decoration:none !important;

    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff;

    line-height:1;

    min-height:44px;
}

.mcp-settings-link-button:hover{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff;
}

.mcp-settings-divider{
    height:1px;
    background:#e8edf5;
    margin:32px 0;
}

.mcp-settings-card-title{

    font-size:18px;

    font-weight:700;

    line-height:1.2;

    color:#0f172a;

    margin-bottom:28px;

    padding-bottom:20px;

    border-bottom:1px solid #e8edf5;
}

.mcp-folder-picker{
    margin-top:20px;
}

.mcp-folder-picker-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.mcp-folder-picker-path{
    flex:1;
    background:#f8fafc;
    border:1px solid #dbe3ee;
    border-radius:14px;
    padding:14px 16px;
    font-size:14px;
    font-weight:500;
    color:#334155;
    overflow:auto;
}

.mcp-folder-browser{
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#ffffff;
    overflow:hidden;
}

.mcp-folder-item{
    display:flex;
    align-items:center;
    gap:12px;

    padding:14px 18px;

    border-bottom:1px solid #f1f5f9;

    cursor:pointer;

    font-size:15px;
    font-weight:500;

    color:#0f172a;

    transition:.16s ease;
}

.mcp-folder-item:last-child{
    border-bottom:none;
}

.mcp-folder-item:hover{
    background:#f8fbff;
}

.mcp-folder-back{
    background:#f8fafc;
    font-weight:600;
}

.mcp-documents-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:24px;
}

.mcp-doc-search{
    flex:1;
width:auto;
    max-width:100%;
    height:44px;
    border:1px solid #dbe3ec;
    border-radius:14px;
    padding:0 18px;
    font-size:14px;
    background:#ffffff;
}

/* Upload button */

.mcp-upload-button {
    height: 44px;
    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    background: transparent;
    color: var(--mcp-brand);

    border: 2px solid #cbd8e8;
    border-radius: 14px;

    font-size: 16px;
    font-weight: 600;
    line-height: 1;

    cursor: pointer;

    transition: all .18s ease;
}

.mcp-upload-button:hover {
    background: #f7f9fc;
    color: var(--mcp-brand);
    border-color: var(--mcp-brand);

    opacity: 1;
    transform: translateY(-1px);
}

.mcp-upload-button:active {
    transform: translateY(0);
}

/* =========================================================
UPLOAD LOADING
========================================================= */

.mcp-upload-overlay{

    position:fixed;

    inset:0;

    background:rgba(15,23,42,.45);

    backdrop-filter:blur(4px);

    display:none;

    align-items:center;

    justify-content:center;

    z-index:99999;
}

.mcp-upload-overlay-active{

    display:flex;
}

.mcp-upload-box{

    width:320px;

    background:#fff;

    border-radius:24px;

    padding:34px;

    text-align:center;

    box-shadow:
    0 30px 80px rgba(0,0,0,.2);
}

.mcp-upload-title{

    font-size:18px;

    font-weight:700;

    margin:18px 0 10px;
}

.mcp-upload-text{

    color:#64748b;

    font-size:14px;
}

.mcp-upload-spinner{

    width:46px;
    height:46px;

    margin:auto;

    border-radius:50%;

    border:4px solid #e8edf5;

    border-top-color:var(--mcp-brand);

    animation:mcpSpin .8s linear infinite;
}

@keyframes mcpSpin{

    to{

        transform:rotate(360deg);
    }
}

.mcp-doc-menu-wrapper{
    position:relative;
}

.mcp-doc-menu{

    position:absolute;

    top:42px;
    right:0;

    width:220px;

    background:#ffffff;

    border:1px solid #e2e8f0;

    border-radius:16px;

    padding:8px;

    display:none;

    z-index:100;

    box-shadow:
        0 20px 40px rgba(15,23,42,.12);
}

.mcp-doc-menu-open{
    display:block;
}

.mcp-doc-menu-item{

    width:100%;

    display:flex;

    align-items:center;

    gap:12px;

    border:none;

    background:none;

    text-align:left;

    padding:10px 14px;

    border-radius:10px;

    cursor:pointer;

    font-size:14px;

    font-weight:500;

    color:#334155;

    transition:.15s ease;
}

.mcp-doc-menu-item:hover{

    background:#f8fafc;

    color:#0f172a;
}

.mcp-delete-trigger{

    color:#dc2626;
}

.mcp-delete-trigger:hover{

    background:#fef2f2;

    color:#b91c1c;
}

.mcp-doc-menu-divider{

    height:1px;

    background:#e2e8f0;

    margin:8px 0;
}

.mcp-doc-rename-input{
    width:100%;
    margin-bottom:8px;
    border:1px solid #dbe2ea;
    border-radius:8px;
    padding:8px 10px;
    font-size:13px;
}

.mcp-preview-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
}

.mcp-signwell-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
}

.mcp-preview-modal-active{
    display:block;
}

.mcp-preview-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.72);
    backdrop-filter:blur(4px);
}

.mcp-preview-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(1200px,94vw);
    height:min(92vh,920px);
    background:#ffffff;
    border-radius:18px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 30px 80px rgba(0,0,0,.25);
}

.mcp-preview-toolbar{
    height:68px;
    border-bottom:1px solid #e2e8f0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 20px;
    flex-shrink:0;
}

.mcp-preview-title{
    font-size:15px;
    font-weight:600;
    color:#0f172a;
}

.mcp-preview-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.mcp-preview-download {
    height: 38px;
    padding: 0 16px;

    border: 2px solid #cbd8e8;
    border-radius: 14px;

    background: transparent;

    color: var(--mcp-brand) !important;
    -webkit-text-fill-color: var(--mcp-brand);

    text-decoration: none;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 14px;
    font-weight: 600;

    transition: all .18s ease;
}

.mcp-preview-download:hover {
    background: #f7f9fc;
    border-color: var(--mcp-brand);

    color: var(--mcp-brand) !important;
    -webkit-text-fill-color: var(--mcp-brand);

    transform: translateY(-1px);
}

.mcp-preview-close{
    width:38px;
    height:38px;
    border:none;
    border-radius:10px;
    background:#f1f5f9;
    cursor:pointer;
    font-size:20px;
font-weight:500;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

.mcp-preview-body{
    flex-grow:1;
    background:#f8fafc;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:20px;
    overflow:auto;
}

.mcp-preview-body iframe{
    width:100%;
    height:100%;
    border:none;
}

.mcp-preview-body img{
    display:block;
    max-width:100%;
    max-height:100%;

    width:auto;
    height:auto;

    object-fit:contain;

    flex:0 0 auto;
}

/* =========================================================
   PORTAL ACCENT COLOR OVERRIDES
========================================================= */

/* Dashboard card links */

.mcp-dashboard-card-link,
.mcp-dashboard-card-link:visited{
    color:var(--mcp-brand) !important;
    transition:.15s ease;
}

.mcp-dashboard-card-link:hover{
    color:var(--mcp-brand-dark) !important;
}

/* Recent documents View All */

.mcp-dashboard-panel-header a,
.mcp-dashboard-panel-header a:visited{
    color:var(--mcp-brand) !important;
    transition:.15s ease;
}

.mcp-dashboard-panel-header a:hover{
    color:var(--mcp-brand-dark) !important;
}

/* Message thread titles */

.mcp-thread-subject{
    color:var(--mcp-brand) !important;
    transition:.15s ease;
}

.mcp-thread-item:hover .mcp-thread-subject{
    color:var(--mcp-brand-dark) !important;
}

/* Active thread background */

.mcp-thread-active{

    background:#edf3f7 !important;

    border-left:
    4px solid var(--mcp-brand) !important;

}

/* Global buttons */

.mcp-new-thread-form button,
.mcp-reply-form button,
.mcp-reply-form input[type="submit"]{

    background:
    var(--mcp-brand) !important;

}

.mcp-new-thread-form button:hover,
.mcp-reply-form button:hover,
.mcp-reply-form input[type="submit"]:hover{

    background:
    var(--mcp-brand-dark) !important;

}

/* =========================================================
   SIDEBAR BRAND COLOR
========================================================= */

/* sortable headers */

.mcp-sort-header{

cursor:pointer;

user-select:none;

display:flex;

align-items:center;

gap:8px;

transition:.15s ease;
}

.mcp-sort-header:hover{
color:var(--mcp-brand);
}

.mcp-sort-indicator{

width:10px;
height:14px;

position:relative;

opacity:.45;

transition:.15s ease;
}

.mcp-sort-indicator::before,
.mcp-sort-indicator::after{

content:"";

position:absolute;

left:50%;

transform:translateX(-50%);

border-left:4px solid transparent;
border-right:4px solid transparent;
}

.mcp-sort-indicator::before{

top:0;

border-bottom:5px solid currentColor;
}

.mcp-sort-indicator::after{

bottom:0;

border-top:5px solid currentColor;
}

.mcp-sort-active{

color:var(--mcp-brand);
}

.mcp-sort-active .mcp-sort-indicator{

opacity:1;
}

.mcp-sort-asc .mcp-sort-indicator::after{
opacity:.2;
}

.mcp-sort-desc .mcp-sort-indicator::before{
opacity:.2;
}

/*
|--------------------------------------------------------------------------
| Messages nav text override
|--------------------------------------------------------------------------
*/

.mcp-nav-message-wrap,
.mcp-nav-message-wrap span,
.mcp-nav-message-wrap:hover,
.mcp-nav-message-wrap:hover span{

    color:#f1f3f5 !important;
    text-decoration:none !important;
}

.mcp-nav-message-wrap .mcp-nav-text{

    color:#f1f3f5 !important;

    font-family:'Lato',sans-serif !important;

    font-size:16px !important;

    font-weight:500 !important;

    line-height:1 !important;
}

.mcp-nav-badge{

    background:#ff3b30;
    color:#ffffff !important;
}

.mcp-delete-modal{

display:none;

position:fixed;

inset:0;

z-index:99999;
}

.mcp-send-signature-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
    align-items:center;
    justify-content:center;
}

.mcp-delete-modal.mcp-delete-active{

    display:block;

}

.mcp-delete-backdrop{

position:absolute;

inset:0;

background:rgba(15,23,42,.45);

backdrop-filter:blur(4px);
}

.mcp-delete-content{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

width:360px;

background:#fff;

padding:34px;

border-radius:24px;

text-align:center;
}

.mcp-delete-title{

font-size:24px;

font-weight:700;

margin-bottom:14px;
}

.mcp-delete-text{

color:#64748b;

margin-bottom:28px;
}

.mcp-delete-actions{

display:flex;

gap:12px;

justify-content:center;
}

.mcp-delete-confirm{

background:#dc2626 !important;

border:none;
}

.mcp-delete-confirm:hover{

background:#b91c1c !important;
}

/* =========================================================
MESSAGES V3 - FRESH REBUILD
========================================================= */

/* overall layout */

.mcp-messages-layout{

    display:grid;

    grid-template-columns:320px minmax(0,1fr);

    gap:24px;

    margin-top:0;

    height:calc(100vh - 220px);

    min-height:500px;
}


/* LEFT COLUMN */

.mcp-threads-sidebar{

    display:flex;

    flex-direction:column;

    gap:20px;

    overflow:hidden;

    min-height:0;
    
    background:transparent !important;
}

.mcp-messages-layout{

    background:transparent !important;
}


/* cards */

.mcp-sidebar-card{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:28px;

    overflow:hidden;

    box-shadow:
    0 8px 30px rgba(15,23,42,.04);
}

.mcp-sidebar-card:first-child{

    flex-shrink:0;
}

.mcp-sidebar-card:last-child{

    flex:1;

    min-height:0;

    display:flex;

    flex-direction:column;
}


/* =========================================================
NEW THREAD
========================================================= */

.mcp-new-thread-form{

    padding:18px;
}

.mcp-new-thread-form textarea{

    min-height:80px;

    max-height:80px;
}

.mcp-new-thread-form input,
.mcp-new-thread-form textarea{

    padding:12px 14px;

    margin-bottom:12px;
}

.mcp-new-thread-form input,
.mcp-new-thread-form textarea{

    width:100%;

    box-sizing:border-box;

    border:1px solid #d8e1ec;

    border-radius:18px;

    padding:16px;

    font-size:15px;

    margin-bottom:14px;

    background:#fff;
}

.mcp-new-thread-form textarea{

    min-height:120px;

    resize:vertical;
}

.mcp-new-thread-form button{

    width:100%;
}


/* =========================================================
THREAD LIST
========================================================= */

.mcp-thread-list-title{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:22px;

    font-size:20px;

    font-weight:700;

    border-bottom:1px solid #edf2f7;

}


.mcp-thread-list{

    flex:1;

    overflow-y:auto;

    min-height:0;
}


.mcp-thread-item{

    display:block;

    position:relative;

    text-decoration:none;

    padding:18px 42px 18px 22px;

    border-bottom:1px solid #edf2f7;

    transition:.15s ease;

    min-height:72px;

}


.mcp-thread-item:hover{

    background:#f8fbff;
}


.mcp-thread-active{

    background:#edf4fb;

    border-left:4px solid var(--mcp-brand);
}


.mcp-thread-subject{

    display:flex;

    align-items:center;

    gap:8px;

    font-weight:600;

    color:#2e4560;

    margin-bottom:6px;
}


.mcp-thread-date{

    font-size:13px;

    color:#64748b;
}


/* =========================================================
RIGHT PANEL
========================================================= */

.mcp-thread-view{

    background:#f4f7fb;

    border:1px solid #e7edf5;

    border-radius:28px;

    display:flex;

    flex-direction:column;

    min-height:0;

    overflow:hidden;
}

.mcp-thread-view{

    height:100%;

    min-height:0;

    display:flex;

    flex-direction:column;

    overflow:hidden;
}


/* feed */

.mcp-message-feed{

    flex:1;

    min-height:0;

    overflow-y:auto;

    padding:30px;
}


/* date */

.mcp-message-date-separator{

    text-align:center;

    margin:30px 0;
}

.mcp-message-date-separator span{

    background:#e8edf5;

    padding:8px 14px;

    border-radius:999px;

    font-size:12px;

    color:#64748b;
}


/* rows */

.mcp-message-row{

    display:flex;

    margin-bottom:18px;
}


.mcp-message-me{

    justify-content:flex-end;
}


/* bubbles */

.mcp-message-bubble{

    max-width:70%;

    background:#fff;

    border-radius:22px;

    padding:16px 18px;

    box-shadow:
    0 3px 16px rgba(0,0,0,.05);
}

/* sender labels */

.mcp-message-sender{

    font-size:12px;

    font-weight:700;

    margin-bottom:8px;

    opacity:.75;

    letter-spacing:.02em;
}

.mcp-message-me .mcp-message-sender{

    color:rgba(255,255,255,.82);
}

.mcp-message-row:not(.mcp-message-me)
.mcp-message-sender{

    color:#64748b;
}


.mcp-message-me .mcp-message-bubble{

    background:var(--mcp-brand);

    color:#fff;
}


.mcp-message-time{

    margin-top:10px;

    font-size:11px;

    opacity:.7;
}


/* reply area */

.mcp-reply-form{

    display:flex;

    align-items:center;

    gap:2px;

    padding:12px 16px;

    background:#fff;

    border-top:1px solid #e2e8f0;

    flex-shrink:0;
}


.mcp-reply-form textarea{

    flex:1;

    border:1px solid #d8e1ec;

    border-radius:14px;

    padding:12px 14px;

    min-height:44px;

    max-height:44px;

    font-size:14px;

    resize:none;
}


.mcp-reply-form button{

    width:46px;

    height:46px;

    min-width:46px;

    padding:0;

    border-radius:14px;

    font-size:0;

    overflow:hidden;

    position:relative;

    flex-shrink:0;
}

.mcp-reply-form button::before{

content:"";

position:absolute;

top:50%;
left:50%;

width:22px;
height:22px;

transform:translate(-50%,-50%);

background-repeat:no-repeat;
background-position:center;
background-size:contain;

background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2L11 13'/%3E%3Cpath d='M22 2L15 22L11 13L2 9L22 2Z'/%3E%3C/svg%3E");

}


/* empty state */

.mcp-empty-thread{

    min-height:700px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#64748b;

    font-size:20px;
}


/* mobile */

@media(max-width:980px){

.mcp-messages-layout{

grid-template-columns:1fr;
}

.mcp-thread-view{

min-height:500px;
}

}

/* REMOVE GRAY BLEED BEHIND LEFT CARDS */

.mcp-threads-sidebar{

    background:transparent !important;

    padding:0 !important;
}

.mcp-sidebar-card{

    background:#ffffff !important;

    position:relative;

    z-index:2;
}

/* remove inherited fills from wrappers */

.mcp-threads-sidebar::before,
.mcp-threads-sidebar::after,
.mcp-messages-layout::before,
.mcp-messages-layout::after{

    display:none !important;

    content:none !important;
}

.mcp-sidebar-card{

    box-shadow:
    0 0 0 10px #f8fafc;
}

/* =========================================================
MESSAGE COMPOSE MODAL
========================================================= */

.mcp-compose-bar{

    margin-bottom:18px;
}

.mcp-compose-button{

    width:100%;

    height:48px;

    border:none;

    border-radius:14px;

    background:var(--mcp-brand);

    color:#fff;

    font-size:14px;

    font-weight:600;

    cursor:pointer;
}

.mcp-compose-modal{

    position:fixed;

    inset:0;

    z-index:99999;

    display:none;
}

body.mcp-compose-open .mcp-compose-modal{

    display:block;
}

.mcp-compose-overlay{

    position:absolute;

    inset:0;

    background:rgba(15,23,42,.55);

    backdrop-filter:blur(6px);
}

.mcp-compose-box{

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:520px;

    max-width:92vw;

    background:#fff;

    border-radius:28px;

    padding:28px;

    box-shadow:
    0 30px 90px rgba(0,0,0,.25);
}

.mcp-compose-title{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

    font-size:22px;

    font-weight:700;
}

.mcp-compose-title span{

    cursor:pointer;

    font-size:18px;
}

.mcp-new-thread-form input{

    height:50px;
}

.mcp-new-thread-form textarea{

    min-height:140px;
}

.mcp-thread-subject{

    font-size:14px;

    line-height:1.35;

    margin-bottom:4px;
}

.mcp-thread-date{

    font-size:11px;
}

.mcp-new-conversation{

    width:34px;

    height:34px;

    border:1px solid #c9d4e3;
    
    border-radius:50%;

    background:#fff;

    color:#445a7d;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    font-weight:300;

    line-height:1;

    transition:.15s ease;

}

.mcp-new-conversation:hover{

    background:#e9eff7;

    border-color:#445a7d;

    transform:scale(1.08);

}

.mcp-new-conversation span{

    position:relative;

    top:-1px;

}

.mcp-new-thread-row{

    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 22px;

    cursor:pointer;

    border-bottom:1px solid #edf2f7;

    color:#445a7d;

    font-weight:600;

    transition:.15s ease;

}

.mcp-new-thread-row:hover{

    background:#f7f9fc;

}

.mcp-new-thread-icon{

    width:24px;

    height:24px;

    border-radius:50%;

    background:#445a7d;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

    line-height:1;

}

/* =========================================================
MESSAGE TAILS — SMOOTH VERSION
========================================================= */

.mcp-message-bubble{

    position:relative;

    overflow:visible;
}

/* incoming */

.mcp-message-row:not(.mcp-message-me).mcp-message-last
.mcp-message-bubble:after{

    content:"";

    position:absolute;

    width:20px;
height:34px;

left:-10px;
bottom:8px;

    background:#ffffff;

    clip-path:polygon(
        100% 15%,
        100% 85%,
        0 50%
    );

    filter:drop-shadow(-1px 0 #e7edf5);
}


/* outgoing */

.mcp-message-row.mcp-message-me.mcp-message-last
.mcp-message-bubble:after{

    content:"";

    position:absolute;

    width:20px;
height:34px;

right:-10px;
bottom:8px;

    background:var(--mcp-brand);

    clip-path:polygon(
        0 15%,
        100% 50%,
        0 85%
    );
}

.mcp-attach-button{

    width:44px;
    height:44px;

    border-radius:14px;

    background:#eef3f8;

    display:flex;

    align-items:center;
    justify-content:center;

    cursor:pointer;

    font-size:18px;

    flex-shrink:0;
    
    margin-left:4px;

    transition:.15s;
}

.mcp-attach-button:hover{

    background:#dde7f2;
}

.mcp-attachment-name{

    font-size:12px;

    color:#64748b;

    max-width:110px;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

    min-width:0;
}

/* =========================================================
MESSAGE ATTACHMENT BUBBLE
========================================================= */

.mcp-chat-attachment{

display:flex;

align-items:center;

gap:12px;

margin-top:12px;

padding:12px 14px;

border-radius:14px;

background:rgba(255,255,255,.12);

backdrop-filter:blur(8px);
}

/* incoming message attachment */

.mcp-message-row:not(.mcp-message-me)
.mcp-chat-attachment{

background:#ffffff;

border:1px solid #e2e8f0;
}

/* icon */

.mcp-chat-attachment-icon{

width:38px;
height:38px;

display:flex;

align-items:center;
justify-content:center;

border-radius:10px;

background:rgba(255,255,255,.16);

font-size:18px;

flex-shrink:0;
}

.mcp-message-row:not(.mcp-message-me)
.mcp-chat-attachment-icon{

background:#f1f5f9;
}

/* filename */

.mcp-chat-attachment-name{

font-size:14px;

font-weight:600;

line-height:1.3;

word-break:break-word;
}

.mcp-chat-attachment{

text-decoration:none;

color:inherit;

cursor:pointer;

transition:.15s;
}

.mcp-chat-attachment:hover{

transform:translateY(-1px);

opacity:.92;
}

.mcp-chat-attachment,
.mcp-chat-attachment:visited{

color:inherit !important;

text-decoration:none !important;

-webkit-text-fill-color:inherit;
}

.mcp-message-me .mcp-chat-attachment{

color:#fff !important;
}

.mcp-chat-attachment:hover{

opacity:.92;

transform:translateY(-1px);
}

/* =========================================================
MESSAGE ACTION BUTTONS
========================================================= */

.mcp-attach-button,
.mcp-reply-form button{

    width:46px;
    height:46px;

    min-width:46px;
    max-width:46px;

    border-radius:14px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    box-sizing:border-box;
}

.mcp-attach-button:hover{

    background:#dde7f2;
}


/* =========================================================
UPLOAD STATE
========================================================= */

.mcp-reply-sending{

    opacity:.8;

    pointer-events:none;
}

.mcp-reply-sending button{

    transform:none !important;
}

.mcp-reply-sending button::before{

    display:none !important;
}


/* centered spinner */

.mcp-uploading-spinner{

    width:20px;
    height:20px;

    display:block;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.28);

    border-top:2px solid #ffffff;

    animation:mcpSpin .65s linear infinite;

    margin:auto;
}

.mcp-thread-delete:hover{

    color:#dc2626;

    opacity:1;
}

.mcp-thread-link{

    display:flex;

    flex-direction:column;

    justify-content:center;

    text-decoration:none;

    color:inherit;

}

.mcp-thread-delete{

    position:absolute;

    top:50%;
    right:14px;

    transform:translateY(-50%);

    width:18px;
    height:18px;

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:14px;

    font-weight:700;

    color:#42526e !important;

    text-decoration:none !important;

    opacity:0;

    transition:.15s ease;
}

.mcp-thread-item:hover .mcp-thread-delete{

    opacity:1;
}

.mcp-thread-delete:hover{

    color:#dc2626 !important;

    transform:
    translateY(-50%)
    scale(1.12);
}

.mcp-delete-confirm-link,
.mcp-delete-confirm-link:visited{

    color:#ffffff !important;

    text-decoration:none !important;

    -webkit-text-fill-color:#ffffff;

    display:inline-flex;

    align-items:center;
    justify-content:center;
}

.mcp-delete-confirm-link:hover{

    color:#ffffff !important;

    text-decoration:none !important;
}

.mcp-delete-confirm-link{

    background:#dc2626 !important;
}

.mcp-delete-confirm-link:hover{

    background:#b91c1c !important;
}

/* CLIENT MODAL */

.mcp-client-modal{

display:none;

position:fixed;

inset:0;

z-index:99999;

}

body.mcp-client-modal-open
.mcp-client-modal{

display:block;

}

/* QUESTIONNAIRE ASSIGN MODAL */

.mcp-questionnaire-assign-modal{

display:none;

position:fixed;

inset:0;

z-index:99999;

}

body.mcp-questionnaire-assign-modal-open
.mcp-questionnaire-assign-modal{

display:block;

}

/* CLIENT PAGE ACTIONS */

.mcp-client-add-button {

    height: 46px;
    padding: 0 18px;

    border: 2px solid #cbd8e8;
    border-radius: 14px;

    background: transparent;
    color: var(--mcp-brand);

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    display: flex;
    align-items: center;
    gap: 8px;

    transition: all .18s ease;
}

.mcp-client-add-button:hover {

    background: #f7f9fc;
    color: var(--mcp-brand);

    border-color: var(--mcp-brand);

    transform: translateY(-1px);
}

/* CLIENT TOOLBAR */

.mcp-client-toolbar{

display:flex;

justify-content:space-between;

align-items:center;

margin:30px 0;

gap:20px;
}

.mcp-client-search{

width:330px;

height:44px;

padding:0 18px;

border:1px solid #dbe3ec;

border-radius:14px;

background:#fff;

font-size:14px;
}

.mcp-topbar{

display:flex;

justify-content:flex-end;

width:100%;

margin-bottom:0;

position:absolute;

top:24px;

right:40px;

z-index:9999;

pointer-events:none;

}

.mcp-user-menu{
    pointer-events:auto;
}

.mcp-user-trigger{

display:flex;
align-items:center;
gap:12px;

padding:10px 16px;

background:#fff;

border-radius:999px;

box-shadow:
0 4px 18px rgba(15,23,42,.05);

cursor:pointer;

transition:.2s;

}

.mcp-user-trigger:hover{

transform:translateY(-1px);

}

.mcp-avatar{

width:42px;
height:42px;

border-radius:999px;

background:var(--mcp-brand);

color:#fff;

display:flex;
align-items:center;
justify-content:center;

font-weight:700;

font-size:14px;

flex-shrink:0;

}

.mcp-user-name{

font-weight:600;
color:#0f172a;

}

.mcp-user-dropdown{

position:absolute;

top:70px;
right:0;

width:260px;

background:#fff;

border-radius:20px;

padding:20px;

display:none;

z-index:9999;

box-shadow:
0 20px 50px rgba(15,23,42,.12);

border:1px solid #edf2f7;

}

body.mcp-user-open
.mcp-user-dropdown{

display:block;

}

.mcp-user-email{

font-size:13px;

color:#64748b;

padding-bottom:14px;

margin-bottom:14px;

border-bottom:1px solid #edf2f7;

word-break:break-word;

}

.mcp-user-dropdown a,
.mcp-user-dropdown a:visited{

display:block;

padding:12px 0;

color:#0f172a !important;

text-decoration:none !important;

font-weight:500;

}

.mcp-user-dropdown a:hover{

color:#365472 !important;

opacity:1;

}

.mcp-user-dropdown hr{

border:none;

height:1px;

background:#edf2f7;

margin:14px 0;

}

.mcp-user-fullname{

font-weight:700;

font-size:15px;

color:#0f172a;

margin-bottom:6px;

}

/* =========================================================
   STAFF DOCUMENT LAYOUT
========================================================= */

.mcp-documents-layout{

    display:flex;

    gap:28px;

    align-items:flex-start;

    margin-top:0;
}

.mcp-documents-sidebar{

    width:280px;

    flex-shrink:0;

    overflow:hidden;

    background:#fff;

    border-radius:22px;

    border:1px solid #e5eaf1;

    box-shadow:
    0 8px 24px rgba(15,23,42,.04);
}

.mcp-documents-sidebar-inner{

    padding:18px;
}

.mcp-documents-main{

    flex:1;

    min-width:0;
}

.mcp-document-client{

    padding:16px;

    border-radius:14px;

    margin-top:10px;

    cursor:pointer;

    transition:.15s ease;
}

.mcp-document-client:hover{

    background:#f5f7fa;
}

.mcp-document-client-active{

    background:#edf3f7;

    border-left:4px solid
    var(--mcp-brand);
}

.mcp-document-client{

padding:10px 12px;
border-radius:10px;
margin-bottom:8px;

background:#ffffff;

border:1px solid #eef2f7;

transition:
background .2s,
border-color .2s,
transform .2s;

cursor:pointer;

}

.mcp-document-client:hover{

background:#f8fafc;

border-color:#dbe4ee;

transform:translateY(-1px);

}

.mcp-document-client div:first-child{

    font-size:15px;

    color:#0f172a;
}

.mcp-document-client div:last-child{

    font-size:13px;

    color:#64748b;
}

#mcp-document-client-search{

    width:100%;

    margin:0 0 18px 0;

    box-sizing:border-box;
}

.mcp-documents-sidebar .mcp-settings-input{

    width:100%;

    min-width:0;

    box-sizing:border-box;

}

/* Align document panel with sidebar */

.mcp-documents-main{

    margin-top:0px;

}

.mcp-documents-main .mcp-documents-toolbar{

    margin-top:0;
}

.mcp-documents-sidebar{

    position:sticky;

    top:16px;

    max-height:calc(100vh - 80px);

    overflow-y:auto;
}

.mcp-documents-main{

    min-height:700px;
}

.mcp-documents-layout{

    align-items:flex-start;
}

.mcp-document-client-active{
    background:#edf3fb !important;
    border-color:#40577a !important;
}

/* =========================================================
ACTIVITY TIMELINE
========================================================= */

.mcp-activity-feed{

padding:8px 28px 28px;

position:relative;
}

.mcp-activity-feed:before{

content:"";

position:absolute;

left:40px;

top:20px;

bottom:30px;

width:2px;

background:#edf2f7;
}

.mcp-activity-item{

position:relative;

display:flex;

gap:16px;

align-items:flex-start;

padding:18px 0 18px 0;
}

.mcp-activity-dot{

width:26px;
height:26px;

border-radius:50%;

background:#f8fafc;
border:1px solid #e2e8f0;

display:flex;
align-items:center;
justify-content:center;

flex-shrink:0;

position:relative;
z-index:2;

}

.mcp-activity-dot .dashicons{

font-size:16px;
width:16px;
height:16px;

color:#31496f;

}

/* ==========================
   ACTIVITY COLORS
========================== */

/* Messages */

.mcp-activity-message{

background:#eff6ff;
border-color:#bfdbfe;

}

.mcp-activity-message .dashicons{

color:#2563eb;

}

/* Documents */

.mcp-activity-document{

background:#f8fafc;
border-color:#cbd5e1;

}

.mcp-activity-document .dashicons{

color:#475569;

}

/* Signature Request Received */

.mcp-activity-signature_sent{

background:#fff7ed;
border-color:#fdba74;

}

.mcp-activity-signature_sent .dashicons{

color:#ea580c;

}

/* Signature Opened */

.mcp-activity-signature_viewed{

background:#faf5ff;
border-color:#d8b4fe;

}

.mcp-activity-signature_viewed .dashicons{

color:#9333ea;

}

/* Document Signed */

.mcp-activity-signature_completed{

background:#ecfdf5;
border-color:#86efac;

}

.mcp-activity-signature_completed .dashicons{

color:#16a34a;

}

/* Portal Activated */

.mcp-activity-portal_activated{

background:#f0fdf4;
border-color:#bbf7d0;

}

.mcp-activity-portal_activated .dashicons{

color:#15803d;

}

.mcp-activity-content{

flex:1;

padding-right:10px;
}

.mcp-activity-title{

font-size:14px;

font-weight:700;

color:#0f172a;

margin-bottom:4px;
}

.mcp-activity-sub{

font-size:13px;

color:#64748b;
}

.mcp-activity-time{

font-size:12px;

font-weight:600;

color:#94a3b8;

white-space:nowrap;
}

/* =========================================================
RECENT DOCUMENT LAYOUT V2
========================================================= */

.mcp-doc-left{

display:flex;

align-items:center;

width:100%;

gap:18px;
}

.mcp-dashboard-doc-meta{

display:flex;

align-items:center;

justify-content:space-between;

width:100%;

gap:20px;

min-width:0;
}

.mcp-dashboard-doc-title{

    font-size:15px;

    font-weight:600;

    color:#0f172a;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;
}

.mcp-dashboard-doc-title{

    text-decoration:none;

}

.mcp-dashboard-doc-row{
    text-decoration:none;
}

.mcp-dashboard-doc-time{

font-size:14px;

font-weight:600;

color:#94a3b8;

white-space:nowrap;

flex-shrink:0;
}

/* =========================================================
DASHBOARD CARDS V6
========================================================= */

.mcp-dashboard-cards{

display:grid;

grid-template-columns:1fr 1fr;

gap:24px;

margin-bottom:28px;

}

.mcp-dashboard-card{

background:#fff;

border-radius:28px;

padding:22px 28px;

border:1px solid #edf2f7;

box-shadow:
0 8px 30px rgba(15,23,42,.04);

transition:.2s ease;

min-height:115px;

display:flex;

align-items:center;

justify-content:center;

}

.mcp-dashboard-card:hover{

transform:translateY(-2px);

box-shadow:
0 18px 40px rgba(15,23,42,.06);

}

.mcp-dashboard-stat-wrap{

display:flex;

align-items:center;

width:100%;

gap:24px;

}

.mcp-dashboard-stat-number{

    width:72px;
    height:72px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:36px;
    font-weight:700;

    flex-shrink:0;

}

.mcp-card-signatures .mcp-dashboard-stat-number{

    background:#fef2f2;

    color:#dc2626;

    border:1px solid #fecaca;

}

.mcp-card-messages .mcp-dashboard-stat-number{

    background:#fffbeb;

    color:#f59e0b;

    border:1px solid #fde68a;

}

.mcp-card-clients .mcp-dashboard-stat-number{

    background:#f0fdf4;

    color:#16a34a;

    border:1px solid #bbf7d0;

}

.mcp-dashboard-stat-content{

display:flex;

flex-direction:column;

justify-content:center;

gap:6px;

flex:1;

height:100%;

}

.mcp-dashboard-card-title{

white-space:nowrap;

font-size:16px;

font-weight:700;

line-height:1.1;

margin:0;

color:#0f172a;

}

.mcp-dashboard-card-description{

font-size:14px;

line-height:1.4;

color:#64748b;

margin:0;

}

.mcp-dashboard-card-link{

font-size:15px;

font-weight:700;

margin-top:6px;

display:inline-flex;

align-items:center;

text-decoration:none;

}

/* colored numbers */

.mcp-dashboard-stat-number{

    color:#797f88;

}

/* tighten vertical spacing */

.mcp-dashboard-stat-content{

gap:5px;
}

/* ==========================
   MY INFO CARD
========================== */

.mcp-my-info-contact-label{

font-size:11px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.12em;
color:#94a3b8;

margin-top:28px;
margin-bottom:6px;

}

.mcp-my-info-contact-name{

font-size:15px;
font-weight:600;
color:#0f172a;

}

/* ==========================
   MY INFO ROWS
========================== */

.mcp-my-info-links{

    margin-top:32px;

}

.mcp-my-info-row{

    display:flex;
    align-items:center;

    gap:12px;

    padding:10px 0;

    text-decoration:none !important;

    color:#31496f !important;

    transition:.2s ease;

}

.mcp-my-info-row:hover{

    color:#24395b !important;

}

.mcp-my-info-row-icon{

    width:20px;

    color:#64748b;

    font-size:16px;

    flex-shrink:0;

}

.mcp-my-info-row-label{

    flex:1;

    font-size:15px;

    font-weight:600;

    color:#31496f;

}

.mcp-my-info-row-arrow{

    color:#94a3b8;

    font-size:24px;

    font-weight:300;

    line-height:1;

}

.mcp-my-info-divider{

    height:1px;

    background:#e2e8f0;

    margin:8px 0;

}

.mcp-my-info-divider + .mcp-my-info-links{
    margin-top:4px;
}

/* ==================================
   MY INFO HEADER
================================== */

.mcp-my-info-header{
display:flex;
align-items:center;
}

.mcp-my-info-section{

font-size:11px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.12em;
color:#94a3b8;

margin-top:28px;
margin-bottom:12px;

}

.mcp-my-info-link{

display:block;

padding:8px 0;

color:#31496f;

font-weight:600;

text-decoration:none;

}

.mcp-my-info-link:hover{

color:#24395b;

}

/* ==========================
   ACCOUNT BOX
========================== */

.mcp-account-box{

margin-top:36px;

padding:18px;

background:#f8fafc;

border:1px solid #e2e8f0;

border-radius:16px;

}

.mcp-account-box-title{

font-size:11px;

font-weight:700;

text-transform:uppercase;

letter-spacing:.12em;

color:#94a3b8;

margin-bottom:12px;

}

.mcp-account-link{

display:flex;

align-items:center;

justify-content:space-between;

padding:10px 0;

text-decoration:none;

color:#31496f;

font-weight:600;

}

.mcp-account-link:hover{

color:#24395b;

}

.mcp-account-link + .mcp-account-link{

border-top:1px solid #e2e8f0;

margin-top:6px;

padding-top:14px;

}

/* ==========================
   MY INFO FOOTER
========================== */

.mcp-my-info-footer{

display:flex;
justify-content:center;
gap:40px;

margin-top:28px;
padding-top:20px;

border-top:1px solid #e2e8f0;
}

.mcp-my-info-footer-link{

font-size:14px;
font-weight:600;

color:#31496f !important;

text-decoration:none;

transition:.2s ease;

}

.mcp-my-info-footer-link:hover{

color:#1e2f4d;

}

/* =========================================================
   COMPACT DESKTOP
========================================================= */

@media (max-width:1500px){

    .mcp-main-content{

        padding:18px 28px 50px;

    }

    .mcp-page-title{

        font-size:46px;
         margin-bottom:8px;

    }

    .mcp-page-subtitle{

        font-size:14px;

    }
}

.mcp-select-client{

    width:100%;

    height:52px;

    border:1px solid #d7dee9;

    border-radius:14px;

    padding:0 16px;

    font-size:15px;

    background:#fff;

    color:#344054;

    margin-bottom:16px;

    appearance:none;

}

.mcp-select-client:focus{

    outline:none;

    border-color:#40597f;

}

.mcp-new-thread-form{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.mcp-new-thread-form textarea{

    min-height:180px;

}

.mcp-select-client{

    width:100%;
    height:52px;

    border:1px solid #d7dee9;
    border-radius:14px;

    padding:0 50px 0 16px;

    font-size:15px;

    background-color:#fff;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%2340597f' d='M5 7l5 5 5-5z'/%3E%3C/svg%3E");

    background-repeat:no-repeat;
    background-position:right 16px center;

    cursor:pointer;

    -webkit-appearance:none;
    appearance:none;

}

.mcp-client-view .mcp-thread-view{
    width:100%;
    max-width:none;
}

.mcp-client-view{
    display:flex;
}

.mcp-client-view .mcp-thread-view{
    flex:1;
}

.mcp-thread-preview{
    font-size:13px;
    color:#7f8ca5;
    margin-top:4px;
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.mcp-thread-time{
    font-size:12px;
    color:#98a2b3;
    margin-top:3px;
}

.mcp-thread-item{
    min-height:72px;
}

.mcp-thread-subject{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:4px;
}

.mcp-thread-name{
    font-weight:600;
}

.mcp-thread-meta{
    display:flex;
    align-items:center;
    gap:8px;
}

.mcp-thread-time{
    font-size:12px;
    color:#98a2b3;
    white-space:nowrap;
}

.mcp-thread-preview{
    font-size:13px;
    color:#7f8ca5;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.mcp-thread-list-title{

    background:#f8fafc;

    border-bottom:1px solid #e6edf5;

}

.mcp-thread-preview-time{

    margin-top:2px;

    font-size:11px;

    font-weight:500;

    color:#97a3b8;

    letter-spacing:.02em;

}

.mcp-chat-attachment-deleted{
    cursor:default;
}

.mcp-chat-attachment-deleted .mcp-chat-attachment-icon{
    background:rgba(255,255,255,.10);
}

/* Default (client / white bubbles) */
.mcp-chat-attachment-deleted .mcp-chat-attachment-name{
    color:#374151;
}

/* Staff messages (blue bubbles) */
.mcp-message-me .mcp-chat-attachment-deleted .mcp-chat-attachment-name{
    color:#fff;
}

.mcp-doc-search{
    flex:1;
    width:auto;
}

.mcp-documents-toolbar{
    display:flex;
}

.mcp-security-banner{

    display:flex;
    align-items:center;
    gap:20px;

    background:#f8fbff;

    border:1px solid #e3ecfb;

    border-radius:16px;

    padding:24px 28px;

    margin-top:24px;
}

.mcp-security-icon{

    width:56px;
    height:56px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid #cfdcff;

    color:var(--mcp-brand);

    flex-shrink:0;
}

.mcp-security-icon .dashicons{

    font-size:24px;
    width:24px;
    height:24px;
}

.mcp-security-title{

    font-size:16px;
    font-weight:700;

    color:#0f172a;

    margin-bottom:4px;
}

.mcp-security-text{

    font-size:14px;

    color:#64748b;

    line-height:1.5;

}

/* Questionnaire Progress */

.mcp-questionnaire-progress{
    margin-bottom:32px;
}

.mcp-questionnaire-progress-bar{
    height:10px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
}

.mcp-questionnaire-progress-bar span{
    display:block;
    height:100%;
    background:var(--mcp-brand);
}

.mcp-questionnaire-progress-text{
    margin-top:10px;
    font-size:14px;
    color:#64748b;
}

.mcp-repeat-card{

    border:1px solid #e2e8f0;

    border-radius:16px;

    padding:24px;

    margin-bottom:16px;

    background:#fff;

}

.mcp-repeat-title{

    font-size:16px;

    font-weight:700;

    margin-bottom:20px;

}

.mcp-repeat-add{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:12px 18px;

    border-radius:12px;

    background:#edf2f7;

    color:#334155;

    text-decoration:none;

    font-weight:600;

    cursor:pointer;

}

.mcp-form-control{
    width:100%;
    padding:14px;
    border:1px solid #d7dee7;
    border-radius:12px;
    font-size:16px;
}

.mcp-form-control{
    width:100%;
    padding:14px;
    border:1px solid #d7dee7;
    border-radius:12px;
    font-size:16px;
    background:#fff;
    color:#374151;
    box-sizing:border-box;
}

select.mcp-form-control{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%236b7280' d='M5.5 7.5L10 12l4.5-4.5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:18px;
    padding-right:40px;
}

.mcp-form-control:focus{
    outline:none;
    border-color:#44597a;
    box-shadow:0 0 0 3px rgba(68,89,122,.15);
}

.mcp-questionnaire-banner{

    background:#f7faff;

    border:2px solid #c8daf6;

    box-shadow:
        0 10px 30px rgba(44,62,120,.06);

}

.mcp-questionnaire-banner-inner{

    display:flex;
    align-items:center;
    gap:24px;
    padding:28px 32px;

}

.mcp-questionnaire-banner-icon{

    width:72px;
    height:72px;
    border-radius:50%;
    background:#e7eef9;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

}

.mcp-questionnaire-banner-icon .dashicons{

    font-size:34px;
    width:34px;
    height:34px;
    color:#44597a;

}

.mcp-questionnaire-banner-content{

    flex:1;

}

.mcp-questionnaire-banner-content h2{

    margin:0 0 6px !important;

    font-size:18px !important;

    line-height:1.3 !important;

    font-weight:700 !important;

    color:#0f172a !important;

}

.mcp-questionnaire-banner-content p{

    margin:0 0 12px;

    font-size:13px;

    line-height:1.5;

    color:#64748b;

}

.mcp-questionnaire-progress-mini{

    width:260px;
    height:6px;
    border-radius:999px;
    background:#dde3ec;

    overflow:hidden;

}

.mcp-questionnaire-progress-mini{

    height:6px;

    background:#dbe3ee;

    border-radius:999px;

    overflow:hidden;

}

.mcp-questionnaire-progress-mini span{

    display:block;

    height:100%;

    background:var(--mcp-brand-dark);

    border-radius:999px;

    transition:width .35s ease;

}

.mcp-questionnaire-btn {

    display: inline-flex;
    align-items: center;
    gap: 8px;

    background: transparent;
    color: var(--mcp-brand) !important;

    padding: 10px 18px;

    border: 2px solid #cbd8e8;
    border-radius: 14px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition: .18s ease;
}

.mcp-questionnaire-btn:hover {

    background: #f7f9fc;
    color: var(--mcp-brand) !important;

    border-color: var(--mcp-brand);

    transform: translateY(-1px);
}

.mcp-questionnaire-btn .dashicons{

    width:15px;
    height:15px;
    font-size:15px;

}

.mcp-questionnaire-complete{

    font-size:12px;
    font-weight:600;
    letter-spacing:.02em;

    color:#44597a;

    margin-bottom:6px;

}

.mcp-profile-section{
    margin-bottom:24px;
}

.mcp-profile-section:last-of-type{
    margin-bottom:0;
}

.mcp-button-primary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 22px;
    height:46px;

    background:#465c81;
    color:#fff;

    border:none;
    border-radius:12px;

    font-size:15px;
    font-weight:600;

    text-decoration:none;
    cursor:pointer;

    transition:.2s ease;

}

.mcp-button-primary:hover{

    background:#3b4f70;
    color:#fff;

}

.mcp-button-primary:focus{

    outline:none;

}

.mcp-sidebar-profile{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 16px;
    transition:.2s;
    cursor:pointer;
    width:100%;
border-radius:0;
padding:18px 24px;
border-top: 1px solid rgba(255,255,255,.12);
}

.mcp-sidebar-profile:hover{
        background: var(--mcp-brand-hover);
}

.mcp-sidebar-avatar{
    width:44px;
    height:44px;
    border-radius:999px;
    background:#5d7393;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:700;
    flex-shrink:0;
}

.mcp-sidebar-user{
    flex:1;
    min-width:0;
}

.mcp-sidebar-name{
    color:#fff;
    font-size:15px;
    font-weight:600;
    line-height:1.2;
}

.mcp-sidebar-email{

    font-size:13px;

    color:rgba(255,255,255,.72);

    margin-top:2px;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;

}

.mcp-sidebar-chevron{
    color:rgba(255,255,255,.55);
    font-size:13px;
    transition:.2s;
}

/* ==========================================================
   ACCOUNT MENU
========================================================== */

.mcp-account{

    width:100%;

    margin-top:auto;

}

.mcp-account-menu{

    display:flex;
    flex-direction:column;

    max-height:0;
    overflow:hidden;

    transition:max-height .25s ease;

    background:var(--mcp-brand-drawer);

    border-bottom:1px solid rgba(255,255,255,.08);

}

.breakdance .mcp-account-menu a,
.breakdance .mcp-account-menu a:link,
.breakdance .mcp-account-menu a:visited{

    display:flex;
    align-items:center;
    gap:14px;

    width:100%;

    padding:14px 24px;

    color:#fff;
    text-decoration:none;

    font-size:15px;
    font-weight:500;

    transition:
        background .18s ease,
        color .18s ease;

}

.breakdance .mcp-account-menu a:hover,
.breakdance .mcp-account-menu a:active{

    color:#fff;
    background:var(--mcp-brand-hover);

}

.mcp-account.open .mcp-account-menu{

    max-height:180px;

    border-top:1px solid rgba(255,255,255,.12);

}

.mcp-sidebar-logo{

    padding:32px 28px;

}

.mcp-sidebar-logo img{

    display:block;
    width:100%;
    height:auto;

}

.mcp-sidebar-logo h2{

    color:#fff;
    font-size:26px;
    font-weight:700;
    margin:0;

}

/* ======================================
   Sidebar Navigation
====================================== */

.mcp-sidebar-nav{

    display:flex;
    flex-direction:column;

    gap:0;

    padding:20px 0;

}

.breakdance .mcp-sidebar-nav a,
.breakdance .mcp-sidebar-nav a:link,
.breakdance .mcp-sidebar-nav a:visited{

    position:relative;
    
    display:flex;
    align-items:center;

    gap:14px;

    padding:16px 24px;

    color:rgba(255,255,255,.92);

    text-decoration:none;

    font-family:"Lato", sans-serif;
    font-size:16px;
    font-weight:500;
    letter-spacing:.2px;

    border-radius:0;

    transition:
        color .18s ease,
        background .18s ease;

}

.breakdance .mcp-sidebar-nav a:hover,
.breakdance .mcp-sidebar-nav a:focus{

    color:#fff;

    background:rgba(255,255,255,.04);

}

.breakdance .mcp-sidebar-nav a.active{

    color:#fff;

    background:var(--mcp-brand-dark);

}

.breakdance .mcp-sidebar-nav a.active::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:3px;

    background:rgba(255,255,255,.95);

}

.breakdance .mcp-sidebar-nav .dashicons{

    width:22px;

    font-size:20px;

    color:inherit;

    opacity:.9;

}

/* ======================================
   Profile Sections
====================================== */

.mcp-profile-body{

    padding:32px 28px;

}

.mcp-profile-row{

    display:grid;

    grid-template-columns:180px 1fr;

    gap:24px;

    padding:18px 0;

    border-bottom:1px solid #eef2f7;

}

.mcp-profile-row:last-child{

    border-bottom:none;

}

.mcp-profile-label{

    color:#64748b;

    font-size:14px;

    font-weight:600;

}

.mcp-profile-value{

    color:#0f172a;

    font-size:14px;

    font-weight:500;

    line-height:1.2;

}

.mcp-profile-empty{

    color:#94a3b8;

    font-style:italic;

}

/* ======================================
   Questionnaire Fields
====================================== */

.mcp-form-group{

    margin-bottom:24px;

}

.mcp-label{

    display:block;

    margin-bottom:8px;

    font-size:15px;

    font-weight:600;

    color:#334155;

}

.mcp-input{

    width:100%;

    padding:14px 16px;

    border:1px solid #d7dee7;

    border-radius:12px;

    background:#fff;

    font-size:15px;

    font-family:inherit;

    transition:.2s;

    box-sizing:border-box;

}

.mcp-input:focus{

    outline:none;

    border-color:#365472;

    box-shadow:0 0 0 3px rgba(54,84,114,.12);

}

textarea.mcp-input{

    min-height:120px;

    resize:vertical;

}

/* ======================================
   Questionnaire Repeaters
====================================== */

.mcp-repeater-item{

    border:1px solid #e6edf5;

    border-radius:18px;

    padding:28px;

    margin-bottom:24px;

    background:#fff;

}

.mcp-repeater-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:28px;

}

.mcp-repeater-header h3{

    margin:0;

    font-size:24px;

    font-weight:700;

    color:#0f172a;

}

.mcp-repeater-remove{

    background:none;

    border:none;

    color:#64748b;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:.2s ease;

}

.mcp-repeater-remove:hover{

    color:#dc2626;

}

.mcp-repeater-add{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:12px 18px;

    margin-top:8px;

    background:#fff;

    color:var(--mcp-brand);

    border:1px solid #d7dee7;

    border-radius:12px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.2s ease;

}

.mcp-repeater-add:hover{

    border-color:var(--mcp-brand);

    background:#f8fbff;

}

.mcp-questionnaire-navigation{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:60px;

}

/*=========================================
Questionnaire Layout
=========================================*/

.mcp-questionnaire-layout{

    display:grid;
    grid-template-columns:1fr 300px;
    gap:36px;
    align-items:start;

}

.mcp-questionnaire-sidebar{

    position:sticky;
    top:12px;

    background:#fff;

    border-radius:18px;

    padding:24px;

    box-shadow:
        0 10px 40px rgba(15,23,42,.05);

    border:1px solid #e8edf4;

}

.mcp-questionnaire-content{

    min-width:0;

}

.mcp-questionnaire-steps{

    display:flex;
    flex-direction:column;
    gap:8px;

}

.mcp-questionnaire-circle{

    width:28px;
    height:28px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    font-size:13px;
    font-weight:700;

    background:#fff;
    border:2px solid #d8e2f1;
    color:#7d8ea8;
    box-sizing:border-box;

}

.mcp-questionnaire-label{

    font-size:14px;
    line-height:1.35;
    color:#475569;

}

.mcp-questionnaire-step.complete .mcp-questionnaire-circle{

    background:#3fbf6f;
    color:white;

}

.mcp-questionnaire-step.current:not(.complete) .mcp-questionnaire-circle{

    background:white;

    border:2px solid #40587b;

    color:#40587b;

}

.mcp-questionnaire-step.current .mcp-questionnaire-label{

    color:#0f172a;
    font-weight:700;

}

.mcp-questionnaire-step.upcoming .mcp-questionnaire-circle{

    background:white;

    border:2px solid #d9e1ec;

    color:#94a3b8;

}

/*=========================================
Questionnaire Progress
=========================================*/

.mcp-questionnaire-sidebar-progress{

    margin:38px 18px 0;
    padding-top:30px;

    border-top:1px solid #eef2f7;

    text-align:center;

}

.mcp-questionnaire-mini-progress{

    width:140px;
    height:6px;

    margin:0 auto 14px;

    background:#edf2f7;

    border-radius:999px;

    overflow:hidden;

}

.mcp-questionnaire-mini-progress span{

    display:block;

    height:100%;

    background:#40587b;

    border-radius:999px;

}

.mcp-questionnaire-count{

    display:block;

}

.mcp-questionnaire-count strong{

    font-size:34px;
    font-weight:700;
    color:#0f172a;

    line-height:1;

}

.mcp-questionnaire-count strong.mcp-questionnaire-count-complete{

    color:#0f172a;

}

.mcp-questionnaire-count strong.mcp-questionnaire-count-total{

    color:#0f172a;

}

.mcp-questionnaire-count-divider{

    display:inline-block;

    padding:0 4px;

    font-size:34px;

    font-weight:300;
    
    line-height:1;

    color:#94a3b8;

}

.mcp-questionnaire-count-label{

    margin-top:8px;

    font-size:12px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:#94a3b8;

}

.mcp-questionnaire-step.current{

    background:#e9f0fa;

}

.mcp-questionnaire-step{

    display:flex;
    align-items:center;

    gap:10px;

    min-height:32px;

    padding:8px 10px;

    border-radius:12px;

    text-decoration:none;

    cursor:pointer;

    transition:background .18s ease;

}

.mcp-questionnaire-step:hover{

    background:#eef3fa;

}

.mcp-review-edit{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:9px 16px;

    border:1px solid #d7dee7;
    border-radius:10px;

    background:#fff;

    color:#40587b;

    font-size:14px;
    font-weight:600;

    text-decoration:none;

    transition:all .18s ease;

}

.mcp-review-edit:hover{

    background:#40587b;
    color:#fff;

    border-color:#40587b;

}

.mcp-review-edit,
.mcp-review-edit:visited{
    color:#fff !important;
    text-decoration:none;
}

.mcp-review-edit:hover,
.mcp-review-edit:focus{
    color:#fff !important;
    background:#4b668f;
    text-decoration:none;
}

.mcp-review-edit:active{
    color:#fff !important;
}

.mcp-review-edit{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 14px;

    background:#fff;
    border:1px solid #cfd9e6;
    border-radius:10px;

    color:#40587b;
    text-decoration:none;

    transition:all .18s ease;

}

.mcp-review-edit:hover{

    background:#eef4fb;
    border-color:#40587b;

    color:#40587b;

}

.mcp-client-profile-link{

    display:inline-flex;
    align-items:center;
    gap:6px;

    margin-top:4px;

    font-size:12px;
    font-weight:600;
    
    letter-spacing:.01em;

    color:#40587b;

    text-decoration:none;

    transition:all .18s ease;

}

.mcp-client-profile-link:hover{

    color:#2f4667;

    transform:translateX(2px);

}

.mcp-settings-section .mcp-client-profile-link{
    color:#40587b;
    font-weight:600;
    text-decoration:none;
}

.mcp-settings-section .mcp-client-profile-link:hover{
    color:#2f4667;
}

.mcp-back-link{

    display:inline-flex;
    align-items:center;

    margin-bottom:18px;

    color:#40587b;

    font-size:14px;
    font-weight:600;

    text-decoration:none;

    transition:.18s ease;

}

.mcp-back-link:hover{

    color:var(--mcp-brand);

    transform:translateX(-2px);

}

.mcp-back-link,
.mcp-back-link:visited{

    color:#40587b !important;
    text-decoration:none;

}

.mcp-back-link:hover,
.mcp-back-link:focus{

    color:var(--mcp-brand) !important;
    text-decoration:none;

}

.mcp-back-link:active{

    color:var(--mcp-brand-dark) !important;

}

.mcp-client-name-link,
.mcp-client-name-link:visited{

    color:#0f172a !important;

    font-weight:700;

    text-decoration:none;

    transition:
        color .18s ease,
        text-decoration-color .18s ease;

}

.mcp-client-name-link:hover,
.mcp-client-name-link:focus{

    color:var(--mcp-brand-dark) !important;

    text-decoration:underline;

    text-decoration-thickness:1px;

    text-underline-offset:3px;

}

.mcp-client-email{

    margin-top:4px;

    font-size:13px;

    color:#64748b;

}

/*=========================================
Clients Table
=========================================*/

.mcp-client-row td{

    font-size:14px;

    color:#475569;

}

.mcp-client-row td:first-child{

    font-size:inherit;

}

.mcp-client-email{

    font-size:12px;

    color:#64748b;

}

/*=========================================
Clients Table
=========================================*/

.mcp-clients-table th{

    font-size:15px;

    font-weight:600;

    color:#334155;

    letter-spacing:-.01em;

    padding-bottom:12px;

}

.mcp-clients-table td{

    font-size:14px;

    color:#475569;

    vertical-align:middle;

}

.mcp-client-case{

    margin-top:2px;

    font-size:12px;

    color:#94a3b8;

}

/*=========================================================
ACCOUNT STATUS DOT
=========================================================*/

.mcp-account-dot{

    display:inline-block;

    width:14px;
    height:14px;

    border-radius:50%;

    vertical-align:middle;

    cursor:default;

    transition:
        transform .18s ease,
        box-shadow .18s ease;

}

.mcp-account-active{

    background:#22c55e;

}

.mcp-account-pending{

    background:#f59e0b;

}

.mcp-account-disabled{

    background:#ef4444;

}

.mcp-account-dot:hover{

    transform:scale(1.15);

    box-shadow:0 0 0 4px rgba(15,23,42,.05);

}

/*=========================================================
ACCOUNT STATUS TOOLTIP
=========================================================*/

.mcp-account-dot{

    position:relative;

}

.mcp-account-dot::after{

    content:attr(data-status);

    position:absolute;

    left:50%;
    bottom:26px;

    transform:translateX(-50%) scale(.95);

    opacity:0;

    pointer-events:none;

    background:#0f172a;

    color:#fff;

    font-size:10px;

    font-weight:600;
    
    letter-spacing:.02em;

    white-space:nowrap;

    padding:5px 9px;

    border-radius:8px;

    transition:
        opacity .18s ease,
        transform .18s ease;

    box-shadow:
        0 8px 20px rgba(15,23,42,.18);

    z-index:100;

}

.mcp-account-dot::before{

    content:"";

    position:absolute;

    left:50%;

    bottom:20px;

    transform:translateX(-50%);

    opacity:0;

    border-left:6px solid transparent;
    border-right:6px solid transparent;
    border-top:6px solid #0f172a;

    transition:opacity .18s ease;

}

.mcp-account-dot:hover::after,
.mcp-account-dot:hover::before{

    opacity:1;

}

.mcp-account-dot:hover::after{

    transform:
        translateX(-50%)
        scale(1);

}

/*=========================================================
CLIENT TABLE HEADERS
=========================================================*/

/*=========================================================
CLIENT TABLE HEADERS
=========================================================*/

.mcp-clients-table th{

    font-size:13px;

    font-weight:700;

    color:#334155;

    letter-spacing:0;

    padding-bottom:16px;

}

/*=========================================================
CLIENT TABLE COLUMN STYLING
=========================================================*/

/* Assigned */

.mcp-clients-table td:nth-child(3){

    font-size:13px;

    font-weight:500;

    color:#334155;

}

/* Last Login */

.mcp-clients-table td:nth-child(4){

    font-size:13px;

    font-weight:500;

    color:#334155;

}

/*=========================================================
CLIENTS CARD
=========================================================*/

.mcp-clients-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:
        0 14px 40px rgba(15,23,42,.06);

}

/* remove inherited settings styling */

.mcp-clients-card .mcp-clients-table{

    width:100%;

    border-collapse:collapse;

}

/* header */

.mcp-clients-card thead{

    background:#f8fafc;

}

.mcp-clients-card th{

    padding:26px 32px;

    border-bottom:1px solid #e8edf4;

}

/* rows */

.mcp-clients-card td{

    padding:22px 32px;

}

.mcp-clients-card tbody tr{

    border-bottom:1px solid #edf2f7;

}

.mcp-clients-card tbody tr:last-child{

    border-bottom:none;

}

.mcp-client-name-cell{
    padding:22px 0 22px 32px;
}

.mcp-client-row{
    transition:background .18s ease;
}

.mcp-client-row:hover{
    background:#fafcff;
}

.mcp-delete-client{

    position:relative;

    display:block;

    width:32px;
    height:32px;

    margin:0 auto;

    border-radius:8px;

    color:#94a3b8 !important;

}

.mcp-delete-client svg{

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    display:block;

}

.mcp-delete-client:hover{

    background:#fef2f2;

    color:#dc2626 !important;
}

.mcp-account-dot{

    display:block;

    width:13px;
    height:13px;

    margin:0 auto;

    border-radius:50%;

    cursor:default;

    transition:
        transform .18s ease,
        box-shadow .18s ease;

}

/*====================================================
YES / NO SEGMENTED CONTROL
====================================================*/

.mcp-yes-no{

    display:inline-flex;

    border:1px solid #d8e2f1;

    border-radius:10px;

    overflow:hidden;

    background:#fff;

}

.mcp-yes-no-button{

    appearance:none;

    border:0;

    background:transparent;

    color:#40587b;

    padding:10px 24px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.2s;

}

.mcp-yes-no-button + .mcp-yes-no-button{

    border-left:1px solid #d8e2f1;

}

.mcp-yes-no-button:hover{

    background:#f7f9fc;

}

.mcp-yes-no-button.active{

    background:#40587b;

    color:#fff;

}

.mcp-required{
    color:#35507A;
    font-weight:700;
    margin-left:1px;
}

.mcp-grid-2{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;

}

@media(max-width:768px){

    .mcp-grid-2{

        grid-template-columns:1fr;

    }

}

.mcp-field{
    margin-bottom:24px;
}

.mcp-input{
    height:52px;
    padding:0 18px;
    box-sizing:border-box;
}

/* ----------------------------------------------------------
   Client Profile Header
---------------------------------------------------------- */

.mcp-page-header{

    margin-bottom:28px;

    padding-bottom:28px;

}

.mcp-page-header-top{

    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    margin-bottom:26px;

}

.mcp-page-actions{

    display:flex;
    align-items:center;
    gap:12px;

    margin-top:6px;

}

.mcp-client-name{

    font-size:34px;
    font-weight:600;

    line-height:1.15;

    color:#172033;

    margin-bottom:6px;

}

.mcp-client-meta{

    font-size:13px;
    color:#667085;

}

.mcp-header-menu-button{

    width:44px;
    height:44px;

    border:1px solid #d7dde8;
    border-radius:12px;

    background:#fff;

    cursor:pointer;

    font-size:22px;
    line-height:1;

    color:#475467;

    transition:.18s ease;

}

.mcp-header-button{

    display:flex;
    align-items:center;
    gap:8px;

    height:44px;

    padding:0 18px;

    border:1px solid #d7dde8;
    border-radius:12px;

    background:#fff;

    color:#41597c;
    font-weight:600;

    text-decoration:none;

    transition:.18s ease;

}

.mcp-header-button:hover{

    background:#f8fafc;

    border-color:#c8d0dd;

    box-shadow:
        0 4px 12px rgba(15,23,42,.08);

}

.mcp-header-menu-button:hover{

    background:#f8fafc;
    border-color:#c8d0dd;

    box-shadow:
        0 4px 12px rgba(15,23,42,.08);

}

.mcp-back-link{

    display:inline-flex;
    align-items:center;
    gap:8px;

    font-weight:600;
} 

.mcp-client-summary{

    display:flex;
    align-items:center;
    gap:18px;

    margin-top:24px;

}

.mcp-client-avatar{

    width:56px;
    height:56px;

    border-radius:50%;

    background:#e2e8f0;

    color:#334155;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    font-size:22px;
    font-weight:700;

}

.mcp-header-button,
.mcp-header-button:link,
.mcp-header-button:visited{

    color:#41597c !important;
    text-decoration:none !important;

}

.mcp-header-button:hover{

    color:#2d4364 !important;
    text-decoration:none !important;

}

/* ======================================================
   Header Dropdown
====================================================== */

.mcp-header-menu{

    position:relative;

}

.mcp-header-dropdown{

    position:absolute;

    top:56px;
    right:0;

    width:220px;

    background:#fff;

    border:1px solid #e2e8f0;
    border-radius:14px;

    box-shadow:
        0 14px 40px rgba(15,23,42,.12);

    padding:8px;

    display:none;

    z-index:500;

}

.mcp-header-dropdown.open{

    display:block;

}

.mcp-header-dropdown-item{

    display:flex;
    align-items:center;
    gap:12px;

    padding:12px 14px;

    border-radius:10px;

    color:#41597c !important;

    text-decoration:none !important;

    font-weight:600;

    transition:.18s;

}

.mcp-header-dropdown-item:visited{

    color:#41597c !important;

}

.mcp-header-dropdown-item:hover{

    color:#2d4364 !important;

    background:#f8fafc;

}

.mcp-dropdown-icon{

    width:18px;
    height:18px;

    flex-shrink:0;

}

/* =========================================================
   Questionnaire — Uploaded Documents Well
========================================================= */

.mcp-questionnaire-uploaded {
    margin-top: 32px;

    padding: 24px 26px;

    background: #f8fafc;

    border: 1px solid #e5eaf1;
    border-radius: 14px;
}

.mcp-uploaded-heading {
    margin: 0 0 18px !important;

    color: #101828;

    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.3;
}

.mcp-uploaded-document {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 12px;
}

.mcp-uploaded-document:last-child {
    margin-bottom: 0;
}

.mcp-uploaded-document-name {
    color: #344054;
    font-size: 16px;
    line-height: 1.4;
}

.mcp-client-name-cell {
    padding: 18px 0 18px 32px;
    vertical-align: middle;
}

.mcp-client-identity {
    display: flex;
    align-items: center;
    gap: 16px;
}

.mcp-client-avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #e2e8f0;

    color: #334155;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.mcp-client-details {
    min-width: 0;
}

.mcp-client-name {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    color: #0f172a;
}

.mcp-client-name-link {
    color: inherit;
    text-decoration: none;
}

.mcp-client-name-link:hover {
    color: #2563eb;
}

.mcp-client-email {
    margin-top: 4px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.25;
}

.mcp-client-meta {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-top: 4px;

    font-size: 13px;
    line-height: 1.2;
}

.mcp-client-case {
    color: #94a3b8;
}

.mcp-client-meta-divider {
    color: #cbd5e1;
    font-weight: 400;
}

.mcp-client-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    color: var(--mcp-brand) !important;
    text-decoration: none;

    transition:
        color .15s ease,
        transform .15s ease;
}

.mcp-client-action svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mcp-client-action:hover {
    color: var(--mcp-brand-dark) !important;
    transform: translateY(-1px);
}

.mcp-avatar-settings {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 20px;
}

.mcp-avatar-preview {
    width: 88px;
    height: 88px;
    flex: 0 0 88px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    border-radius: 50%;

    background: #e2e8f0;
    color: #334155;

    font-size: 26px;
    font-weight: 700;
}

.mcp-avatar-preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mcp-avatar-settings-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.mcp-avatar-remove {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;

    color: #64748b;
    font: inherit;
    font-size: 14px;

    cursor: pointer;
}

.mcp-avatar-remove:hover {
    color: #dc2626;
}

.mcp-client-avatar-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 50%;
}

.mcp-sidebar-avatar-client {
    background: transparent;
    overflow: visible;
}

.mcp-sidebar-avatar-client .mcp-client-avatar {
    width: 100% !important;
    height: 100% !important;
    flex: 0 0 100% !important;
}

.mcp-sidebar-avatar-client .mcp-client-avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.mcp-sidebar-profile > .mcp-client-avatar {
    flex-shrink: 0;
}

/* =========================================================
   Avatar Cropper
   ========================================================= */

.mcp-crop-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: none;
  align-items: center;
  justify-content: center;

  padding: 24px;
}

.mcp-crop-modal.is-open {
  display: flex;
}

.mcp-crop-modal-backdrop {
  position: absolute;
  inset: 0;

  background: rgba(15, 23, 42, 0.55);
}

.mcp-crop-dialog {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 560px;

  background: #fff;
  border-radius: 16px;

  box-shadow:
    0 24px 70px rgba(15, 23, 42, 0.22);

  overflow: hidden;
}

.mcp-crop-header {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 22px 24px;

  border-bottom: 1px solid #e5eaf0;
}

.mcp-crop-header h2 {
  margin: 0;

  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.mcp-crop-close {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;

  padding: 0;

  border: 0;
  background: transparent;

  font-size: 28px;
  line-height: 1;
  color: #64748b;

  cursor: pointer;
}

.mcp-crop-body {
  padding: 24px;
}

.mcp-crop-image-wrap {
  width: 100%;
  height: 400px;

  background: #eef2f6;

  overflow: hidden;
}

#mcp-crop-image {
  display: block;

  max-width: 100%;
}

.mcp-crop-zoom {
  display: flex;
  align-items: center;
  gap: 14px;

  margin-top: 20px;
}

.mcp-crop-zoom input {
  flex: 1;
}

.mcp-crop-zoom span {
  color: #64748b;
  font-size: 18px;
}

.mcp-crop-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;

  padding: 18px 24px;

  border-top: 1px solid #e5eaf0;
}

.mcp-crop-cancel {
  padding: 10px 16px;

  border: 0;
  background: transparent;

  color: #64748b;
  font-weight: 600;

  cursor: pointer;
}

/* Login button */

.mcp-login-button {
    background: transparent !important;
    color: var(--mcp-brand) !important;
    border: 2px solid #cbd8e8;
    border-radius: 14px;
    padding: 12px 22px;
    font-size: 15px;
    font-weight: 600;
}

.mcp-login-button:hover {
    background: #f7f9fc !important;
    color: var(--mcp-brand) !important;
    border-color: var(--mcp-brand);
    opacity: 1;
    transform: translateY(-1px);
}

/* Standard outlined action button */

.mcp-outline-button {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 12px 22px;

    min-height: 44px;

    background: transparent !important;
    color: var(--mcp-brand) !important;

    border: 2px solid #cbd8e8 !important;
    border-radius: 14px;

    font-size: 15px;
    font-weight: 600;

    cursor: pointer;

    -webkit-text-fill-color: var(--mcp-brand);

    transition: all .18s ease;

}

.mcp-outline-button:hover,
.mcp-outline-button:focus {
    background: #f7f9fc !important;
    color: var(--mcp-brand) !important;

    border-color: var(--mcp-brand) !important;
    -webkit-text-fill-color: var(--mcp-brand);

    opacity: 1;
    transform: translateY(-1px);
}

.mcp-outline-button:active {
    transform: translateY(0);
}