:root{--cmp-primary:#1d4ed8;--cmp-dark:#0f172a;--cmp-muted:#64748b;--cmp-bg:#f4f7fb;--cmp-border:#e2e8f0;--cmp-radius:16px;--cmp-sidebar:268px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,Arial,sans-serif;color:var(--cmp-dark);background:var(--cmp-bg)}a{color:inherit}.cmp-portal-app{min-height:100vh}.cmp-portal-sidebar{position:fixed;inset:0 0 0 auto;width:var(--cmp-sidebar);background:#fff;border-left:1px solid var(--cmp-border);display:flex;flex-direction:column;z-index:30;transition:transform .22s ease}.cmp-portal-brand{height:86px;padding:18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--cmp-border)}.cmp-portal-logo,.cmp-login-logo{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;display:grid;place-items:center;font-weight:800}.cmp-portal-brand strong{display:block;font-size:14px;line-height:1.4}.cmp-portal-brand small,.cmp-user-text small{display:block;color:var(--cmp-muted);margin-top:3px}.cmp-sidebar-close{display:none;margin-right:auto;border:0;background:transparent;font-size:28px;cursor:pointer}.cmp-portal-nav{padding:16px 12px;display:grid;gap:5px;overflow:auto}.cmp-portal-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;text-decoration:none;font-size:14px;font-weight:700;color:#475569}.cmp-portal-nav a:hover{background:#f8fafc;color:var(--cmp-primary)}.cmp-portal-nav a.is-active{background:#eff6ff;color:var(--cmp-primary)}.cmp-nav-icon{width:25px;text-align:center;font-size:19px}.cmp-portal-user{margin-top:auto;border-top:1px solid var(--cmp-border);padding:14px;display:flex;align-items:center;gap:10px}.cmp-user-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-weight:800}.cmp-user-text{min-width:0;flex:1}.cmp-user-text strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.cmp-logout{text-decoration:none;font-size:22px;color:#64748b}.cmp-portal-main{margin-right:var(--cmp-sidebar);min-height:100vh}.cmp-portal-topbar{height:86px;background:#fff;border-bottom:1px solid var(--cmp-border);padding:14px 28px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:15}.cmp-portal-topbar h1{font-size:21px;margin:0}.cmp-portal-topbar p{font-size:12px;color:var(--cmp-muted);margin:5px 0 0}.cmp-top-user{margin-right:auto}.cmp-avatar{border-radius:50%}.cmp-menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--cmp-border);border-radius:11px;background:#fff;font-size:21px;cursor:pointer}.cmp-portal-content{padding:24px;max-width:1500px;margin:auto}.cmp-welcome-card{background:linear-gradient(135deg,#1e40af,#0284c7);color:#fff;border-radius:20px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 35px rgba(30,64,175,.16)}.cmp-welcome-card span{opacity:.78}.cmp-welcome-card h2{font-size:25px;margin:5px 0}.cmp-welcome-card p{margin:0;opacity:.88}.cmp-welcome-mark{width:70px;height:70px;border-radius:20px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:36px}.cmp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.cmp-stat-card,.cmp-panel{background:#fff;border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);box-shadow:0 3px 12px rgba(15,23,42,.035)}.cmp-stat-card{padding:18px;text-decoration:none;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center}.cmp-stat-icon{grid-row:1/3;width:44px;height:44px;border-radius:12px;background:#eff6ff;color:var(--cmp-primary);display:grid;place-items:center;font-size:22px}.cmp-stat-card strong{font-size:25px}.cmp-stat-card small{color:var(--cmp-muted)}.cmp-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}.cmp-panel{padding:19px}.cmp-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cmp-panel-head h3{margin:0;font-size:17px}.cmp-panel-head a{font-size:12px;text-decoration:none;color:var(--cmp-primary);font-weight:700}.cmp-count-badge{background:#eff6ff;color:var(--cmp-primary);padding:4px 9px;border-radius:20px;font-weight:700}.cmp-project-list{display:grid;gap:9px}.cmp-project-row{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--cmp-border);border-radius:12px}.cmp-project-icon{width:40px;height:40px;border-radius:10px;background:#f1f5f9;display:grid;place-items:center}.cmp-project-info{min-width:0;flex:1}.cmp-project-info strong,.cmp-project-info span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-project-info strong{font-size:14px}.cmp-project-info span{font-size:11px;color:var(--cmp-muted);margin-top:4px}.cmp-project-row>a{background:#eff6ff;color:var(--cmp-primary);padding:7px 11px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:700}.cmp-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cmp-quick-grid a{min-height:92px;border:1px solid var(--cmp-border);border-radius:12px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:700}.cmp-quick-grid a:hover{background:#f8fafc;border-color:#bfdbfe}.cmp-quick-grid span{font-size:25px;color:var(--cmp-primary)}.cmp-empty,.cmp-coming{text-align:center;padding:42px 20px}.cmp-empty span,.cmp-coming-icon{display:block;font-size:38px;color:#94a3b8}.cmp-empty strong{display:block;margin-top:8px}.cmp-empty p,.cmp-coming p{color:var(--cmp-muted);font-size:13px}.cmp-coming{max-width:700px;margin:25px auto}.cmp-coming a{display:inline-block;background:var(--cmp-primary);color:#fff;text-decoration:none;padding:10px 15px;border-radius:10px;font-weight:700}.cmp-portal-overlay{display:none}.cmp-login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#dbeafe,transparent 40%),#f8fafc}.cmp-login-card{width:min(100%,410px);background:#fff;border:1px solid var(--cmp-border);border-radius:22px;padding:28px;box-shadow:0 20px 55px rgba(15,23,42,.1)}.cmp-login-card .cmp-login-logo{margin:auto}.cmp-login-card h1{text-align:center;font-size:21px;margin:14px 0 6px}.cmp-login-card>p{text-align:center;color:var(--cmp-muted);font-size:13px;margin:0 0 22px}.cmp-login-card label{display:block;font-size:13px;font-weight:700;margin:13px 0}.cmp-login-card input[type=text],.cmp-login-card input[type=password]{display:block;width:100%;height:46px;margin-top:7px;border:1px solid #cbd5e1;border-radius:11px;padding:0 12px;font-size:15px}.cmp-login-card input:focus{outline:2px solid #bfdbfe;border-color:var(--cmp-primary)}.cmp-login-card button{width:100%;height:47px;border:0;border-radius:11px;background:var(--cmp-primary);color:#fff;font-weight:800;font-size:15px;cursor:pointer}.cmp-remember{font-weight:400!important;display:flex!important;align-items:center;gap:7px}.cmp-login-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px;border-radius:10px;font-size:13px}
@media(max-width:1100px){.cmp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:980px){.cmp-portal-sidebar{transform:translateX(102%);box-shadow:-20px 0 45px rgba(15,23,42,.16)}.cmp-menu-open .cmp-portal-sidebar{transform:translateX(0)}.cmp-portal-main{margin-right:0}.cmp-menu-toggle,.cmp-sidebar-close{display:block}.cmp-portal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:25}.cmp-menu-open .cmp-portal-overlay{display:block}.cmp-portal-content{padding:18px}.cmp-portal-topbar{padding:12px 18px}}
@media(max-width:600px){.cmp-portal-topbar{height:72px}.cmp-portal-topbar h1{font-size:17px}.cmp-portal-topbar p{display:none}.cmp-top-user{display:none}.cmp-portal-content{padding:12px}.cmp-welcome-card{padding:20px}.cmp-welcome-card h2{font-size:21px}.cmp-welcome-card p{font-size:12px}.cmp-welcome-mark{width:52px;height:52px;font-size:27px}.cmp-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.cmp-stat-card{padding:13px;gap:2px 9px}.cmp-stat-icon{width:36px;height:36px;font-size:18px}.cmp-stat-card strong{font-size:21px}.cmp-panel{padding:14px;border-radius:13px}.cmp-quick-grid a{min-height:78px}.cmp-project-row{padding:9px}.cmp-project-info span{max-width:180px}.cmp-portal-sidebar{width:min(86vw,310px)}}

/* v1.9.2 - Company branding, modern login and support */
.cmp-success-message{margin-bottom:16px;background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;padding:12px 14px;border-radius:12px;font-weight:700}.cmp-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.cmp-branding-form label{display:block;font-size:13px;font-weight:700;margin:14px 0}.cmp-branding-form input[type=text],.cmp-branding-form textarea{width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:11px;padding:11px;font:inherit;background:#fff}.cmp-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.cmp-upload-card{border:1px solid var(--cmp-border);border-radius:14px;padding:13px}.cmp-image-preview{height:150px;margin:10px 0;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:var(--cmp-muted);font-size:12px}.cmp-image-preview img{width:100%;height:100%;object-fit:cover}.cmp-image-preview.is-logo img{object-fit:contain;padding:12px}.cmp-upload-card input[type=file]{width:100%;font-size:12px}.cmp-remove-check{font-weight:400!important;display:flex!important;align-items:center;gap:7px}.cmp-primary-button{border:0;border-radius:11px;background:var(--cmp-primary);color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}.cmp-branding-help p{color:var(--cmp-muted);line-height:1.8;font-size:13px}.cmp-support-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-radius:20px;padding:26px;display:flex;align-items:center;gap:18px}.cmp-support-mark{width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:26px;font-weight:900}.cmp-support-hero span{opacity:.75}.cmp-support-hero h2{margin:3px 0;font-size:28px}.cmp-support-hero p{margin:0;opacity:.86}.cmp-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.cmp-support-card{background:#fff;border:1px solid var(--cmp-border);border-radius:16px;padding:20px;text-decoration:none;text-align:center}.cmp-support-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eff6ff;color:var(--cmp-primary);font-size:23px;margin:0 auto 10px}.cmp-support-card strong,.cmp-support-card small{display:block}.cmp-support-card small{color:var(--cmp-muted);margin-top:5px}.cmp-support-note p{color:var(--cmp-muted);line-height:1.8}
.cmp-login-body{display:block;padding:0;background-color:#0f172a;background-size:cover;background-position:center}.cmp-login-layout{min-height:calc(100vh - 52px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.65fr);align-items:stretch}.cmp-login-intro{padding:56px 7vw;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.cmp-login-brand-row{display:flex;align-items:center;gap:13px}.cmp-login-brand-row strong{display:block;font-size:18px}.cmp-login-brand-row small{display:block;margin-top:4px;opacity:.72}.cmp-login-company-logo{width:62px;height:62px;object-fit:contain;background:rgba(255,255,255,.94);border-radius:16px;padding:8px}.cmp-login-message{max-width:660px;padding-bottom:8vh}.cmp-login-message>span{display:inline-block;background:rgba(255,255,255,.12);padding:7px 12px;border-radius:30px;font-size:12px}.cmp-login-message h1{font-size:clamp(34px,4.2vw,64px);line-height:1.18;margin:18px 0}.cmp-login-message p{max-width:600px;font-size:16px;line-height:1.9;opacity:.84}.cmp-login-card{width:auto;max-width:none;border:0;border-radius:0;padding:clamp(28px,5vw,70px);box-shadow:none;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.97)}.cmp-login-card h2{font-size:30px;margin:7px 0}.cmp-login-card>p{text-align:right;margin:0 0 22px}.cmp-login-eyebrow{color:var(--cmp-primary);font-weight:800;font-size:12px}.cmp-login-mobile-brand{display:none}.cmp-login-footer{min-height:52px;background:#081120;color:#cbd5e1;display:flex;align-items:center;justify-content:center;gap:5px;padding:12px 18px;text-align:center;font-size:12px}.cmp-login-footer a{color:#fff;text-decoration:none}
@media(max-width:980px){.cmp-settings-grid{grid-template-columns:1fr}.cmp-login-layout{grid-template-columns:1fr;min-height:calc(100vh - 66px)}.cmp-login-intro{display:none}.cmp-login-card{min-height:calc(100vh - 66px);padding:34px 22px}.cmp-login-mobile-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:32px}.cmp-login-mobile-brand img{width:58px;height:58px;object-fit:contain}.cmp-login-mobile-brand .cmp-login-logo{margin:0}.cmp-login-card h2,.cmp-login-card>p,.cmp-login-eyebrow{text-align:center}.cmp-login-footer{min-height:66px;flex-wrap:wrap}.cmp-support-grid{grid-template-columns:1fr}}
@media(max-width:600px){.cmp-upload-grid{grid-template-columns:1fr}.cmp-support-hero{padding:20px}.cmp-support-mark{width:56px;height:56px}.cmp-support-hero h2{font-size:23px}}


/* v2.0 - client portal workflow */
.cmp-progress-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;padding:24px;border-radius:18px}.cmp-progress-hero span{opacity:.75}.cmp-progress-hero h2{margin:5px 0 0}.cmp-progress-hero>strong{font-size:38px}.cmp-progress-track{height:12px;background:#dbeafe;border-radius:20px;overflow:hidden;margin:12px 0 18px}.cmp-progress-track i{display:block;height:100%;background:#2563eb;border-radius:20px}.cmp-status-list,.cmp-document-list,.cmp-record-grid{display:grid;gap:10px}.cmp-status-row,.cmp-document-card,.cmp-record-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--cmp-border);border-radius:13px;padding:14px;background:#fff}.cmp-status-row>div,.cmp-document-main>div{flex:1}.cmp-status-row strong,.cmp-status-row small,.cmp-document-main strong,.cmp-document-main small,.cmp-document-main em{display:block}.cmp-status-row small,.cmp-document-main small{color:var(--cmp-muted);margin-top:4px}.cmp-document-main em{font-size:12px;color:#b45309;margin-top:5px}.cmp-status-dot,.cmp-doc-state{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.is-approved{background:#dcfce7;color:#15803d}.is-pending{background:#fef3c7;color:#b45309}.cmp-doc-state.is-missing{background:#f1f5f9;color:#64748b}.cmp-doc-state.is-rejected{background:#fee2e2;color:#b91c1c}.cmp-document-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.cmp-document-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cmp-document-actions>a,.cmp-document-actions button{border:0;border-radius:9px;padding:8px 11px;text-decoration:none;font-weight:700;font-size:12px;cursor:pointer;background:#eff6ff;color:#1d4ed8}.cmp-document-actions form{display:flex;align-items:center;gap:7px}.cmp-document-actions input[type=file]{max-width:190px;font-size:11px}.cmp-inline-actions .is-approve{background:#dcfce7;color:#15803d}.cmp-inline-actions .is-reject{background:#fee2e2;color:#b91c1c}.cmp-add-record{border:1px dashed #bfdbfe;background:#f8fbff;border-radius:13px;padding:12px;margin-bottom:15px}.cmp-add-record summary{cursor:pointer;font-weight:800;color:#1d4ed8}.cmp-add-record form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.cmp-add-record label{font-size:12px;font-weight:700}.cmp-add-record input,.cmp-add-record textarea{width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:9px;padding:9px;font:inherit}.cmp-add-record .cmp-check{display:flex;align-items:center;gap:7px}.cmp-add-record .cmp-check input{width:auto;margin:0}.cmp-record-card span{font-size:11px;color:var(--cmp-muted)}.cmp-record-card h4{margin:4px 0}.cmp-record-card p{margin:5px 0 0;color:var(--cmp-muted);font-size:12px}.cmp-record-status{background:#f1f5f9;padding:6px 9px;border-radius:20px;font-size:11px}.cmp-project-switcher{margin-bottom:14px}.cmp-project-switcher select{margin-right:8px;border:1px solid #cbd5e1;border-radius:9px;padding:8px}
@media(max-width:700px){.cmp-document-card,.cmp-record-card{align-items:flex-start;flex-direction:column}.cmp-document-actions{width:100%}.cmp-document-actions form{width:100%;flex-wrap:wrap}.cmp-document-actions input[type=file]{max-width:100%;width:100%}.cmp-add-record form{grid-template-columns:1fr}.cmp-progress-hero>strong{font-size:30px}}


/* Employee project workspace */
.cmp-project-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#0f2745,#173d68);color:#fff;margin-bottom:18px}
.cmp-project-workspace-head span,.cmp-project-workspace-head p{display:block;color:rgba(255,255,255,.72);margin:5px 0 0}
.cmp-project-workspace-head h2{margin:6px 0 0;font-size:26px}
.cmp-workspace-progress-ring{--cmp-progress:0;position:relative;display:grid;place-items:center;width:88px;height:88px;flex:0 0 88px;border-radius:50%;background:conic-gradient(from -90deg,#38bdf8 0 calc(var(--cmp-progress)*1%),rgba(255,255,255,.18) calc(var(--cmp-progress)*1%) 100%);box-shadow:0 8px 24px rgba(2,12,27,.18)}
.cmp-workspace-progress-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#173d68;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.cmp-workspace-progress-ring>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;text-align:center}
.cmp-workspace-progress-ring strong{font-size:18px;color:#fff;direction:ltr;font-variant-numeric:tabular-nums}
.cmp-workspace-progress-ring small{margin-top:5px;font-size:9px;font-weight:800;color:rgba(255,255,255,.7)}
.cmp-back-link{display:inline-flex;color:#fff;text-decoration:none;font-size:13px;margin-bottom:10px}
.cmp-client-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cmp-client-detail-grid>div{background:#f8fafc;border:1px solid #e7edf4;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}
.cmp-client-detail-grid>div.is-wide{grid-column:1/-1}
.cmp-client-detail-grid small{color:#66768a}.cmp-client-detail-grid strong{color:#10243d;word-break:break-word}
.cmp-map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cmp-map-actions a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:10px;background:#edf5ff;color:#1557a0;text-decoration:none;font-weight:700}
.cmp-employee-milestones{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.cmp-employee-milestone{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e6edf5;border-radius:14px;padding:13px 14px;background:#fff}
.cmp-employee-milestone.is-done{background:#f4fbf7;border-color:#ccebd7}
.cmp-milestone-copy{display:flex;align-items:center;gap:12px;min-width:0}
.cmp-milestone-copy>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef3f8;color:#60758c;font-weight:800}
.cmp-employee-milestone.is-done .cmp-milestone-copy>span{background:#dff5e7;color:#138244}
.cmp-milestone-copy div{display:flex;flex-direction:column;gap:3px}.cmp-milestone-copy small{color:#748398}
.cmp-employee-milestone form{margin:0}.cmp-employee-milestone button,.cmp-readonly-status{border:0;border-radius:9px;padding:9px 12px;font-weight:700;white-space:nowrap}
.cmp-employee-milestone button.is-complete{background:#137a49;color:#fff}.cmp-employee-milestone button.is-reopen{background:#eef2f6;color:#526477}
.cmp-readonly-status{background:#f2f5f8;color:#65758a}
@media(max-width:700px){
 .cmp-project-workspace-head{align-items:flex-start;padding:18px}.cmp-project-workspace-head h2{font-size:21px}
 .cmp-client-detail-grid{grid-template-columns:1fr}.cmp-client-detail-grid>div.is-wide{grid-column:auto}
 .cmp-employee-milestone{align-items:flex-start;flex-direction:column}.cmp-employee-milestone form,.cmp-employee-milestone button{width:100%}
 .cmp-map-actions a{width:100%;justify-content:center}
}

/* v3.0 compact SaaS portal */
:root{--cmp-sidebar:264px;--cmp-radius:14px}
.cmp-portal-main{min-width:0}.cmp-portal-content{padding:18px 20px 28px;max-width:1440px;width:100%;margin:0 auto}.cmp-portal-topbar{min-height:74px;padding:12px 20px}.cmp-portal-topbar h1{font-size:22px;margin:0}.cmp-portal-topbar p{font-size:12px;margin:4px 0 0}.cmp-panel{border-radius:var(--cmp-radius);padding:16px}.cmp-panel-head{margin-bottom:12px}.cmp-panel-head h3{font-size:16px}.cmp-welcome-card{min-height:130px;padding:22px;border-radius:18px}.cmp-welcome-card h2{font-size:24px;margin:4px 0}.cmp-welcome-mark{width:58px;height:58px;border-radius:16px;font-size:28px}.cmp-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.cmp-stat-card{min-height:92px;padding:15px;border-radius:14px}.cmp-stat-card strong{font-size:25px}.cmp-stat-icon{width:40px;height:40px;border-radius:11px}.cmp-dashboard-grid{gap:14px}.cmp-quick-grid a{min-height:78px;border-radius:12px}.cmp-project-list{gap:8px}.cmp-project-row{padding:11px 12px;border-radius:12px}.cmp-project-workspace-head{padding:18px 20px;border-radius:16px}.cmp-project-workspace-head h2{font-size:23px}.cmp-client-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cmp-client-detail-grid>div{min-height:82px;padding:12px;border-radius:12px}.cmp-client-detail-grid>div.is-wide{grid-column:span 2}.cmp-employee-milestones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cmp-employee-milestone{min-height:74px;padding:11px 12px}.cmp-top-actions{display:flex;align-items:center;gap:10px}.cmp-language-switch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 10px;border:1px solid var(--cmp-border);border-radius:10px;text-decoration:none;font-weight:800;color:var(--cmp-text);background:#fff}.cmp-top-profile{display:flex}.cmp-profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.cmp-profile-summary{text-align:center;display:flex;flex-direction:column;align-items:center}.cmp-profile-avatar{border-radius:24px;margin:8px 0 14px}.cmp-profile-summary h2{margin:0;font-size:22px}.cmp-profile-summary p,.cmp-profile-summary span{color:var(--cmp-muted);margin:6px 0 0}.cmp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cmp-form-grid label{font-size:12px;font-weight:800}.cmp-form-grid input,.cmp-form-grid select{width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:10px;padding:11px;font:inherit;background:#fff}.cmp-form-grid .is-wide{grid-column:1/-1}.cmp-profile-form .cmp-primary-button{margin-top:16px}.cmp-sidebar-close{display:none}
html[dir=ltr] .cmp-portal-sidebar{right:auto;left:0;border-left:0;border-right:1px solid var(--cmp-border)}html[dir=ltr] .cmp-portal-main{margin-right:0;margin-left:var(--cmp-sidebar)}html[dir=ltr] .cmp-portal-nav a{text-align:left}html[dir=ltr] .cmp-user-text{text-align:left}
@media(max-width:1050px){.cmp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-client-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-client-detail-grid>div.is-wide{grid-column:1/-1}.cmp-employee-milestones{grid-template-columns:1fr}.cmp-profile-layout{grid-template-columns:1fr}.cmp-profile-summary{padding:20px}}
@media(max-width:780px){.cmp-portal-content{padding:12px}.cmp-portal-topbar{min-height:66px;padding:10px 12px}.cmp-portal-topbar h1{font-size:18px}.cmp-welcome-card{min-height:112px;padding:17px}.cmp-welcome-card h2{font-size:20px}.cmp-stat-grid{gap:8px}.cmp-stat-card{min-height:82px;padding:12px}.cmp-dashboard-grid{grid-template-columns:1fr}.cmp-client-detail-grid{grid-template-columns:1fr}.cmp-client-detail-grid>div.is-wide{grid-column:auto}.cmp-project-workspace-head{padding:15px}.cmp-workspace-progress-ring{width:72px;height:72px;flex-basis:72px}.cmp-form-grid{grid-template-columns:1fr}.cmp-form-grid .is-wide{grid-column:auto}}
@media(max-width:480px){.cmp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-stat-card strong{font-size:22px}.cmp-language-switch{min-width:40px;height:34px}.cmp-top-profile .avatar{width:34px;height:34px}.cmp-project-workspace-head{flex-direction:column}.cmp-workspace-progress-ring{align-self:flex-start}}

/* v3.1 schedules, employee portal and reminders */
.cmp-reminder-banner{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:stretch;margin-bottom:14px;padding:14px;border:1px solid #fde68a;border-radius:16px;background:linear-gradient(135deg,#fffdf2,#fff8d8);box-shadow:0 8px 24px rgba(146,98,0,.06)}
.cmp-reminder-title{display:flex;align-items:center;gap:12px}.cmp-reminder-title>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#fef3c7;font-size:21px}.cmp-reminder-title strong,.cmp-reminder-title small{display:block}.cmp-reminder-title small{margin-top:4px;color:#856404;font-size:11px}
.cmp-reminder-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cmp-reminder-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:11px;background:#fff;border:1px solid #f7e7a8;text-decoration:none;color:var(--cmp-text)}.cmp-reminder-list b{font-size:12px}.cmp-reminder-list span{font-size:11px;color:#8a6a00;white-space:nowrap}
.cmp-schedule-layout,.cmp-employee-portal-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:14px;align-items:start}.cmp-schedule-layout.is-list-only,.cmp-employee-portal-layout.is-list-only{grid-template-columns:1fr}.cmp-schedule-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cmp-schedule-form label{font-size:12px;font-weight:800}.cmp-schedule-form input,.cmp-schedule-form select,.cmp-schedule-form textarea,.cmp-list-search,.cmp-employee-portal-layout input,.cmp-employee-portal-layout select{width:100%;margin-top:6px;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}.cmp-schedule-form select[multiple],.cmp-employee-portal-layout select[multiple]{min-height:125px}.cmp-schedule-form label small{display:block;margin-top:5px;color:var(--cmp-muted);font-weight:400}.cmp-schedule-form .is-wide{grid-column:1/-1}.cmp-list-search{margin:0 0 12px}
.cmp-schedule-list{display:flex;flex-direction:column;gap:9px;max-height:760px;overflow:auto;padding-inline-end:3px}.cmp-schedule-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px;border:1px solid #e5eaf1;border-radius:13px;background:#fff}.cmp-schedule-card.is-cancelled{opacity:.58;background:#f8fafc}.cmp-schedule-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:68px;border-radius:12px;background:#eef5ff;color:#1d4ed8}.cmp-schedule-date strong{font-size:23px;line-height:1}.cmp-schedule-date span,.cmp-schedule-date small{font-size:10px;margin-top:4px}.cmp-schedule-copy h4{margin:0 0 7px;font-size:14px}.cmp-schedule-copy p{margin:3px 0;color:var(--cmp-muted);font-size:11px}.cmp-schedule-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.cmp-schedule-actions form{margin:0}.cmp-danger-link{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:7px 10px;cursor:pointer;font-weight:700;font-size:11px}
.cmp-employee-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cmp-employee-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #e5eaf1;border-radius:13px;background:#fff}.cmp-employee-card .avatar{border-radius:14px}.cmp-employee-card h4{margin:0;font-size:13px}.cmp-employee-card p,.cmp-employee-card small{display:block;margin:4px 0 0;color:var(--cmp-muted);font-size:11px}.cmp-mini-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.cmp-mini-status.is-active{background:#dcfce7;color:#15803d}.cmp-mini-status.is-inactive{background:#fee2e2;color:#b91c1c}
@media(max-width:1050px){.cmp-schedule-layout,.cmp-employee-portal-layout{grid-template-columns:1fr}.cmp-reminder-banner{grid-template-columns:1fr}.cmp-employee-cards{grid-template-columns:1fr}}
@media(max-width:700px){.cmp-reminder-list{grid-template-columns:1fr}.cmp-schedule-form{grid-template-columns:1fr}.cmp-schedule-form .is-wide{grid-column:auto}.cmp-schedule-card{grid-template-columns:58px minmax(0,1fr)}.cmp-schedule-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.cmp-schedule-date{min-height:58px}.cmp-employee-card{grid-template-columns:42px minmax(0,1fr)}.cmp-employee-card .cmp-mini-status{grid-column:2}.cmp-employee-card .avatar{width:42px;height:42px}}

/* v3.2 active manager sections and compact mobile schedule add */
.cmp-mobile-add-summary{display:none;list-style:none;cursor:pointer;align-items:center;gap:10px;font-weight:800}.cmp-mobile-add-summary::-webkit-details-marker{display:none}.cmp-mobile-add-summary span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eff6ff;color:var(--cmp-primary);font-size:24px}.cmp-client-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cmp-client-portal-card{border:1px solid var(--cmp-border);border-radius:14px;background:#fff;padding:14px}.cmp-client-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px}.cmp-client-card-head .avatar{border-radius:14px}.cmp-client-card-head h4{margin:0;font-size:14px}.cmp-client-card-head p{margin:5px 0 0;color:var(--cmp-muted);font-size:12px}.cmp-client-projects{display:grid;gap:7px;margin-top:12px}.cmp-client-projects a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#f8fafc;text-decoration:none}.cmp-client-projects b{font-size:12px}.cmp-client-projects span,.cmp-client-projects small{font-size:11px;color:var(--cmp-muted)}.cmp-file-toolbar{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px;margin-bottom:12px}.cmp-file-toolbar select{width:100%;height:42px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 10px}.cmp-file-toolbar .cmp-list-search{margin:0}.cmp-file-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cmp-file-portal-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--cmp-border);border-radius:13px}.cmp-file-icon{width:44px;height:44px;border-radius:11px;background:#eff6ff;color:var(--cmp-primary);display:grid;place-items:center;font-size:21px}.cmp-file-portal-card h4{margin:0;font-size:13px}.cmp-file-portal-card p,.cmp-file-portal-card small{display:block;margin:4px 0 0;color:var(--cmp-muted);font-size:11px}.cmp-file-portal-card>a{padding:7px 10px;border-radius:8px;background:#eff6ff;color:var(--cmp-primary);text-decoration:none;font-size:11px;font-weight:800}.cmp-activity-timeline{position:relative;display:grid;gap:0;padding-inline-start:18px}.cmp-activity-timeline:before{content:"";position:absolute;top:8px;bottom:8px;inset-inline-start:5px;width:2px;background:#dbe5f1}.cmp-activity-item{position:relative;padding:0 14px 16px}.cmp-activity-dot{position:absolute;inset-inline-start:-18px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--cmp-primary);border:3px solid #dbeafe}.cmp-activity-item h4{margin:0;font-size:13px}.cmp-activity-item p{margin:5px 0;color:var(--cmp-muted);font-size:12px}.cmp-activity-item small{color:#94a3b8;font-size:10px}
@media(max-width:1050px){.cmp-client-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cmp-schedule-layout.has-form{display:block}.cmp-schedule-layout.has-form>.cmp-panel{margin-bottom:10px}.cmp-mobile-add-summary{display:flex}.cmp-desktop-form-title{display:none}.cmp-schedule-form-card{padding:10px 12px}.cmp-schedule-form-card:not([open]) .cmp-schedule-form{display:none}.cmp-schedule-form-card[open] .cmp-mobile-add-summary{margin-bottom:12px}.cmp-client-portal-grid,.cmp-file-portal-grid{grid-template-columns:1fr}.cmp-file-toolbar{grid-template-columns:1fr}.cmp-client-card-head{grid-template-columns:44px minmax(0,1fr) auto}.cmp-file-portal-card{grid-template-columns:40px minmax(0,1fr)}.cmp-file-portal-card>a{grid-column:2;justify-self:start}.cmp-schedule-list{max-height:none}}

/* v3.3 - Client documents project overview */
.cmp-requirements-projects .cmp-panel-head small,
.cmp-activity-panel .cmp-panel-head small{display:block;margin-top:4px;color:#7b8798;font-size:12px}
.cmp-requirements-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.cmp-requirements-project-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid #e4e9f1;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(31,45,61,.05)}
.cmp-requirements-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cmp-requirements-card-top h4{margin:0 0 3px;font-size:18px;color:#172033}
.cmp-requirements-card-top span{font-size:12px;color:#8994a5}
.cmp-requirements-card-top b{padding:7px 11px;border-radius:999px;font-size:12px;white-space:nowrap}
.cmp-requirements-card-top b.is-missing{background:#fff1e3;color:#a95412}
.cmp-requirements-card-top b.is-complete{background:#e7f8ee;color:#167347}
.cmp-requirements-client-info{display:flex;flex-direction:column;gap:4px;color:#3e4a5f}
.cmp-requirements-client-info small{color:#7b8798}
.cmp-requirements-progress-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6d7889}
.cmp-requirements-progress{height:9px;border-radius:999px;background:#e7ecf4;overflow:hidden}
.cmp-requirements-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3c5deb,#2486ec)}
.cmp-requirements-project-card .cmp-primary-button{display:block;text-align:center;text-decoration:none;margin-top:auto}
.cmp-back-link{display:inline-flex;margin:0 0 14px;padding:8px 11px;border-radius:9px;background:#f1f5fb;color:#2b5fd9;text-decoration:none;font-weight:600;font-size:13px}

/* v3.3 - Activity by date */
.cmp-activity-toolbar{display:grid;grid-template-columns:minmax(170px,220px) auto auto auto minmax(220px,1fr);gap:10px;align-items:end;margin:14px 0 18px}
.cmp-activity-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#667085}
.cmp-activity-toolbar input[type=date],.cmp-activity-toolbar .cmp-list-search{height:42px;margin:0}
.cmp-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#334155;text-decoration:none;font-weight:600;white-space:nowrap}
.cmp-activity-groups{display:flex;flex-direction:column;gap:12px}
.cmp-activity-date-group{border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden}
.cmp-activity-date-group>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;cursor:pointer;list-style:none;background:#f8fafc}
.cmp-activity-date-group>summary::-webkit-details-marker{display:none}
.cmp-activity-date-group>summary div{display:flex;flex-direction:column;gap:3px}
.cmp-activity-date-group>summary strong{font-size:15px;color:#1e293b}
.cmp-activity-date-group>summary small{font-size:12px;color:#7b8798}
.cmp-activity-chevron{font-size:20px;transition:transform .2s ease}
.cmp-activity-date-group[open] .cmp-activity-chevron{transform:rotate(180deg)}
.cmp-activity-date-group .cmp-activity-timeline{padding:12px 18px 12px 10px}

@media (max-width:1100px){
  .cmp-requirements-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-activity-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-activity-toolbar .cmp-list-search{grid-column:1/-1}
}
@media (max-width:700px){
  .cmp-requirements-project-grid{grid-template-columns:1fr}
  .cmp-requirements-project-card{padding:15px;gap:13px}
  .cmp-activity-toolbar{grid-template-columns:1fr}
  .cmp-activity-toolbar .cmp-list-search{grid-column:auto}
  .cmp-activity-toolbar .cmp-primary-button,.cmp-secondary-button{width:100%}
  .cmp-activity-date-group>summary{padding:13px}
}

/* Unified Events & Calendar v3.5 */
.cmp-events-page{display:grid;gap:16px}.cmp-event-editor{overflow:hidden}.cmp-event-editor-summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:15px 18px;background:#f8fafc;border-radius:12px;font-size:15px}.cmp-event-editor-summary span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e0edff;color:#1d4ed8;font-size:22px}.cmp-event-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:18px}.cmp-event-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#334155}.cmp-event-form input,.cmp-event-form select,.cmp-event-form textarea,.cmp-event-toolbar input,.cmp-event-toolbar select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:10px 12px;min-height:42px}.cmp-event-form .is-wide{grid-column:1/-1}.cmp-guest-fields,.cmp-online-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.cmp-event-form-actions{display:flex;gap:10px;align-items:center}.cmp-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;text-decoration:none;font-weight:700}.cmp-event-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 180px 170px;gap:10px;margin-bottom:14px}.cmp-event-list{display:grid;gap:11px}.cmp-event-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.cmp-event-card.status-cancelled{opacity:.68;background:#f8fafc}.cmp-event-card.status-rescheduled{border-color:#fbbf24}.cmp-event-card.status-completed{border-color:#86efac}.cmp-event-date{display:grid;place-items:center;border-radius:12px;background:#eff6ff;padding:9px;color:#1e3a8a}.cmp-event-date strong{font-size:25px;line-height:1}.cmp-event-date span{font-size:12px;font-weight:700}.cmp-event-date small{font-size:11px;margin-top:4px}.cmp-event-content h4{margin:5px 0 7px;font-size:16px}.cmp-event-content p{margin:4px 0;color:#64748b;font-size:12px}.cmp-event-badges{display:flex;gap:7px;flex-wrap:wrap}.cmp-event-badges span,.cmp-event-badges b{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:10px}.cmp-event-badges b{background:#f1f5f9;color:#475569}.cmp-event-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.cmp-event-links a{display:inline-flex;padding:7px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-size:11px;font-weight:700}.cmp-event-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.cmp-event-actions form{margin:0}.cmp-success-link{border:0;border-radius:8px;background:#dcfce7;color:#166534;padding:8px 10px;font-weight:700;cursor:pointer}
@media(max-width:1000px){.cmp-event-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-event-toolbar{grid-template-columns:1fr 1fr}.cmp-event-toolbar input:first-child{grid-column:1/-1}.cmp-event-card{grid-template-columns:70px minmax(0,1fr)}.cmp-event-actions{grid-column:1/-1;justify-content:flex-start;padding-inline-start:84px}}
@media(max-width:640px){.cmp-event-form{grid-template-columns:1fr;padding:13px}.cmp-event-form .is-wide{grid-column:auto}.cmp-guest-fields,.cmp-online-fields{grid-template-columns:1fr}.cmp-event-toolbar{grid-template-columns:1fr}.cmp-event-toolbar input:first-child{grid-column:auto}.cmp-event-card{grid-template-columns:58px minmax(0,1fr);padding:10px;gap:10px}.cmp-event-date strong{font-size:21px}.cmp-event-actions{padding-inline-start:68px}.cmp-event-form-actions{flex-direction:column}.cmp-event-form-actions>*{width:100%}}


/* Dashboard Final */
.cmp-attention-panel{margin:14px 0}
.cmp-attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cmp-attention-item,.cmp-attention-empty{display:flex;align-items:center;gap:12px;min-height:72px;padding:13px 14px;border:1px solid var(--cmp-border);border-radius:13px;background:#fff;text-decoration:none}
.cmp-attention-item>span,.cmp-attention-empty>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eff6ff;color:#1d4ed8;font-size:19px;flex:0 0 auto}
.cmp-attention-item>div,.cmp-attention-empty>div{min-width:0;flex:1}
.cmp-attention-item strong,.cmp-attention-item small,.cmp-attention-empty strong,.cmp-attention-empty small{display:block}
.cmp-attention-item small,.cmp-attention-empty small{margin-top:4px;color:var(--cmp-muted);font-size:11px}
.cmp-attention-item>b{font-size:17px;color:#94a3b8}
.cmp-attention-item.is-warning{border-inline-start:4px solid #f59e0b}
.cmp-attention-item.is-warning>span{background:#fef3c7;color:#b45309}
.cmp-attention-item.is-danger{border-inline-start:4px solid #ef4444}
.cmp-attention-item.is-danger>span{background:#fee2e2;color:#b91c1c}
.cmp-attention-item.is-info{border-inline-start:4px solid #3b82f6}
.cmp-attention-empty{grid-column:1/-1;background:#f8fafc}
.cmp-attention-empty>span{background:#dcfce7;color:#15803d}

.cmp-dashboard-project-list{display:grid;gap:9px}
.cmp-dashboard-project{display:block;padding:12px 13px;border:1px solid var(--cmp-border);border-radius:12px;background:#fff;text-decoration:none;transition:.18s ease}
.cmp-dashboard-project:hover{border-color:#bfdbfe;box-shadow:0 6px 18px rgba(15,23,42,.05);transform:translateY(-1px)}
.cmp-dashboard-project-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cmp-dashboard-project-head strong,.cmp-dashboard-project-head small{display:block}
.cmp-dashboard-project-head small{margin-top:4px;color:var(--cmp-muted);font-size:11px}
.cmp-dashboard-project-head>b{color:#1d4ed8;font-size:14px}
.cmp-dashboard-project-progress{height:7px;margin-top:10px;border-radius:20px;background:#e8eef8;overflow:hidden}
.cmp-dashboard-project-progress i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#2563eb,#0ea5e9)}

.cmp-notification-menu{position:relative}
.cmp-notification-menu>summary{position:relative;list-style:none;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--cmp-border);border-radius:10px;background:#fff;cursor:pointer}
.cmp-notification-menu>summary::-webkit-details-marker{display:none}
.cmp-notification-menu>summary b{position:absolute;inset:-6px -6px auto auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:10px}
.cmp-notification-dropdown{position:absolute;top:46px;inset-inline-end:0;width:min(360px,82vw);max-height:430px;overflow:auto;background:#fff;border:1px solid var(--cmp-border);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);z-index:80;padding:10px}
.cmp-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 7px 10px;border-bottom:1px solid var(--cmp-border)}
.cmp-notification-head a{font-size:11px;color:#1d4ed8;text-decoration:none}
.cmp-notification-row{padding:10px;border-bottom:1px solid #eef2f7}
.cmp-notification-row:last-child{border-bottom:0}
.cmp-notification-row.is-unread{background:#eff6ff;border-radius:9px}
.cmp-notification-row strong,.cmp-notification-row small{display:block}
.cmp-notification-row p{margin:4px 0;color:var(--cmp-muted);font-size:12px;line-height:1.6}
.cmp-notification-row small{color:#94a3b8;font-size:10px}
.cmp-notification-empty{padding:24px 10px;text-align:center;color:var(--cmp-muted);font-size:12px}

.cmp-welcome-card-manager{background:linear-gradient(135deg,#1e3a8a,#0ea5e9)}
.cmp-welcome-card-employee{background:linear-gradient(135deg,#1d4ed8,#0891b2)}
.cmp-welcome-card-client{background:linear-gradient(135deg,#0f766e,#2563eb)}

@media(max-width:900px){
  .cmp-attention-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .cmp-attention-panel{margin:10px 0}
  .cmp-attention-item,.cmp-attention-empty{min-height:64px;padding:11px}
  .cmp-attention-item>span,.cmp-attention-empty>span{width:36px;height:36px}
  .cmp-notification-dropdown{position:fixed;top:70px;inset-inline:12px;width:auto;max-height:70vh}
  .cmp-dashboard-project-head{align-items:flex-start}
}

/* =========================================================
   Portal topbar: actions always opposite the sidebar
   RTL: sidebar right / actions far left
   LTR: sidebar left  / actions far right
   ========================================================= */
.cmp-portal-topbar{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    column-gap:14px;
}

html[dir="rtl"] .cmp-portal-topbar{
    grid-template-areas:"actions title menu";
}

html[dir="ltr"] .cmp-portal-topbar{
    grid-template-areas:"menu title actions";
}

.cmp-menu-toggle{grid-area:menu}
.cmp-top-title{grid-area:title;min-width:0}
.cmp-top-actions{
    grid-area:actions;
    display:flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
}

html[dir="rtl"] .cmp-top-title{text-align:right;justify-self:end}
html[dir="ltr"] .cmp-top-title{text-align:left;justify-self:start}
html[dir="rtl"] .cmp-top-actions{justify-self:start;direction:ltr}
html[dir="ltr"] .cmp-top-actions{justify-self:end;direction:ltr}

/* Profile button — independent from Gravatar */
.cmp-top-profile{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    border:1px solid var(--cmp-border);
    border-radius:10px;
    background:#fff;
    color:#334155;
    text-decoration:none;
    transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.cmp-top-profile:hover{
    background:#eff6ff;
    color:var(--cmp-primary);
    border-color:#bfdbfe;
}
.cmp-profile-icon,.cmp-profile-icon svg{
    display:block;
    width:21px;
    height:21px;
}
.cmp-profile-icon svg{fill:currentColor}

/* Notification dropdown opens inward, away from sidebar */
.cmp-notification-menu{position:relative}
html[dir="rtl"] .cmp-notification-dropdown{
    left:0 !important;
    right:auto !important;
    inset-inline-start:auto !important;
    inset-inline-end:auto !important;
    transform:none !important;
    transform-origin:top left;
}
html[dir="ltr"] .cmp-notification-dropdown{
    right:0 !important;
    left:auto !important;
    inset-inline-start:auto !important;
    inset-inline-end:auto !important;
    transform:none !important;
    transform-origin:top right;
}

@media(max-width:980px){
    .cmp-portal-topbar{
        grid-template-columns:42px minmax(0,1fr) auto;
    }
    html[dir="rtl"] .cmp-portal-topbar{
        grid-template-areas:"actions title menu";
        grid-template-columns:auto minmax(0,1fr) 42px;
    }
    html[dir="ltr"] .cmp-portal-topbar{
        grid-template-areas:"menu title actions";
        grid-template-columns:42px minmax(0,1fr) auto;
    }
}

@media(max-width:600px){
    .cmp-portal-topbar{column-gap:8px}
    .cmp-top-actions{gap:5px}
    .cmp-top-profile,.cmp-notification-menu>summary{
        width:34px;
        height:34px;
        flex-basis:34px;
    }
    .cmp-profile-icon,.cmp-profile-icon svg{width:18px;height:18px}
    .cmp-language-switch{min-width:38px;height:34px;padding:0 7px}
    .cmp-notification-dropdown{
        position:fixed !important;
        top:70px !important;
        left:12px !important;
        right:12px !important;
        width:auto !important;
        max-height:calc(100vh - 90px) !important;
    }
}

/* =========================================================
   Projects list — Sprint 3.7 clean rebuild
   ========================================================= */
.cmp-projects-page{display:grid;gap:16px}
.cmp-projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.cmp-projects-heading h2{margin:0;font-size:25px}
.cmp-projects-heading p{margin:6px 0 0;color:var(--cmp-muted);font-size:13px}
.cmp-projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#fff;border:1px solid var(--cmp-border);border-radius:15px;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.cmp-project-search-wrap{display:flex;align-items:center;gap:9px;flex:1;max-width:520px;height:44px;padding:0 13px;border:1px solid #cbd5e1;border-radius:11px;background:#fff}
.cmp-project-search-wrap span{font-size:22px;color:#64748b}
.cmp-project-search-wrap input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font:inherit;color:var(--cmp-dark);padding:0!important}
.cmp-project-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.cmp-project-filters button{height:38px;padding:0 13px;border:1px solid var(--cmp-border);border-radius:10px;background:#fff;color:#475569;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.cmp-project-filters button:hover{border-color:#bfdbfe;color:var(--cmp-primary)}
.cmp-project-filters button.is-active{background:#eaf2ff;border-color:#bfdbfe;color:var(--cmp-primary)}
.cmp-project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cmp-project-card{display:flex;flex-direction:column;min-width:0;padding:17px;background:#fff;border:1px solid var(--cmp-border);border-radius:17px;box-shadow:0 5px 18px rgba(15,23,42,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.cmp-project-card:hover{transform:translateY(-2px);border-color:#bfdbfe;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.cmp-project-card[hidden]{display:none!important}
.cmp-project-card-top,.cmp-project-card-title,.cmp-project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cmp-project-state{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}
.cmp-project-state i{width:7px;height:7px;border-radius:50%;background:currentColor}
.cmp-project-state.is-in-progress{color:#1d4ed8;background:#dbeafe}
.cmp-project-state.is-completed{color:#15803d;background:#dcfce7}
.cmp-project-state.is-not-started{color:#64748b;background:#f1f5f9}
.cmp-project-percent{font-size:22px;font-weight:900;color:#0f172a}
.cmp-project-card-title{justify-content:flex-start;margin:17px 0 15px}
.cmp-project-card-icon{width:47px;height:47px;border-radius:13px;background:linear-gradient(135deg,#eaf2ff,#f0f9ff);color:#2563eb;display:grid;place-items:center;font-size:22px;flex:0 0 47px}
.cmp-project-card-title h3{margin:0;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-project-card-title p{margin:5px 0 0;color:var(--cmp-muted);font-size:12px;direction:ltr;text-align:inherit}
.cmp-project-card-info{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:14px}
.cmp-project-card-info div{min-width:0}
.cmp-project-card-info small,.cmp-project-card-info strong{display:block}
.cmp-project-card-info small{color:var(--cmp-muted);font-size:10px;margin-bottom:5px}
.cmp-project-card-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-project-card-progress{height:8px;border-radius:99px;background:#e7eef8;overflow:hidden}
.cmp-project-card-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#0ea5e9)}
.cmp-project-card-footer{margin-top:15px;padding-top:14px;border-top:1px solid #eef2f7}
.cmp-project-card-footer small{color:var(--cmp-muted);font-size:10px}
.cmp-project-card-footer a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:9px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}
html[dir="ltr"] .cmp-project-card-footer a span{transform:rotate(180deg)}
@media(max-width:1100px){.cmp-project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.cmp-projects-toolbar{align-items:stretch;flex-direction:column}.cmp-project-search-wrap{max-width:none}.cmp-project-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.cmp-project-filters button{white-space:nowrap}.cmp-project-cards{grid-template-columns:1fr}}
@media(max-width:480px){.cmp-projects-heading h2{font-size:21px}.cmp-project-card{padding:14px}.cmp-project-card-title{margin:14px 0 12px}.cmp-project-card-footer{align-items:flex-end}.cmp-project-card-footer small{max-width:52%}}

/* =========================================================
   Projects list — Sprint 3.7.2 final polish
   ========================================================= */
.cmp-project-cards.is-single{grid-template-columns:minmax(420px,760px);justify-content:center}
.cmp-project-card{position:relative;overflow:hidden;cursor:pointer}
.cmp-project-card:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:3px}
.cmp-project-card-accent{position:absolute;inset-inline:0;top:0;height:4px;background:#94a3b8}
.cmp-project-card.is-in-progress .cmp-project-card-accent{background:linear-gradient(90deg,#2563eb,#0ea5e9)}
.cmp-project-card.is-completed .cmp-project-card-accent{background:linear-gradient(90deg,#16a34a,#22c55e)}
.cmp-project-card.is-not-started .cmp-project-card-accent{background:linear-gradient(90deg,#94a3b8,#cbd5e1)}
.cmp-project-card .cmp-project-progress-ring{--cmp-progress:0;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:conic-gradient(from -90deg,#2563eb 0 calc(var(--cmp-progress)*1%),#e7eef8 calc(var(--cmp-progress)*1%) 100%);position:relative;flex:0 0 64px;box-shadow:inset 0 0 0 1px rgba(37,99,235,.05)}
.cmp-project-card .cmp-project-progress-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(148,163,184,.12)}
.cmp-project-card .cmp-project-progress-ring b{position:relative;z-index:1;font-size:12px;line-height:1;color:#0f172a;direction:ltr;font-variant-numeric:tabular-nums}
.cmp-project-card.is-completed .cmp-project-progress-ring{background:conic-gradient(#16a34a calc(var(--cmp-progress)*1%),#dcfce7 0)}
.cmp-project-card.is-not-started .cmp-project-progress-ring{background:conic-gradient(#94a3b8 calc(var(--cmp-progress)*1%),#eef2f7 0)}
.cmp-project-percent{display:none}
.cmp-project-number-badge{display:inline-flex;align-items:center;margin-top:7px;padding:4px 8px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:900;direction:ltr}
.cmp-project-card-event{display:flex;align-items:center;gap:9px;margin-top:12px;padding:10px 11px;border:1px solid #fde68a;border-radius:11px;background:#fffbeb;color:#92400e}
.cmp-project-card-event>span{width:30px;height:30px;border-radius:9px;background:#fef3c7;display:grid;place-items:center;font-size:17px;flex:0 0 30px}
.cmp-project-card-event strong,.cmp-project-card-event small{display:block}
.cmp-project-card-event strong{font-size:11px}
.cmp-project-card-event small{margin-top:3px;font-size:9px;color:#a16207;direction:ltr}
.cmp-project-card-footer small span,.cmp-project-card-footer small b{display:block}
.cmp-project-card-footer small span{margin-bottom:3px;color:#94a3b8}
.cmp-project-card-footer small b{font-size:11px;color:#64748b;font-weight:800}
.cmp-project-card-icon{font-size:25px;font-weight:900}
@media(max-width:780px){.cmp-project-cards.is-single{grid-template-columns:1fr}.cmp-project-card .cmp-project-progress-ring{width:58px;height:58px;flex-basis:58px}.cmp-project-card .cmp-project-progress-ring::after{inset:6px}}

/* =========================================================
   Sprint 3.8 — Milestones cards (UI only)
   ========================================================= */
.cmp-milestones-panel{padding:20px}
.cmp-milestones-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.cmp-section-kicker{display:block;color:#2563eb;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px}
.cmp-milestones-head h3{margin:0;font-size:20px}
.cmp-milestones-head p{margin:6px 0 0;color:var(--cmp-muted);font-size:12px}
.cmp-milestones-summary{min-width:86px;padding:10px 13px;border:1px solid #dbeafe;border-radius:13px;background:#eff6ff;text-align:center}
.cmp-milestones-summary strong{display:block;color:#1d4ed8;font-size:23px;line-height:1}
.cmp-milestones-summary span{display:block;margin-top:5px;color:#64748b;font-size:10px;font-weight:800}
.cmp-milestones-progress{height:9px;margin-bottom:16px;border-radius:999px;background:#e8eef7;overflow:hidden}
.cmp-milestones-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9);transition:width .35s ease}
.cmp-milestones-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cmp-milestone-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(15,23,42,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.cmp-milestone-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.075);border-color:#bfdbfe}
.cmp-milestone-card-accent{position:absolute;inset-inline:0;top:0;height:4px;background:#3b82f6}
.cmp-milestone-card.is-completed .cmp-milestone-card-accent{background:linear-gradient(90deg,#16a34a,#22c55e)}
.cmp-milestone-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.cmp-milestone-status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:900}
.cmp-milestone-status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.cmp-milestone-card.is-completed .cmp-milestone-status{background:#dcfce7;color:#15803d}
.cmp-milestone-number{color:#94a3b8;font-size:10px;font-weight:900;direction:ltr}
.cmp-milestone-title-row{display:flex;align-items:center;gap:11px;margin:15px 0}
.cmp-milestone-symbol{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#eff6ff;color:#2563eb;font-size:20px;font-weight:900}
.cmp-milestone-card.is-completed .cmp-milestone-symbol{background:#dcfce7;color:#15803d}
.cmp-milestone-title-row h4{margin:0;font-size:15px;line-height:1.45}
.cmp-milestone-title-row p{margin:4px 0 0;color:#64748b;font-size:10px}
.cmp-milestone-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.cmp-milestone-meta-grid>div{min-width:0;padding:9px 10px;border:1px solid #edf2f7;border-radius:10px;background:#f8fafc}
.cmp-milestone-meta-grid small,.cmp-milestone-meta-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-milestone-meta-grid small{color:#94a3b8;font-size:9px;margin-bottom:4px}
.cmp-milestone-meta-grid strong{font-size:10px;color:#475569}
.cmp-milestone-card-footer{margin-top:12px;padding-top:12px;border-top:1px solid #edf2f7}
.cmp-milestone-card-footer form{margin:0}
.cmp-milestone-action,.cmp-milestone-readonly{width:100%;min-height:38px;border-radius:10px;font:inherit;font-size:11px;font-weight:900}
.cmp-milestone-action{border:0;cursor:pointer}
.cmp-milestone-action.is-complete{background:#2563eb;color:#fff}
.cmp-milestone-action.is-complete:hover{background:#1d4ed8}
.cmp-milestone-action.is-reopen{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.cmp-milestone-readonly{display:flex;align-items:center;justify-content:center;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
@media(max-width:900px){.cmp-milestones-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cmp-milestones-panel{padding:14px}.cmp-milestones-head{align-items:center}.cmp-milestones-head p{display:none}.cmp-milestone-meta-grid{grid-template-columns:1fr}.cmp-milestone-card{padding:13px}}

/* =========================================================
   Milestone execution discussion
   ========================================================= */
.cmp-milestone-discussion{margin-top:14px;border:1px solid #e4eaf3;border-radius:14px;background:#f9fbfe;overflow:hidden}
.cmp-milestone-discussion>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;list-style:none;user-select:none}
.cmp-milestone-discussion>summary::-webkit-details-marker{display:none}
.cmp-discussion-summary-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cmp-discussion-summary-main b{font-size:14px;color:#1f2a3d}
.cmp-discussion-summary-main small{color:#718096}
.cmp-discussion-chevron{font-size:20px;color:#64748b;transition:transform .2s ease}
.cmp-milestone-discussion[open] .cmp-discussion-chevron{transform:rotate(180deg)}
.cmp-discussion-body{border-top:1px solid #e4eaf3;padding:14px;background:#fff}
.cmp-discussion-preview{padding:10px 12px;border-radius:10px;background:#f6f8fc;margin-bottom:12px}
.cmp-discussion-preview small{display:block;color:#8a94a6;margin-bottom:3px}
.cmp-discussion-preview p{margin:0;color:#334155}
.cmp-discussion-messages{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto;padding:2px}
.cmp-discussion-empty{text-align:center;padding:22px 12px;color:#8490a3;background:#f8fafc;border-radius:12px}
.cmp-discussion-message{max-width:86%;align-self:flex-start;padding:11px 13px;border-radius:14px 14px 14px 4px;background:#f1f5f9;border:1px solid #e7edf4}
[dir="rtl"] .cmp-discussion-message{align-self:flex-end;border-radius:14px 14px 4px 14px}
.cmp-discussion-message.is-mine{align-self:flex-end;background:#eaf3ff;border-color:#d4e5ff}
[dir="rtl"] .cmp-discussion-message.is-mine{align-self:flex-start}
.cmp-discussion-message-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.cmp-discussion-message-head strong{font-size:12px;color:#1e3a5f}
.cmp-discussion-message-head time{font-size:10px;color:#8793a5;white-space:nowrap}
.cmp-discussion-message p{margin:0;line-height:1.65;color:#26364d;white-space:normal}
.cmp-discussion-attachment{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:7px 9px;border-radius:8px;background:#fff;color:#2563eb;text-decoration:none;border:1px solid #dbe7f7}
.cmp-discussion-form{margin-top:14px;padding-top:14px;border-top:1px solid #e8edf4}
.cmp-discussion-form textarea{width:100%;resize:vertical;min-height:78px;border:1px solid #d8e0eb;border-radius:12px;padding:11px 12px;font:inherit;box-sizing:border-box}
.cmp-discussion-form textarea:focus{outline:none;border-color:#4b8ef7;box-shadow:0 0 0 3px rgba(75,142,247,.12)}
.cmp-discussion-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.cmp-discussion-file{display:inline-flex;align-items:center;gap:6px;color:#52647d;cursor:pointer;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}
.cmp-discussion-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cmp-discussion-readonly{margin-top:12px;padding:11px 12px;border-radius:10px;background:#f7f8fa;color:#68758a;text-align:center}
@media(max-width:640px){.cmp-discussion-summary-main{align-items:flex-start;flex-direction:column;gap:3px}.cmp-discussion-message{max-width:95%}.cmp-discussion-form-actions{align-items:stretch;flex-direction:column}.cmp-discussion-file,.cmp-discussion-form-actions .cmp-primary-button{justify-content:center;width:100%;box-sizing:border-box}}

/* =========================================================
   Phase 1 final fixes — LTR mobile + projects mobile layout
   ========================================================= */
html,body{overflow-x:hidden}

/* Correct desktop direction for English */
html[dir="ltr"] .cmp-portal-sidebar{
    left:0;
    right:auto;
    border-left:0;
    border-right:1px solid var(--cmp-border);
}
html[dir="ltr"] .cmp-portal-main{
    margin-left:var(--cmp-sidebar);
    margin-right:0;
}
html[dir="ltr"] .cmp-sidebar-close{
    margin-left:auto;
    margin-right:0;
}
html[dir="ltr"] .cmp-portal-nav a,
html[dir="ltr"] .cmp-portal-user,
html[dir="ltr"] .cmp-portal-brand{
    direction:ltr;
    text-align:left;
}
html[dir="ltr"] .cmp-top-title,
html[dir="ltr"] .cmp-portal-content{
    direction:ltr;
    text-align:left;
}

.cmp-projects-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    min-width:0;
}
.cmp-projects-heading-actions .cmp-primary-button{
    width:auto;
    white-space:nowrap;
}
.cmp-projects-page,
.cmp-projects-heading,
.cmp-projects-toolbar,
.cmp-project-search-wrap,
.cmp-project-cards{
    min-width:0;
    max-width:100%;
}

@media(max-width:980px){
    html[dir="ltr"] .cmp-portal-sidebar{
        left:0;
        right:auto;
        transform:translateX(-102%);
        box-shadow:20px 0 45px rgba(15,23,42,.16);
    }
    html[dir="ltr"] .cmp-menu-open .cmp-portal-sidebar{
        transform:translateX(0);
    }
    html[dir="ltr"] .cmp-portal-main{
        margin-left:0;
        margin-right:0;
    }
}

@media(max-width:780px){
    .cmp-projects-heading{
        align-items:stretch;
        flex-direction:column;
        gap:12px;
    }
    .cmp-projects-heading-actions{
        justify-content:space-between;
        width:100%;
    }
    .cmp-projects-heading-actions .cmp-primary-button{
        flex:1;
        min-height:42px;
        justify-content:center;
    }
    .cmp-projects-toolbar{
        width:100%;
    }
}

@media(max-width:480px){
    .cmp-projects-heading-actions{
        display:grid;
        grid-template-columns:auto minmax(0,1fr);
        gap:9px;
    }
    .cmp-projects-heading-actions .cmp-count-badge{
        align-self:center;
        justify-self:start;
    }
    .cmp-projects-heading-actions .cmp-primary-button{
        width:100%;
        padding-inline:12px;
    }
    .cmp-project-search-wrap{
        width:100%;
    }
    .cmp-project-filters{
        width:100%;
        -webkit-overflow-scrolling:touch;
    }
}

/* =========================================================
   HOTFIX: notification dropdown must stay inside mobile viewport
   in both RTL and LTR modes.
   ========================================================= */
@media (max-width: 600px) {
    .cmp-notification-menu {
        position: static !important;
    }

    .cmp-notification-dropdown,
    html[dir="rtl"] .cmp-notification-dropdown,
    html[dir="ltr"] .cmp-notification-dropdown {
        position: fixed !important;
        top: 76px !important;
        left: 12px !important;
        right: auto !important;
        inset-inline-start: auto !important;
        inset-inline-end: auto !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        max-height: calc(100dvh - 92px) !important;
        margin: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        z-index: 9999 !important;
    }

    .cmp-notification-head,
    .cmp-notification-row {
        min-width: 0 !important;
        width: 100% !important;
    }

    .cmp-notification-row strong,
    .cmp-notification-row p,
    .cmp-notification-row small {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
}

/* Phase 2.1 — Document Categories */
.cmp-document-category-layout{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:20px;align-items:start}.cmp-document-category-layout.is-list-only{grid-template-columns:1fr}.cmp-document-category-editor{position:sticky;top:20px}.cmp-document-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}.cmp-document-category-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden}.cmp-document-category-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--cmp-category-color)}.cmp-document-category-card.is-inactive{opacity:.68;background:#f8fafc}.cmp-document-category-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:25px;background:color-mix(in srgb,var(--cmp-category-color) 12%,white);color:var(--cmp-category-color)}.cmp-document-category-copy{min-width:0}.cmp-document-category-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.cmp-document-category-title h4{margin:0;font-size:16px}.cmp-document-category-title span{font-size:11px;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;white-space:nowrap}.cmp-document-category-card.is-inactive .cmp-document-category-title span{background:#e2e8f0;color:#475569}.cmp-document-category-copy p{margin:8px 0;color:#64748b;line-height:1.6}.cmp-document-category-copy small{color:#94a3b8}.cmp-document-category-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;align-items:center;border-top:1px solid #eef2f7;padding-top:12px}.cmp-document-category-actions form{margin:0}.cmp-document-category-actions button{border:0;background:transparent;cursor:pointer}
@media(max-width:900px){.cmp-document-category-layout{grid-template-columns:1fr}.cmp-document-category-editor{position:static}.cmp-document-category-grid{grid-template-columns:1fr}}


/* Phase 2.2 — Document Engine + lightweight UX Engine */
.cmp-global-loader[hidden],.cmp-network-banner[hidden],.cmp-document-uploader .cmp-upload-progress[hidden]{display:none!important}.cmp-global-loader{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.34);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}.cmp-global-loader-card{width:min(360px,calc(100vw - 36px));background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(15,23,42,.24);text-align:center}.cmp-loader-spinner{display:inline-block;width:38px;height:38px;border:4px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:cmpSpin .75s linear infinite}.cmp-global-loader-card strong{display:block;margin:13px 0 12px}.cmp-loader-track{height:7px;border-radius:99px;background:#e2e8f0;overflow:hidden}.cmp-loader-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .22s ease}.cmp-global-loader-card small{display:block;margin-top:8px;color:#2563eb;font-weight:800}.cmp-global-loader-card p{margin:8px 0 0;color:#b45309;font-size:12px}@keyframes cmpSpin{to{transform:rotate(360deg)}}
.cmp-network-banner{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:100002;padding:10px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(15,23,42,.18);font-size:13px;font-weight:700}.cmp-network-banner.is-offline{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.cmp-network-banner.is-online{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.cmp-toast-stack{position:fixed;inset-inline-end:18px;bottom:18px;z-index:100003;display:grid;gap:8px}.cmp-toast{max-width:min(380px,calc(100vw - 36px));padding:12px 15px;border-radius:13px;background:#0f172a;color:#fff;box-shadow:0 14px 40px rgba(15,23,42,.24);opacity:0;transform:translateY(8px);transition:.2s}.cmp-toast.is-visible{opacity:1;transform:none}.cmp-toast.is-error{background:#991b1b}.cmp-toast.is-success{background:#065f46}
.cmp-storage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:12px}.cmp-storage-stats>div{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;display:grid;gap:5px}.cmp-storage-stats small,.cmp-storage-stats span{color:#64748b}.cmp-storage-stats strong{font-size:23px}.cmp-storage-progress{position:relative;height:10px;background:#e2e8f0;border-radius:99px;overflow:visible;margin:0 0 18px}.cmp-storage-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#06b6d4)}.cmp-storage-progress span{position:absolute;inset-inline-end:0;top:-24px;font-size:12px;font-weight:800}.cmp-document-uploader summary{display:flex;gap:9px;align-items:center;cursor:pointer}.cmp-document-uploader summary::-webkit-details-marker{display:none}.cmp-upload-progress>div{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden}.cmp-upload-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2563eb,#22c55e);transition:width .15s}.cmp-upload-progress strong{display:inline-block;margin-top:6px}.cmp-upload-progress small{margin-inline-start:8px;color:#64748b}.cmp-document-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:13px;margin-top:15px}.cmp-library-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.cmp-library-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#eff6ff;font-size:22px}.cmp-library-card h4{margin:0 0 5px}.cmp-library-card p,.cmp-library-card small{margin:0;color:#64748b}.cmp-library-actions{display:grid;gap:7px;justify-items:end}.cmp-library-actions form{margin:0}.cmp-library-actions button{border:0;background:transparent;cursor:pointer}.cmp-library-actions a{font-weight:700;text-decoration:none}.cmp-document-uploader input[type=file]{padding:10px;background:#f8fafc;border:1px dashed #94a3b8}
@media(max-width:760px){.cmp-storage-stats{grid-template-columns:1fr}.cmp-document-library-grid{grid-template-columns:1fr}.cmp-library-card{grid-template-columns:44px minmax(0,1fr)}.cmp-library-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.cmp-toast-stack{inset-inline:12px;bottom:12px}.cmp-toast{max-width:none;width:100%}}

/* Phase 2.1.1: compact storage summary + automatic project client */
.cmp-storage-summary{margin:0 0 18px;background:#fff;border:1px solid #e2e8f0;border-radius:17px;overflow:hidden}
.cmp-storage-summary>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;font-weight:800;color:#0f172a}
.cmp-storage-summary>summary::-webkit-details-marker{display:none}
.cmp-storage-summary>summary:after{content:'⌄';font-size:18px;color:#64748b;transition:transform .2s ease}
.cmp-storage-summary[open]>summary:after{transform:rotate(180deg)}
.cmp-storage-summary>summary b{margin-inline-start:auto;color:#2563eb;font-size:13px}
.cmp-storage-summary .cmp-storage-stats{padding:0 15px;margin-bottom:12px}
.cmp-storage-summary .cmp-storage-progress{margin:0 15px 18px}
#cmpDocumentClientName[readonly]{background:#f8fafc;color:#334155;font-weight:700;cursor:not-allowed}
#cmpDocumentClientName+input+small{display:block;margin-top:6px;color:#64748b;font-size:11px}
@media(max-width:767px){
  .cmp-storage-summary>summary{padding:14px}
  .cmp-storage-summary .cmp-storage-stats{grid-template-columns:1fr;padding:0 12px}
  .cmp-storage-summary .cmp-storage-progress{margin:0 12px 16px}
}

/* Phase 2.2 — Project Document Manager (functional baseline) */
.cmp-project-document-manager{margin-top:18px}.cmp-project-document-upload{border:1px solid #e3eaf4;border-radius:14px;margin:14px 0;padding:0 14px}.cmp-project-document-upload>summary{cursor:pointer;padding:14px 0;font-weight:700}.cmp-project-document-upload .cmp-form-grid{padding:0 0 16px}.cmp-project-document-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;margin:14px 0}.cmp-project-document-toolbar select{min-height:44px;border:1px solid #d8e1ee;border-radius:10px;background:#fff;padding:0 10px}.cmp-project-document-groups{display:grid;gap:12px}.cmp-project-document-group{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}.cmp-project-document-group>summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;background:#f8fafc}.cmp-project-document-group>summary b{flex:1}.cmp-project-document-group>summary em{font-style:normal;background:#e9eef7;border-radius:999px;padding:3px 9px;font-size:12px}.cmp-project-document-list{display:grid;gap:1px;background:#e8edf4}.cmp-project-document-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;background:#fff}.cmp-project-document-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;font-size:20px}.cmp-project-document-copy{min-width:0}.cmp-project-document-copy h4{margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-project-document-copy p,.cmp-project-document-copy small{margin:0;color:#64748b}.cmp-project-document-actions{display:flex;align-items:center;gap:8px}.cmp-project-document-actions>a{font-size:13px;text-decoration:none}.cmp-document-more{position:relative}.cmp-document-more>summary{list-style:none;cursor:pointer;padding:6px 10px;border:1px solid #dbe3ee;border-radius:8px}.cmp-document-more>summary::-webkit-details-marker{display:none}.cmp-document-more>div{position:absolute;z-index:20;inset-inline-end:0;top:calc(100% + 6px);width:min(320px,80vw);background:#fff;border:1px solid #dce4ee;border-radius:12px;padding:12px;box-shadow:0 14px 36px rgba(15,23,42,.14);display:grid;gap:10px}.cmp-inline-rename-form,.cmp-version-upload-form{display:grid;gap:8px}.cmp-inline-rename-form input,.cmp-version-upload-form input,.cmp-version-upload-form textarea{width:100%;border:1px solid #d8e1ee;border-radius:8px;padding:9px}.cmp-inline-rename-form button,.cmp-version-upload-form button{border:0;border-radius:8px;padding:9px 12px;cursor:pointer}.cmp-version-status{display:block;color:#64748b}
@media(max-width:767px){.cmp-project-document-toolbar{grid-template-columns:1fr}.cmp-project-document-item{grid-template-columns:42px minmax(0,1fr);align-items:start}.cmp-project-document-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap}.cmp-document-more>div{position:fixed;inset-inline:12px;top:auto;bottom:12px;width:auto;max-height:70vh;overflow:auto}.cmp-project-document-group>summary{padding:12px}}


/* Phase 2.2.1 — live file validation and size feedback */
.cmp-file-live-status{display:block;margin-top:7px;font-size:12px;line-height:1.55;color:#64748b;font-weight:700}
.cmp-file-live-status.is-valid{color:#047857}
.cmp-file-live-status.is-invalid{color:#b91c1c}
input[type=file].is-valid{border-color:#34d399!important;background:#ecfdf5!important}
input[type=file].is-invalid{border-color:#f87171!important;background:#fff1f2!important}
form button[type=submit]:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}


/* Smart Document Library v4.4 */
.cmp-smart-library .cmp-panel-head>div p{margin:5px 0 0;color:#64748b;font-size:13px}.cmp-library-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(130px,1fr)) auto;gap:10px;margin:16px 0}.cmp-library-toolbar input,.cmp-library-toolbar select{width:100%;min-height:44px;border:1px solid #dbe3ee;border-radius:11px;background:#fff;padding:0 12px;font:inherit}.cmp-library-search{position:relative}.cmp-library-search span{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);font-size:22px;color:#64748b}.cmp-library-search input{padding-inline-start:42px}.cmp-library-card-v2{display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:16px;min-width:0}.cmp-library-card-top{display:flex;align-items:center;justify-content:space-between}.cmp-library-card-v2 .cmp-library-icon{width:52px;height:52px;font-size:24px}.cmp-library-icon.is-pdf{background:#fff1f2}.cmp-library-icon.is-image{background:#ecfeff}.cmp-library-icon.is-office{background:#eff6ff}.cmp-library-icon.is-drawing{background:#fff7ed}.cmp-library-icon.is-archive{background:#f5f3ff}.cmp-library-icon.is-audio{background:#fdf2f8}.cmp-document-status{font-size:11px;font-weight:800;border-radius:999px;padding:5px 9px}.cmp-document-status.is-approved{background:#dcfce7;color:#166534}.cmp-document-status.is-pending{background:#fef3c7;color:#92400e}.cmp-document-status.is-rejected{background:#fee2e2;color:#991b1b}.cmp-library-card-copy h4{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px}.cmp-library-card-copy p{margin:5px 0 0;color:#64748b}.cmp-library-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.cmp-library-meta>div{background:#f8fafc;border-radius:10px;padding:9px;min-width:0}.cmp-library-meta dt{font-size:10px;color:#94a3b8}.cmp-library-meta dd{margin:3px 0 0;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-library-card-foot{display:flex;justify-content:space-between;gap:8px;color:#64748b}.cmp-library-card-foot span{color:#2563eb;font-weight:700;font-size:11px}.cmp-library-card-v2 .cmp-library-actions{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:wrap;border-top:1px solid #eef2f7;padding-top:12px}.cmp-library-card-v2 .cmp-library-actions a,.cmp-library-card-v2 .cmp-library-actions button{border:1px solid #dbe3ee;border-radius:9px;background:#fff;color:#1d4ed8;padding:8px 10px;font:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.cmp-library-card-v2 .cmp-library-actions .cmp-danger-link{color:#b91c1c}.cmp-preview-modal[hidden]{display:none}.cmp-preview-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.cmp-preview-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}.cmp-preview-modal>section{position:relative;width:min(1000px,96vw);height:min(780px,90vh);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 80px rgba(15,23,42,.32);display:grid;grid-template-rows:auto 1fr}.cmp-preview-modal header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e2e8f0}.cmp-preview-modal header h3{margin:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-preview-modal header button{width:38px;height:38px;border:0;border-radius:10px;background:#f1f5f9;font-size:24px;cursor:pointer}.cmp-preview-body{min-height:0;background:#f8fafc;display:grid;place-items:center}.cmp-preview-body iframe,.cmp-preview-body img{width:100%;height:100%;border:0;object-fit:contain}.cmp-preview-body audio{width:min(560px,90%)}body.cmp-preview-open{overflow:hidden}
@media(max-width:1180px){.cmp-library-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-library-search{grid-column:1/-1}}
@media(max-width:700px){.cmp-library-toolbar{grid-template-columns:1fr 1fr}.cmp-library-search,.cmp-library-toolbar #cmpLibrarySort,.cmp-library-toolbar #cmpLibraryReset{grid-column:1/-1}.cmp-library-meta{grid-template-columns:1fr 1fr}.cmp-preview-modal{padding:8px}.cmp-preview-modal>section{width:100%;height:88vh;border-radius:14px}.cmp-document-library-grid{grid-template-columns:1fr}}

/* Progress Engine 4.7 */
.cmp-contract-scope-box{border:1px solid #dbe4ef;border-radius:16px;padding:16px;background:#f8fbff}.cmp-contract-scope-box>div:first-child{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.cmp-scope-group{padding:10px 0;border-top:1px solid #e5edf6}.cmp-scope-group:first-child{border-top:0}.cmp-scope-item{display:flex!important;align-items:center;gap:7px;padding:6px 2px;font-weight:400!important}.cmp-scope-item input{width:auto!important}.cmp-progress-settings summary{cursor:pointer;display:flex;gap:10px;align-items:center}.cmp-progress-settings-form{display:grid;gap:14px;margin-top:16px}.cmp-progress-section{border:1px solid #e2e8f0;border-radius:14px;padding:12px}.cmp-progress-section-head,.cmp-progress-task-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.cmp-progress-section-head{padding-bottom:10px;border-bottom:1px solid #edf2f7}.cmp-progress-task-row{padding:9px 0;border-bottom:1px dashed #edf2f7}.cmp-progress-task-row:last-child{border-bottom:0}.cmp-progress-settings input[type=number]{width:95px}.cmp-progress-settings label{display:flex;gap:6px;align-items:center}@media(max-width:700px){.cmp-progress-section-head,.cmp-progress-task-row{grid-template-columns:1fr}.cmp-progress-settings input[type=number]{width:100%}}

/* Contracts Final 4.7.3 — compact cards */
.cmp-contract-grid{grid-template-columns:1fr!important;gap:12px}
.cmp-contract-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px!important;min-height:0!important}
.cmp-contract-card-main{min-width:0;display:grid;gap:12px}
.cmp-contract-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.cmp-contract-card-head h4{margin:7px 0 3px;font-size:18px;line-height:1.35}
.cmp-contract-ref{margin:0!important;color:#64748b;font-size:12px}
.cmp-contract-progress-number{direction:ltr;flex:0 0 auto;font-size:27px;line-height:1;font-weight:850;color:#0f172a;background:#f1f6ff;border-radius:13px;padding:10px 12px;min-width:78px;text-align:center}
.cmp-contract-progress-number span{font-size:15px;margin-inline-start:2px;color:#2563eb}
.cmp-contract-meta{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;color:#64748b;font-size:12px}
.cmp-contract-meta span{display:inline-flex;align-items:center;gap:5px}
.cmp-contract-meta b{color:#334155;font-weight:750}
.cmp-contract-progress-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:12px}
.cmp-contract-progress-row .cmp-project-card-progress{margin:0!important;height:8px}
.cmp-contract-progress-row small{color:#64748b;white-space:nowrap}
.cmp-contract-actions{align-self:stretch;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap;max-width:240px;border-inline-start:1px solid #edf2f7;padding-inline-start:18px}
.cmp-contract-actions form{margin:0}
.cmp-contract-actions .cmp-secondary-button,.cmp-contract-actions .cmp-danger-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:800px){
 .cmp-contract-card{grid-template-columns:1fr;gap:12px;padding:15px!important}
 .cmp-contract-card-head{gap:10px}
 .cmp-contract-progress-number{font-size:22px;min-width:68px;padding:9px}
 .cmp-contract-meta{display:grid;grid-template-columns:1fr;gap:6px}
 .cmp-contract-progress-row{grid-template-columns:1fr;gap:7px}
 .cmp-contract-progress-row small{white-space:normal}
 .cmp-contract-actions{max-width:none;border-inline-start:0;border-top:1px solid #edf2f7;padding:12px 0 0;justify-content:flex-start!important}
}

/* v4.7.4 — Portal project structure & milestone management */
.cmp-progress-structure summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cmp-progress-structure summary small{color:#64748b;font-weight:400}
.cmp-progress-weight-status{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin:16px 0;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.cmp-progress-weight-status small{grid-column:1/-1;color:#64748b}.cmp-progress-weight-status.is-valid strong,.cmp-structure-task-total.is-valid b{color:#059669}.cmp-progress-weight-status.is-warning strong,.cmp-structure-task-total.is-warning b{color:#d97706}
.cmp-structure-grid{display:grid;gap:14px}.cmp-structure-section{border:1px solid #dbe4ef;border-radius:16px;background:#fff;padding:14px}.cmp-structure-section-title{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #edf2f7}.cmp-structure-inline-form{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto auto;gap:8px;align-items:center;flex:1}.cmp-structure-inline-form input,.cmp-structure-inline-form select,.cmp-structure-add-task input,.cmp-structure-add-section input{min-height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff}.cmp-structure-inline-form label{display:flex;align-items:center;gap:6px;white-space:nowrap}.cmp-structure-inline-form label input{width:86px}.cmp-structure-task-total{display:flex;align-items:center;gap:8px;margin:10px 0;color:#64748b;font-size:13px}.cmp-structure-task-list{display:grid;gap:8px}.cmp-structure-task{display:flex;gap:8px;align-items:center;padding:8px;border-radius:12px;background:#f8fafc}.cmp-structure-task>.cmp-structure-inline-form{grid-template-columns:minmax(160px,1fr) minmax(130px,180px) auto auto auto}.cmp-structure-progress-badge,.cmp-weight-readonly{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;border-radius:9px;background:#eef6ff;color:#1d4ed8;font-weight:700;white-space:nowrap}.cmp-structure-add-task,.cmp-structure-add-section{display:grid;grid-template-columns:minmax(180px,1fr) 110px auto;gap:8px;margin-top:12px}.cmp-structure-add-section{padding-top:16px;border-top:1px solid #e5e7eb}.cmp-empty-small{padding:12px!important;min-height:auto!important}.cmp-progress-settings .cmp-weight-readonly{font-size:12px}.cmp-progress-structure .cmp-login-error,.cmp-progress-structure .cmp-success-message{margin:12px 0}
@media(max-width:900px){.cmp-structure-inline-form,.cmp-structure-task>.cmp-structure-inline-form{grid-template-columns:1fr 1fr}.cmp-structure-inline-form>input:first-of-type{grid-column:1/-1}.cmp-structure-add-task,.cmp-structure-add-section{grid-template-columns:1fr 110px}.cmp-structure-add-task button,.cmp-structure-add-section button{grid-column:1/-1}.cmp-structure-section-title,.cmp-structure-task{align-items:stretch}}
@media(max-width:620px){.cmp-progress-structure summary{align-items:flex-start;flex-direction:column}.cmp-structure-section-title,.cmp-structure-task{flex-direction:column}.cmp-structure-inline-form,.cmp-structure-task>.cmp-structure-inline-form,.cmp-structure-add-task,.cmp-structure-add-section{grid-template-columns:1fr}.cmp-structure-inline-form>input:first-of-type{grid-column:auto}.cmp-structure-inline-form label,.cmp-structure-inline-form label input{width:100%}.cmp-structure-add-task button,.cmp-structure-add-section button{grid-column:auto}.cmp-progress-weight-status{grid-template-columns:1fr auto}}
/* v4.8 Simple Project Structure */
.cmp-simple-progress-manager{background:linear-gradient(180deg,#f8fafc 0,#f3f6f9 100%);border:1px solid #dfe7ee}.cmp-simple-progress-manager>summary{background:#fff;border-radius:14px;padding:16px 18px}.cmp-simple-progress-manager>summary small{display:block;margin-top:4px;color:#6b7785}.cmp-simple-progress-tabs{display:flex;gap:8px;margin:16px 0}.cmp-simple-progress-tabs button{border:1px solid #dce5ec;background:#fff;border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer}.cmp-simple-progress-tabs button.is-active{background:#172c3c;color:#fff;border-color:#172c3c}.cmp-simple-help{background:#eef6fb;border:1px solid #d8eaf5;padding:10px 13px;border-radius:10px;margin-bottom:12px;color:#496272}.cmp-project-structure-sortable{display:grid;gap:12px}.cmp-simple-section-card{background:#fff;border:1px solid #dfe7ed;border-radius:14px;padding:12px;box-shadow:0 3px 14px rgba(30,55,70,.04)}.cmp-simple-section-card.is-dragging,.cmp-simple-task-row.is-dragging{opacity:.45}.cmp-simple-section-card>header{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid #edf1f4}.cmp-drag-handle{cursor:grab;color:#8796a2;font-weight:900;letter-spacing:-3px}.cmp-order-number{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:8px;background:#edf3f6;color:#314b5d;font-size:12px;font-weight:800}.cmp-inline-section-name,.cmp-inline-task-name{border:0!important;background:transparent!important;box-shadow:none!important;font-weight:750;padding:6px!important;min-width:0}.cmp-inline-section-name{font-size:16px;flex:1}.cmp-section-count{font-size:12px;color:#758591;background:#f4f7f9;border-radius:999px;padding:5px 9px}.cmp-simple-task-list{display:grid;gap:6px;padding-top:9px}.cmp-simple-task-row{display:grid;grid-template-columns:22px 28px minmax(120px,1fr) auto 30px;align-items:center;gap:7px;padding:7px 8px;border-radius:9px;background:#f8fafb;border:1px solid #edf1f3}.cmp-task-state{font-size:11px;font-weight:700;color:#8a6721;background:#fff4d7;border-radius:999px;padding:4px 8px;white-space:nowrap}.cmp-task-state.is-done{color:#23704a;background:#e4f6ec}.cmp-icon-danger{width:28px;height:28px;border:0;border-radius:8px;background:#fff0f0;color:#b53939;font-size:18px;cursor:pointer}.cmp-library-bulk-card{display:grid;grid-template-columns:minmax(180px,.7fr) 1fr 1.5fr auto;gap:10px;align-items:end;background:#fff;border:1px solid #dfe7ed;border-radius:14px;padding:14px;margin-bottom:14px}.cmp-library-bulk-card h4,.cmp-library-picker-head h4{margin:0 0 4px}.cmp-library-bulk-card p,.cmp-library-picker-head p{margin:0;color:#73818b;font-size:12px}.cmp-library-bulk-card textarea{resize:vertical;min-height:112px}.cmp-library-picker{background:#fff;border:1px solid #dfe7ed;border-radius:14px;padding:14px}.cmp-library-picker-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.cmp-library-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cmp-library-section-card{border:1px solid #e2e9ee;border-radius:11px;background:#fafcfd;padding:9px}.cmp-library-section-card summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer}.cmp-library-section-card summary span{font-size:11px;color:#778792}.cmp-library-item-list{display:grid;gap:4px;margin:8px 0}.cmp-library-item-list label{display:grid;grid-template-columns:28px 20px 1fr;align-items:center;gap:6px;padding:5px;border-radius:7px}.cmp-library-item-list label:hover{background:#eef4f7}.cmp-library-item-list input{margin:0}.cmp-simple-progress-manager input,.cmp-simple-progress-manager textarea{border-color:#dbe4ea;background:#fff}.cmp-simple-progress-manager [data-progress-pane][hidden]{display:none!important}
@media(max-width:800px){.cmp-library-bulk-card{grid-template-columns:1fr}.cmp-library-sections{grid-template-columns:1fr}.cmp-library-picker-head{align-items:stretch;flex-direction:column}.cmp-simple-section-card>header{flex-wrap:wrap}.cmp-inline-section-name{flex-basis:55%}.cmp-simple-task-row{grid-template-columns:20px 26px minmax(0,1fr) 28px}.cmp-task-state{grid-column:3/4;width:max-content}.cmp-library-picker-head .cmp-primary-button{width:100%}}
.cmp-library-item-list label{grid-template-columns:28px 20px minmax(0,1fr) 28px}.cmp-library-item-name{border:0!important;background:transparent!important;padding:5px!important;box-shadow:none!important;font-size:13px}

/* v4.8.1 compact contract groups */
.cmp-contract-project-groups{display:grid;gap:12px}
.cmp-contract-project-group{background:#fff;border:1px solid #dfe7f1;border-radius:18px;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.035)}
.cmp-contract-project-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:linear-gradient(135deg,#f8fbff,#f4f8ff);user-select:none}
.cmp-contract-project-group>summary::-webkit-details-marker{display:none}
.cmp-contract-group-identity{display:flex;align-items:center;gap:12px;min-width:0}.cmp-contract-group-icon{width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#2563eb;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.cmp-contract-group-identity strong{display:block;font-size:16px}.cmp-contract-group-identity small{display:block;color:#64748b;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-contract-group-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cmp-contract-group-stats span,.cmp-contract-group-stats b{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e5edf7;font-size:12px}.cmp-contract-group-stats i{font-style:normal;font-size:19px;color:#64748b;transition:transform .18s ease}.cmp-contract-project-group[open] .cmp-contract-group-stats i{transform:rotate(180deg)}
.cmp-contract-group-body{display:grid;gap:10px;padding:12px;border-top:1px solid #edf2f7}.cmp-contract-group-body .cmp-contract-card{box-shadow:none!important;margin:0!important}
@media(max-width:700px){.cmp-contract-project-group>summary{align-items:flex-start;padding:14px}.cmp-contract-group-stats{gap:6px}.cmp-contract-group-stats b{display:none}.cmp-contract-group-identity small{white-space:normal}.cmp-contract-group-body{padding:9px}}

/* v4.8.2 - project client quick contact + contract no-scope state */
.cmp-contact-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.cmp-contact-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:5px 9px;border-radius:9px;text-decoration:none!important;font-size:11px;font-weight:800;line-height:1}.cmp-contact-action.is-call{background:#eff6ff;color:#1d4ed8}.cmp-contact-action.is-whatsapp{background:#ecfdf5;color:#047857}.cmp-contract-progress-number.is-unlinked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:88px}.cmp-contract-progress-number.is-unlinked small{font-size:10px;color:#b45309;white-space:nowrap}.cmp-contract-progress-number.is-unlinked strong{font-size:18px;color:#64748b}.cmp-contract-progress-number.is-unlinked+*{}
@media(max-width:600px){.cmp-contact-actions{gap:6px}.cmp-contact-action{flex:1;min-width:90px}.cmp-contract-progress-number.is-unlinked{align-items:flex-end}}

/* v4.10.1 Client Requirements Portal */
.cmp-requirement-template-portal details{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:14px 16px}
.cmp-requirement-template-portal summary{cursor:pointer;font-size:18px;color:#0f172a}
.cmp-requirement-template-form,.cmp-mini-form{display:grid;gap:10px;margin-top:14px}
.cmp-requirement-template-form label,.cmp-mini-form label{display:grid;gap:6px;font-weight:700;color:#334155}
.cmp-requirement-template-form input,.cmp-requirement-template-form textarea,.cmp-mini-form input,.cmp-mini-form select,.cmp-mini-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px;background:#fff}
.cmp-template-mini-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}
.cmp-template-mini-card{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#f8fafc}
.cmp-template-mini-card div{display:flex;justify-content:space-between;gap:8px}.cmp-template-mini-card small{color:#64748b}.cmp-template-mini-card p{color:#64748b;font-size:13px}
.cmp-requirement-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.cmp-requirement-manage-grid .cmp-panel{margin:0;padding:14px}
.cmp-special-tag{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-weight:700;margin-top:5px}
.cmp-doc-state.is-awaiting_signature{background:#fff7ed;color:#c2410c}.cmp-document-card.is-client_signature{border-inline-start:4px solid #f59e0b}
.cmp-inline-actions input[name="review_note"]{min-width:180px;border:1px solid #cbd5e1;border-radius:9px;padding:8px}
@media(max-width:760px){.cmp-requirement-manage-grid{grid-template-columns:1fr}.cmp-template-mini-list{grid-template-columns:1fr}.cmp-inline-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.cmp-inline-actions input[name="review_note"]{grid-column:1/-1;min-width:0;width:100%}}

/* Project Files UX v4.11.0 */
.cmp-project-files-accordion{display:grid;gap:12px}.cmp-project-file-group{border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden}.cmp-project-file-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#f8fafc}.cmp-project-file-group>summary::-webkit-details-marker{display:none}.cmp-project-file-group>summary div{display:grid;gap:3px}.cmp-project-file-group>summary b{font-size:15px}.cmp-project-file-group>summary small{color:#64748b}.cmp-project-file-group>summary span{display:flex;align-items:center;gap:10px}.cmp-project-file-group>summary em{font-style:normal;font-size:12px;background:#e2e8f0;border-radius:999px;padding:4px 9px}.cmp-project-file-group>summary i{font-style:normal;transition:transform .2s}.cmp-project-file-group[open]>summary i{transform:rotate(180deg)}.cmp-project-file-group-body{padding:14px}.cmp-project-file-uploader{border:1px dashed #cbd5e1;border-radius:12px;margin-bottom:12px}.cmp-project-file-uploader>summary{cursor:pointer;padding:10px 12px;font-weight:700}.cmp-project-file-uploader form{padding:0 12px 12px}.cmp-project-file-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cmp-project-file-cards .cmp-file-portal-card{margin:0;min-width:0}.cmp-file-card-actions{display:flex;gap:6px;flex-wrap:wrap}.cmp-file-card-actions a{font-size:12px}.cmp-project-files-head .cmp-file-toolbar{margin-top:10px}.cmp-project-files-head .cmp-list-search{width:100%;max-width:none}
@media(max-width:980px){.cmp-project-file-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cmp-project-file-cards{grid-template-columns:1fr}.cmp-project-file-group>summary{padding:12px}.cmp-project-file-group-body{padding:10px}.cmp-project-file-group>summary span em{display:none}}

/* Project Files management v4.11.1 */
.cmp-project-files-trash{margin-top:18px;border:1px solid #e4e8ef;border-radius:16px;background:#fff;padding:0 16px}.cmp-project-files-trash>summary{cursor:pointer;padding:16px 0;font-weight:700}.cmp-project-files-trash>summary span{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#f2f4f8;margin-inline-start:8px}.cmp-file-portal-card.is-deleted{opacity:.78}.cmp-file-version-box{width:100%;margin-top:6px}.cmp-file-version-box>summary{cursor:pointer;font-size:12px}.cmp-file-version-box form{display:grid;gap:7px;margin-top:8px}.cmp-file-version-box textarea{width:100%;min-height:55px}.cmp-version-history{display:grid;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #e8ebf0}.cmp-version-history small{display:block}.cmp-project-file-delete{border:0;background:#fff1f1;color:#b42318;border-radius:9px;padding:7px 10px;cursor:pointer}.cmp-project-file-restore{border:0;background:#eef7ff;color:#155eef;border-radius:9px;padding:7px 10px;cursor:pointer}

/* Project Document Manager v4.12.0 */
.cmp-project-doc-manager{display:grid;gap:14px}.cmp-pdm-top{margin:0}.cmp-pdm-selector{display:grid;grid-template-columns:minmax(260px,.7fr) 1fr;gap:10px;margin-top:12px}.cmp-pdm-selector label{display:grid;gap:5px;font-weight:700}.cmp-pdm-selector select,.cmp-pdm-selector input{width:100%;border:1px solid #d7dde6;border-radius:12px;padding:10px 12px;background:#fff}.cmp-pdm-project{display:grid;gap:12px}.cmp-pdm-project-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e5e9f0;border-radius:16px;background:#fff}.cmp-pdm-project-head h3{margin:0 0 3px}.cmp-pdm-project-head p{margin:0;color:#667085}.cmp-pdm-stats{display:flex;gap:8px}.cmp-pdm-stats span{display:grid;min-width:70px;text-align:center;padding:7px 10px;border-radius:12px;background:#f7f8fa;font-size:11px;color:#667085}.cmp-pdm-stats b{font-size:18px;color:#101828}.cmp-pdm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cmp-pdm-actions>details{border:1px solid #e2e7ee;border-radius:14px;background:#fff}.cmp-pdm-actions>details>summary{cursor:pointer;padding:12px 14px;font-weight:800;list-style:none}.cmp-pdm-actions>details>summary::-webkit-details-marker{display:none}.cmp-pdm-folder-form,.cmp-pdm-upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 12px 12px}.cmp-pdm-folder-form{grid-template-columns:1fr auto}.cmp-pdm-folder-form input,.cmp-pdm-upload-form input,.cmp-pdm-upload-form select,.cmp-pdm-upload-form textarea{width:100%;border:1px solid #d6dce5;border-radius:10px;padding:9px;background:#fff}.cmp-pdm-upload-form label{display:grid;gap:5px;font-weight:700}.cmp-pdm-drop{grid-column:1/-1;border:1.5px dashed #cbd5e1;border-radius:12px;padding:12px;text-align:center;cursor:pointer}.cmp-pdm-drop input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.cmp-pdm-drop.is-drag{background:#f1f7ff;border-color:#7aa7e8}.cmp-pdm-upload-form>.cmp-upload-progress,.cmp-pdm-upload-form>button{grid-column:1/-1}.cmp-pdm-folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.cmp-pdm-folder{border:1px solid #e3e8ef;border-radius:15px;background:#fff;overflow:hidden}.cmp-pdm-folder>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px}.cmp-pdm-folder>summary::-webkit-details-marker{display:none}.cmp-pdm-folder>summary>div,.cmp-pdm-folder>summary>span{display:flex;align-items:center;gap:8px}.cmp-pdm-folder-icon{font-size:22px}.cmp-pdm-folder em{font-style:normal;font-size:11px;padding:4px 7px;background:#f2f4f7;border-radius:999px}.cmp-pdm-folder summary i{font-style:normal;transition:.2s}.cmp-pdm-folder[open] summary i{transform:rotate(180deg)}.cmp-pdm-files{display:grid;gap:6px;padding:0 9px 9px}.cmp-pdm-file{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;border:1px solid #edf0f4;border-radius:11px;background:#fafbfc}.cmp-pdm-file-main{display:flex;align-items:center;gap:8px;min-width:0}.cmp-pdm-file-main h4{font-size:12px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-pdm-file-main small{font-size:10px;color:#667085}.cmp-pdm-file-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.cmp-pdm-file-actions>a,.cmp-pdm-file-actions>button,.cmp-pdm-file-actions>details>summary{font-size:11px;border:0;background:#eef2f6;border-radius:8px;padding:6px 7px;cursor:pointer;text-decoration:none;color:inherit;list-style:none}.cmp-pdm-file-actions .cmp-project-file-delete{background:#fff0f0;color:#b42318}.cmp-pdm-delete-folder{margin:0 9px 9px;border:0;background:transparent;color:#b42318;font-size:11px;cursor:pointer}.cmp-pdm-no-results{grid-column:1/-1}
@media(max-width:980px){.cmp-pdm-folders{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.cmp-pdm-selector,.cmp-pdm-actions,.cmp-pdm-upload-form,.cmp-pdm-folders{grid-template-columns:1fr}.cmp-pdm-project-head{align-items:flex-start}.cmp-pdm-stats{flex-direction:column}.cmp-pdm-folder-form{grid-template-columns:1fr}.cmp-pdm-file{align-items:flex-start}.cmp-pdm-file-actions{flex-wrap:wrap;justify-content:flex-end}.cmp-pdm-upload-form label,.cmp-pdm-upload-form>.cmp-upload-progress,.cmp-pdm-upload-form>button{grid-column:1}}

/* v4.12.1 visibility + compact project accordion fixes */
.cmp-pdm-project[hidden],
.cmp-pdm-folder[hidden],
.cmp-library-card-v2[hidden],
.cmp-requirements-project-card[hidden],
.cmp-pdm-global-no-results[hidden],
.cmp-pdm-no-results[hidden]{display:none!important}
.cmp-pdm-project{display:block;border:1px solid #e5e9f0;border-radius:16px;background:#fff;overflow:hidden}
.cmp-pdm-project>summary{list-style:none;cursor:pointer}
.cmp-pdm-project>summary::-webkit-details-marker{display:none}
.cmp-pdm-project-head{border:0;border-radius:0;background:#fff}
.cmp-pdm-project-body{display:grid;gap:12px;padding:0 14px 14px}
.cmp-pdm-summary-side{display:flex;align-items:center;gap:12px}
.cmp-pdm-project-chevron{font-style:normal;font-size:18px;transition:transform .2s}
.cmp-pdm-project[open] .cmp-pdm-project-chevron{transform:rotate(180deg)}
.cmp-pdm-global-no-results{padding:24px;text-align:center}
@media(max-width:700px){.cmp-pdm-summary-side{align-items:flex-start}.cmp-pdm-project-head{padding:12px}.cmp-pdm-project-body{padding:0 10px 10px}}
.cmp-library-no-results[hidden],.cmp-empty[hidden]{display:none!important}
.cmp-event-toast{position:fixed;z-index:99999;inset-inline-end:20px;bottom:20px;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border-radius:11px;background:#166534;color:#fff;font-weight:700;box-shadow:0 12px 35px rgba(15,23,42,.22)}.cmp-event-toast.error{background:#b91c1c}.cmp-event-ajax-form button:disabled{opacity:.65;cursor:wait}

/* v4.16.6 - Clients compact accordion cards and safer linking UX */
.cmp-client-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin-bottom:12px}.cmp-client-toolbar .cmp-list-search{margin:0}.cmp-client-toolbar select,.cmp-client-project-picker input{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}.cmp-client-project-picker small{display:block;margin:5px 0 8px;color:var(--cmp-muted);font-weight:400}.cmp-client-project-picker select{margin-top:8px}.cmp-client-portal-card{padding:0;overflow:hidden}.cmp-client-card-summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px minmax(0,1fr) auto 22px;gap:11px;align-items:center;padding:14px}.cmp-client-card-summary::-webkit-details-marker{display:none}.cmp-client-card-summary .avatar{width:52px;height:52px;border-radius:15px}.cmp-client-card-main{min-width:0}.cmp-client-card-main h4{margin:0;font-size:15px}.cmp-client-username{display:block;margin-top:3px;color:var(--cmp-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.cmp-client-card-contact{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;color:#64748b;font-size:11px}.cmp-client-chevron{font-size:19px;transition:transform .2s}.cmp-client-portal-card[open] .cmp-client-chevron{transform:rotate(180deg)}.cmp-client-card-details{padding:0 14px 14px;border-top:1px solid #edf1f6}.cmp-client-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.cmp-client-detail-grid>div{padding:10px;border-radius:10px;background:#f8fafc;min-width:0}.cmp-client-detail-grid small,.cmp-client-detail-grid b{display:block}.cmp-client-detail-grid small{color:var(--cmp-muted);font-size:10px;margin-bottom:4px}.cmp-client-detail-grid b{font-size:12px;overflow-wrap:anywhere}.cmp-client-card-details .cmp-card-actions{margin-top:12px}.cmp-client-card-details .cmp-card-actions a{width:100%;text-align:center}.cmp-client-projects>strong{font-size:12px;margin-bottom:2px}
@media(max-width:700px){.cmp-client-toolbar{grid-template-columns:1fr}.cmp-client-card-summary{grid-template-columns:46px minmax(0,1fr) auto;gap:9px;padding:12px}.cmp-client-card-summary .avatar{width:46px;height:46px}.cmp-client-card-summary .cmp-mini-status{align-self:start}.cmp-client-chevron{grid-column:3;justify-self:end;margin-top:-12px}.cmp-client-card-contact{gap:8px}.cmp-client-detail-grid{grid-template-columns:1fr 1fr}.cmp-client-portal-grid{gap:9px}}
@media(max-width:430px){.cmp-client-detail-grid{grid-template-columns:1fr}.cmp-client-card-main h4{font-size:14px}}
.cmp-live-availability{margin-top:7px;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:700}.cmp-live-availability.is-available{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.cmp-live-availability.is-unavailable{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
/* v4.19.0 Notification Center */
.cmp-notification-center-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.cmp-notification-center-head h2{margin:0 0 5px}.cmp-notification-center-head p{margin:0;color:#64748b}.cmp-notification-summary{min-width:86px;text-align:center;padding:10px 14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.cmp-notification-summary b{display:block;font-size:24px}.cmp-notification-summary span{font-size:12px;color:#64748b}.cmp-notification-filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:10px;margin-bottom:16px}.cmp-notification-filters input,.cmp-notification-filters select{min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 11px;background:#fff}.cmp-notification-center-list{display:grid;gap:10px}.cmp-notification-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.cmp-notification-card.is-unread{border-color:#93c5fd;background:#eff6ff}.cmp-notification-card-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f1f5f9;font-size:20px}.cmp-notification-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cmp-notification-card-title span{font-size:11px;border-radius:999px;padding:3px 8px;background:#e2e8f0;color:#475569}.cmp-notification-card-body p{margin:5px 0;color:#475569}.cmp-notification-card-body small{color:#94a3b8}.cmp-notification-card-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cmp-notification-card[hidden]{display:none!important}
@media(max-width:900px){.cmp-notification-filters{grid-template-columns:1fr 1fr}.cmp-notification-card{grid-template-columns:42px 1fr}.cmp-notification-card-actions{grid-column:1/-1;justify-content:stretch}.cmp-notification-card-actions>*{flex:1;text-align:center}}
@media(max-width:600px){.cmp-notification-center-head{align-items:flex-start}.cmp-notification-filters{grid-template-columns:1fr}.cmp-notification-card{grid-template-columns:36px 1fr;padding:11px}.cmp-notification-card-icon{width:36px;height:36px}.cmp-notification-card-actions{display:grid;grid-template-columns:1fr 1fr}.cmp-notification-card-actions>*:last-child{grid-column:1/-1}}

/* v4.19.1 — Notification dropdown tablet viewport hotfix */
@media (min-width: 601px) and (max-width: 1100px) {
    .cmp-notification-menu { position: static !important; }
    .cmp-notification-dropdown,
    html[dir="rtl"] .cmp-notification-dropdown,
    html[dir="ltr"] .cmp-notification-dropdown {
        position: fixed !important;
        top: 76px !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        max-width: 430px !important;
        min-width: 320px !important;
        max-height: calc(100dvh - 96px) !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 2147483647 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    html[dir="rtl"] .cmp-notification-dropdown { left: 16px !important; right: auto !important; }
    html[dir="ltr"] .cmp-notification-dropdown { right: 16px !important; left: auto !important; }
}

/* v4.20.1 — notification overlay + precise deep-link focus */
.cmp-deep-focus{outline:3px solid #60a5fa!important;outline-offset:4px!important;box-shadow:0 0 0 8px rgba(96,165,250,.16)!important;transition:box-shadow .25s ease,outline-color .25s ease}
@media (min-width:601px){
 .cmp-notification-menu{position:static!important}
 .cmp-notification-dropdown,html[dir=rtl] .cmp-notification-dropdown,html[dir=ltr] .cmp-notification-dropdown{position:fixed!important;top:76px!important;max-height:calc(100dvh - 92px)!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:2147483647!important;transform:none!important;width:min(430px,calc(100vw - 32px))!important;box-sizing:border-box!important}
}
@media (min-width:981px){html[dir=rtl] .cmp-notification-dropdown{right:calc(var(--cmp-sidebar) + 16px)!important;left:auto!important}html[dir=ltr] .cmp-notification-dropdown{left:calc(var(--cmp-sidebar) + 16px)!important;right:auto!important}}
@media (min-width:601px) and (max-width:980px){html[dir=rtl] .cmp-notification-dropdown{right:16px!important;left:auto!important}html[dir=ltr] .cmp-notification-dropdown{left:16px!important;right:auto!important}}
\n\n/* v4.20.2 — compact notification popover on desktop/tablet + mobile viewport fix */
@media (min-width:601px){
  .cmp-notification-dropdown,
  html[dir="rtl"] .cmp-notification-dropdown,
  html[dir="ltr"] .cmp-notification-dropdown{
    width:400px!important;
    max-width:calc(100vw - 32px)!important;
  }
}
@media (min-width:601px) and (max-width:980px){
  .cmp-notification-dropdown,
  html[dir="rtl"] .cmp-notification-dropdown,
  html[dir="ltr"] .cmp-notification-dropdown{width:380px!important;max-width:calc(100vw - 32px)!important}
}
@media (max-width:600px){
  .cmp-notification-menu{position:static!important}
  .cmp-notification-dropdown,
  html[dir="rtl"] .cmp-notification-dropdown,
  html[dir="ltr"] .cmp-notification-dropdown{
    position:fixed!important;
    top:76px!important;
    left:12px!important;
    right:12px!important;
    inset-inline-start:12px!important;
    inset-inline-end:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - 92px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:none!important;
    z-index:2147483647!important;
    box-sizing:border-box!important;
  }
}

/* Activity Log v2 */
.cmp-activity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.cmp-activity-summary>div{border:1px solid var(--cmp-border);border-radius:14px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:3px}.cmp-activity-summary strong{font-size:20px}.cmp-activity-summary span{font-size:12px;color:var(--cmp-muted)}.cmp-activity-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(130px,.7fr)) repeat(3,minmax(150px,1fr)) auto auto;gap:8px;align-items:end;margin:12px 0}.cmp-activity-filters label{display:grid;gap:4px}.cmp-activity-filters label span{font-size:11px;color:var(--cmp-muted)}.cmp-activity-filters input,.cmp-activity-filters select{min-width:0;width:100%}.cmp-activity-quick{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.cmp-activity-quick a{padding:6px 10px;border:1px solid var(--cmp-border);border-radius:999px;text-decoration:none;font-size:12px;background:#fff}.cmp-activity-list{display:grid;gap:9px}.cmp-activity-card{border:1px solid var(--cmp-border);border-radius:14px;background:#fff;overflow:hidden}.cmp-activity-card>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;cursor:pointer}.cmp-activity-card>summary::-webkit-details-marker{display:none}.cmp-activity-icon{width:38px;height:38px;border-radius:11px;background:#f3f6fb;display:grid;place-items:center}.cmp-activity-main{display:grid;gap:2px;min-width:0}.cmp-activity-main strong{font-size:14px}.cmp-activity-main small,.cmp-activity-main em{font-size:11px;color:var(--cmp-muted);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-activity-type{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#f3f6fb;white-space:nowrap}.cmp-activity-card>summary>i{font-style:normal;transition:.2s}.cmp-activity-card[open]>summary>i{transform:rotate(180deg)}.cmp-activity-body{border-top:1px solid var(--cmp-border);padding:12px}.cmp-activity-body>p{margin:0 0 10px;color:#526070}.cmp-activity-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cmp-activity-detail-grid>div{padding:9px;background:#f8fafc;border-radius:10px}.cmp-activity-detail-grid small{display:block;color:var(--cmp-muted);font-size:11px;margin-bottom:3px}.cmp-activity-detail-grid strong{font-size:12px}.cmp-activity-meta{margin-top:10px}.cmp-activity-meta>summary{cursor:pointer;font-weight:700;font-size:12px}.cmp-activity-meta dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cmp-activity-meta dl>div{background:#f8fafc;border-radius:8px;padding:7px}.cmp-activity-meta dt{font-size:10px;color:var(--cmp-muted)}.cmp-activity-meta dd{margin:2px 0 0;font-size:11px;overflow-wrap:anywhere}
@media(max-width:1180px){.cmp-activity-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-activity-filters>input:first-of-type{grid-column:1/-1}.cmp-activity-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cmp-activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-activity-filters{grid-template-columns:1fr 1fr}.cmp-activity-filters>input:first-of-type{grid-column:1/-1}.cmp-activity-card>summary{grid-template-columns:auto minmax(0,1fr) auto}.cmp-activity-type{grid-column:2}.cmp-activity-card>summary>i{grid-column:3;grid-row:1}.cmp-activity-detail-grid{grid-template-columns:1fr}.cmp-activity-meta dl{grid-template-columns:1fr}}

/* Dashboard Finalization v4.22 */
.cmp-dashboard-activity{margin-top:14px}
.cmp-dashboard-activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cmp-dashboard-activity-list>a{display:flex;align-items:center;gap:10px;min-height:62px;padding:11px 12px;border:1px solid var(--cmp-border);border-radius:12px;background:#fff;text-decoration:none;color:inherit}
.cmp-dashboard-activity-list>a>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eff6ff;color:#1d4ed8;flex:0 0 auto}
.cmp-dashboard-activity-list>a>div{min-width:0;flex:1}.cmp-dashboard-activity-list strong,.cmp-dashboard-activity-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-dashboard-activity-list small{margin-top:4px;color:var(--cmp-muted);font-size:10px}.cmp-dashboard-activity-list>a>b{color:#94a3b8}
@media(max-width:780px){.cmp-dashboard-activity-list{grid-template-columns:1fr}}

/* v4.23.0 compact project workspace */
.cmp-project-client-panel{padding:0;overflow:hidden}.cmp-project-client-summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cmp-project-client-summary::-webkit-details-marker{display:none}.cmp-project-client-summary:after{content:"⌄";font-weight:900;color:var(--cmp-muted);transition:.2s}.cmp-project-client-panel[open] .cmp-project-client-summary:after{transform:rotate(180deg)}.cmp-project-client-summary>b{font-size:15px}.cmp-project-client-summary>span{font-size:11px;color:var(--cmp-muted);margin-inline-start:auto}.cmp-project-client-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:0 12px 10px}.cmp-project-client-grid>div{background:#f8fafc;border:1px solid #e7edf4;border-radius:10px;padding:8px 10px;min-width:0}.cmp-project-client-grid small,.cmp-project-client-grid strong{display:block}.cmp-project-client-grid small{font-size:9px;color:var(--cmp-muted);margin-bottom:2px}.cmp-project-client-grid strong{font-size:12px;color:var(--cmp-text);overflow-wrap:anywhere}.cmp-project-client-grid .is-address{grid-column:span 2}.cmp-project-contact-bar{display:flex;gap:7px;flex-wrap:wrap;padding:0 12px 12px}.cmp-project-contact-bar a{flex:1 1 120px;min-height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #e1e8f0;border-radius:9px;background:#f4f8fd;text-decoration:none;font-size:11px;font-weight:800}.cmp-project-workspace-head{min-height:0}.cmp-project-workspace-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.cmp-project-workspace-head .cmp-back-link{grid-column:1/-1;width:max-content;margin-bottom:5px}.cmp-project-workspace-head span{font-size:11px}.cmp-project-workspace-head h2{margin:2px 0;font-size:20px}.cmp-project-workspace-head p{margin:2px 0;font-size:11px}.cmp-simple-progress-manager{margin-top:10px}.cmp-simple-progress-manager>summary{padding-block:4px}.cmp-simple-progress-manager>summary small{margin-top:3px}
@media(max-width:1050px){.cmp-project-client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-project-client-grid .is-address{grid-column:span 1}}
@media(max-width:780px){.cmp-project-workspace-head{padding:11px 12px}.cmp-project-workspace-head h2{font-size:18px}.cmp-workspace-progress-ring{width:62px;height:62px;flex-basis:62px}.cmp-project-client-summary{padding:10px 11px}.cmp-project-client-summary>span{max-width:52%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-project-client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 9px 8px}.cmp-project-client-grid .is-address{grid-column:1/-1}.cmp-project-client-grid>div{padding:7px 8px}.cmp-project-contact-bar{padding:0 9px 9px;gap:5px}.cmp-project-contact-bar a{flex-basis:calc(50% - 5px);min-height:32px;font-size:10px}}
/* v4.23.1 - project workspace layout matching approved compact reference */
.cmp-project-workspace-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back meta progress";align-items:center!important;gap:18px!important;padding:18px 22px!important;min-height:0!important}
.cmp-project-workspace-head>.cmp-back-link{grid-area:back;margin:0!important;white-space:nowrap;align-self:start}
.cmp-workspace-project-meta{grid-area:meta;text-align:right;min-width:0}
.cmp-workspace-project-meta span{font-size:12px!important;margin:0 0 5px!important}
.cmp-workspace-project-meta h2{font-size:22px!important;margin:3px 0!important}
.cmp-workspace-project-meta p{font-size:12px!important;margin:4px 0 0!important}
.cmp-project-workspace-head>.cmp-workspace-progress-ring{grid-area:progress;width:82px!important;height:82px!important;flex-basis:82px!important}
.cmp-project-workspace-head>.cmp-workspace-progress-ring::after{inset:7px}
.cmp-project-workspace-head>.cmp-workspace-progress-ring strong{font-size:15px!important}
.cmp-project-workspace-head>.cmp-workspace-progress-ring small{font-size:8px!important;margin-top:4px}
.cmp-project-client-summary>span{display:none!important}
.cmp-phone-value{display:inline-flex;align-items:center;gap:6px;color:#2563eb;text-decoration:none;font-weight:800;font-size:12px;direction:ltr}
.cmp-phone-value:hover{text-decoration:underline}
@media(max-width:780px){
 .cmp-project-workspace-head{grid-template-columns:auto minmax(0,1fr) 72px;grid-template-areas:"back meta progress";gap:10px!important;padding:14px 16px!important;border-radius:18px!important}
 .cmp-project-workspace-head>.cmp-back-link{font-size:11px!important;padding:7px 9px!important}
 .cmp-workspace-project-meta h2{font-size:19px!important}
 .cmp-workspace-project-meta span,.cmp-workspace-project-meta p{font-size:10px!important}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring{width:68px!important;height:68px!important;flex-basis:68px!important;align-self:center!important}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring::after{inset:6px}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring strong{font-size:13px!important}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring small{font-size:7px!important}
}
@media(max-width:480px){
 .cmp-project-workspace-head{grid-template-columns:auto minmax(0,1fr) 64px!important;grid-template-areas:"back meta progress"!important;align-items:center!important;padding:12px 13px!important;gap:8px!important}
 .cmp-project-workspace-head>.cmp-back-link{align-self:start!important;font-size:10px!important;padding:6px 8px!important}
 .cmp-workspace-project-meta{align-self:center}
 .cmp-workspace-project-meta h2{font-size:18px!important;white-space:normal}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring{width:60px!important;height:60px!important;flex-basis:60px!important;align-self:center!important}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring::after{inset:5px}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring strong{font-size:12px!important}
 .cmp-project-workspace-head>.cmp-workspace-progress-ring small{font-size:7px!important}
}


/* v4.23.2 - force approved horizontal project hero on phones */
@media (max-width:780px){
  .cmp-project-workspace-head{
    display:grid!important;
    grid-template-columns:minmax(88px,auto) minmax(0,1fr) 68px!important;
    grid-template-areas:"back meta progress"!important;
    align-items:center!important;
    justify-items:stretch!important;
    column-gap:10px!important;
    row-gap:0!important;
    padding:12px 14px!important;
    min-height:112px!important;
    height:auto!important;
    direction:ltr!important;
  }
  .cmp-project-workspace-head>.cmp-back-link{
    grid-area:back!important;
    justify-self:start!important;
    align-self:start!important;
    margin:0!important;
    width:auto!important;
    max-width:100%!important;
    white-space:nowrap!important;
    direction:rtl!important;
    font-size:10px!important;
    line-height:1.2!important;
    padding:7px 9px!important;
  }
  .cmp-project-workspace-head>.cmp-workspace-project-meta{
    grid-area:meta!important;
    align-self:center!important;
    text-align:right!important;
    direction:rtl!important;
    min-width:0!important;
  }
  .cmp-project-workspace-head>.cmp-workspace-project-meta span{font-size:9px!important;margin:0 0 3px!important}
  .cmp-project-workspace-head>.cmp-workspace-project-meta h2{font-size:17px!important;line-height:1.25!important;margin:2px 0!important}
  .cmp-project-workspace-head>.cmp-workspace-project-meta p{font-size:9px!important;line-height:1.3!important;margin:3px 0 0!important;white-space:nowrap!important}
  .cmp-project-workspace-head>.cmp-workspace-progress-ring{
    grid-area:progress!important;
    justify-self:end!important;
    align-self:center!important;
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    flex:0 0 64px!important;
    direction:ltr!important;
  }
  .cmp-project-workspace-head>.cmp-workspace-progress-ring::after{inset:6px!important}
  .cmp-project-workspace-head>.cmp-workspace-progress-ring strong{font-size:11px!important;line-height:1!important}
  .cmp-project-workspace-head>.cmp-workspace-progress-ring small{font-size:7px!important;margin-top:4px!important}
}
@media (max-width:390px){
  .cmp-project-workspace-head{grid-template-columns:minmax(82px,auto) minmax(0,1fr) 58px!important;column-gap:7px!important;padding:10px 11px!important;min-height:104px!important}
  .cmp-project-workspace-head>.cmp-back-link{font-size:9px!important;padding:6px 7px!important}
  .cmp-project-workspace-head>.cmp-workspace-project-meta h2{font-size:16px!important}
  .cmp-project-workspace-head>.cmp-workspace-progress-ring{width:56px!important;height:56px!important;min-width:56px!important;flex-basis:56px!important}
  .cmp-project-workspace-head>.cmp-workspace-progress-ring strong{font-size:10px!important}
}

/* Chat V1 — text only */
.cmp-chat-shell{display:grid;grid-template-columns:310px minmax(0,1fr);height:min(72vh,720px);min-height:560px;background:#fff;border:1px solid #e4eaf2;border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(25,45,75,.06)}
.cmp-chat-list{border-inline-end:1px solid #e6ebf2;background:#fbfcfe;overflow:auto}.cmp-chat-list-head{padding:15px;position:sticky;top:0;background:#fbfcfe;z-index:3;border-bottom:1px solid #edf1f5}.cmp-chat-list-head>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cmp-chat-list-head>div button{display:none;border:0;background:transparent;font-size:24px}.cmp-chat-list-head input,.cmp-chat-message-search input{width:100%;padding:10px 12px;border:1px solid #dbe3ec;border-radius:12px;background:#fff}.cmp-chat-thread,.cmp-chat-person{display:flex;gap:10px;align-items:center;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #edf1f5;background:transparent;color:#182233;text-decoration:none;text-align:start;cursor:pointer}.cmp-chat-thread.is-active,.cmp-chat-thread:hover,.cmp-chat-person:hover{background:#edf5ff}.cmp-chat-avatar{width:40px;height:40px;border-radius:50%;background:#dbe9ff;display:grid;place-items:center;flex:0 0 40px;font-weight:800}.cmp-chat-thread div,.cmp-chat-person>span:last-child{min-width:0}.cmp-chat-thread strong,.cmp-chat-thread small,.cmp-chat-person strong,.cmp-chat-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-chat-thread small,.cmp-chat-person small{font-size:11px;color:#8490a0;margin-top:2px}.cmp-chat-room{position:relative;display:flex;flex-direction:column;min-width:0;background:#f5f8fc}.cmp-chat-room-head{height:66px;padding:10px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5eaf1;background:#fff}.cmp-chat-room-head>div{min-width:0;flex:1}.cmp-chat-room-head strong,.cmp-chat-room-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-chat-room-head small{font-size:11px;color:#8792a2;margin-top:2px}.cmp-chat-list-toggle,.cmp-chat-search-toggle{border:0;background:transparent;border-radius:9px;padding:8px;cursor:pointer}.cmp-chat-list-toggle{display:none}.cmp-chat-message-search{display:flex;gap:8px;padding:8px 12px;background:#fff;border-bottom:1px solid #e7ecf2}.cmp-chat-message-search[hidden]{display:none}.cmp-chat-message-search button{border:0;background:transparent;font-size:20px}.cmp-chat-messages{flex:1;overflow:auto;padding:16px 18px;background:#f5f8fc;scroll-behavior:smooth}.cmp-chat-loading{text-align:center;color:#8b96a5;padding:30px}.cmp-chat-message{display:flex;margin:5px 0}.cmp-chat-message.is-mine{justify-content:flex-start}.cmp-chat-message:not(.is-mine){justify-content:flex-end}.cmp-chat-bubble{position:relative;max-width:min(70%,560px);padding:8px 10px 6px;background:#fff;border:1px solid #e1e7ef;border-radius:15px;box-shadow:0 1px 4px rgba(20,35,60,.04)}.cmp-chat-message.is-mine .cmp-chat-bubble{background:#dfeeff;border-color:#cadff8}.cmp-chat-bubble strong{font-size:11px;color:#33516f}.cmp-chat-bubble p{margin:2px 0 3px;white-space:normal;overflow-wrap:anywhere;line-height:1.55}.cmp-chat-bubble small{font-size:9px;color:#8994a3;display:block}.cmp-chat-reply-btn,.cmp-chat-copy-btn{border:0;background:transparent;cursor:pointer;font-size:12px;padding:2px 5px}.cmp-chat-tools{position:absolute;inset-inline-end:5px;top:4px;opacity:0;transition:.15s}.cmp-chat-bubble:hover .cmp-chat-tools{opacity:1}.cmp-chat-day{text-align:center;margin:14px 0;color:#748196;font-size:11px}.cmp-chat-day span{background:#e8edf4;padding:4px 10px;border-radius:20px}.cmp-chat-compose{display:grid;grid-template-columns:auto 1fr auto;gap:7px;padding:10px 12px;border-top:1px solid #e3e9f0;background:#fff}.cmp-chat-compose textarea{resize:none;min-height:42px;max-height:100px;padding:10px 12px;border:1px solid #d8e1eb;border-radius:18px;font:inherit;background:#f8fafc}.cmp-chat-compose button{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:#0b62d6;color:#fff;font-weight:800;cursor:pointer}.cmp-chat-compose .cmp-chat-emoji{background:#eef3f9;color:#22314a;font-size:20px}.cmp-chat-reply{padding:7px 14px;background:#fff8dc;border-top:1px solid #f0e2a8;display:flex;justify-content:space-between;font-size:12px}.cmp-chat-reply[hidden]{display:none}.cmp-chat-reply button{border:0;background:transparent}.cmp-chat-emoji-pop{position:absolute;bottom:66px;inset-inline-start:12px;max-width:260px;padding:8px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;box-shadow:0 12px 30px rgba(20,35,60,.15);display:flex;flex-wrap:wrap;gap:4px;z-index:8}.cmp-chat-emoji-pop[hidden]{display:none}.cmp-chat-emoji-pop button{border:0;background:transparent;font-size:21px;padding:4px;cursor:pointer}.cmp-chat-latest{position:absolute;bottom:72px;left:50%;transform:translateX(-50%);border:1px solid #d9e3ef;background:#fff;border-radius:18px;padding:6px 12px;box-shadow:0 4px 14px rgba(20,35,60,.12);z-index:4}.cmp-chat-latest[hidden]{display:none}
.cmp-chat-fab-wrap{position:fixed;inset-inline-start:18px;bottom:18px;z-index:9000;touch-action:none;user-select:none;-webkit-user-select:none}.cmp-chat-fab-wrap.is-dragging{transition:none!important}.cmp-chat-fab-wrap.cmp-chat-fab-hidden{display:none!important}.cmp-chat-fab{position:relative;width:44px;height:44px;border:0;border-radius:50%;background:#0c315b;color:#fff;font-size:19px;box-shadow:0 7px 18px rgba(13,48,86,.28);cursor:grab;touch-action:none}.cmp-chat-fab:active{cursor:grabbing}.cmp-chat-fab b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#e5484d;color:#fff;font-size:10px;line-height:18px}.cmp-chat-fab b[hidden]{display:none}.cmp-chat-mini{position:absolute;bottom:54px;inset-inline-start:0;width:min(330px,calc(100vw - 30px));max-height:360px;overflow:auto;background:#fff;border:1px solid #e0e6ee;border-radius:16px;box-shadow:0 18px 45px rgba(20,35,60,.22)}.cmp-chat-mini[hidden]{display:none}.cmp-chat-mini-head{position:sticky;top:0;display:flex;justify-content:space-between;padding:12px;background:#fff;border-bottom:1px solid #edf1f5;z-index:1}.cmp-chat-mini-head a{font-size:11px}.cmp-chat-mini-item{display:flex;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid #edf1f5;text-decoration:none;color:#172235}.cmp-chat-mini-item>div{flex:1;min-width:0}.cmp-chat-mini-item strong,.cmp-chat-mini-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-chat-mini-item small{color:#8591a1;font-size:10px;margin-top:2px}.cmp-chat-mini-item b{background:#e5484d;color:#fff;border-radius:12px;min-width:22px;height:22px;line-height:22px;text-align:center;font-size:10px}.cmp-chat-mini-empty{padding:22px;text-align:center;color:#8792a2}
@media(max-width:800px){.cmp-chat-shell{display:block;height:calc(100dvh - 185px);min-height:520px;border-radius:16px}.cmp-chat-list{position:fixed;z-index:9100;top:0;bottom:0;inset-inline-start:0;width:min(86vw,340px);max-height:none;border:0;box-shadow:0 0 40px rgba(20,35,60,.22);transform:translateX(-110%);transition:.2s}.cmp-portal-body[dir="rtl"] .cmp-chat-list{transform:translateX(110%)}.cmp-chat-list.is-open{transform:translateX(0)!important}.cmp-chat-list-head>div button,.cmp-chat-list-toggle{display:block}.cmp-chat-room{height:100%}.cmp-chat-room-head{height:60px}.cmp-chat-messages{padding:12px 10px}.cmp-chat-bubble{max-width:84%;padding:7px 9px 5px}.cmp-chat-tools{opacity:1;position:static;text-align:end;margin-top:2px}.cmp-chat-compose{padding:8px}.cmp-chat-fab-wrap{inset-inline-start:14px;bottom:16px}.cmp-chat-fab{width:44px;height:44px}.cmp-chat-shell~.cmp-chat-fab-wrap{display:none}}

/* Chat mobile viewport/keyboard stabilization - v4.24.3 cross-browser */
@media(max-width:800px){
  html,body{max-width:100%;overflow-x:hidden}
  .cmp-chat-shell{width:100%;max-width:100%;height:var(--cmp-chat-vh,calc(100vh - 185px));height:var(--cmp-chat-vh,calc(100dvh - 185px));min-height:0;overflow:hidden}
  .cmp-chat-room{height:100%;min-height:0;overflow:hidden}
  .cmp-chat-messages{min-height:0;overscroll-behavior:contain}
  .cmp-chat-compose{position:relative;z-index:10;flex:0 0 auto;width:100%;box-sizing:border-box;padding:7px 8px calc(7px + env(safe-area-inset-bottom));align-items:end}
  .cmp-chat-compose textarea{box-sizing:border-box;width:100%;min-width:0;min-height:42px;max-height:88px;outline:none}
  .cmp-chat-compose textarea:focus{border-color:#8eb7e8;box-shadow:0 0 0 2px rgba(11,98,214,.10);outline:none}
  .cmp-chat-compose button{width:40px;height:40px}
  .cmp-chat-list{visibility:hidden;pointer-events:none}
  .cmp-chat-list.is-open{visibility:visible;pointer-events:auto}
  body.cmp-chat-keyboard-open .cmp-chat-shell{height:var(--cmp-chat-vh)}
  body.cmp-chat-keyboard-open .cmp-chat-compose{padding-bottom:7px}
  body.cmp-chat-input-focused{overscroll-behavior-y:none}
  body.cmp-chat-keyboard-open .cmp-chat-fab-wrap{display:none!important}
  @supports(height:100svh){.cmp-chat-shell{max-height:calc(100svh - 8px)}}
}

/* Chat v1 Final — professional compact enterprise UI */
.cmp-chat-shell{height:min(76vh,760px);min-height:590px;border-radius:18px;box-shadow:0 14px 40px rgba(17,39,68,.08)}
.cmp-chat-list{background:#f8fafc}.cmp-chat-list-head{padding:14px;background:#f8fafc}.cmp-chat-section-label{padding:12px 14px 6px;font-size:10px;font-weight:800;color:#8b97a7;text-transform:uppercase;letter-spacing:.04em}
.cmp-chat-thread,.cmp-chat-person{position:relative;padding:10px 12px;min-height:58px;border-bottom:1px solid #eef2f6}.cmp-chat-thread.is-active{background:#eaf3ff}.cmp-chat-thread.is-active:before{content:"";position:absolute;inset-block:8px;inset-inline-start:0;width:3px;border-radius:3px;background:#1265d6}.cmp-chat-avatar{width:38px;height:38px;flex-basis:38px;font-size:14px;background:#e2edfb;color:#173d68}.cmp-chat-thread strong,.cmp-chat-person strong{font-size:13px}.cmp-chat-thread small,.cmp-chat-person small{font-size:10px}
.cmp-chat-room-head{height:62px;padding:8px 12px;box-shadow:0 1px 0 #edf1f5}.cmp-chat-room-head .cmp-chat-avatar{width:38px;height:38px}.cmp-chat-room-head strong{font-size:14px}.cmp-chat-room-head small{font-size:10px}.cmp-chat-list-toggle,.cmp-chat-search-toggle{font-size:17px;color:#34506e}
.cmp-chat-messages{padding:15px 16px 20px;background:#f3f6fa}.cmp-chat-message{margin:3px 0}.cmp-chat-message.is-mine{justify-content:flex-end}.cmp-chat-message:not(.is-mine){justify-content:flex-start}.cmp-chat-bubble{width:fit-content;max-width:min(78%,560px);padding:7px 9px 5px;border-radius:14px;box-shadow:none}.cmp-chat-message.is-mine .cmp-chat-bubble{background:#dcecff;border-color:#c8ddf7;border-end-end-radius:5px}.cmp-chat-message:not(.is-mine) .cmp-chat-bubble{border-end-start-radius:5px}.cmp-chat-sender{display:block;margin-bottom:2px;font-size:10px!important}.cmp-chat-bubble p{font-size:13px;line-height:1.5;margin:1px 0 3px}.cmp-chat-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:15px}.cmp-chat-meta small{font-size:8.5px}.cmp-chat-ticks{font-size:9px;color:#3579be}.cmp-chat-more{border:0;background:transparent;padding:0 2px;color:#7d8998;cursor:pointer;font-size:13px}.cmp-chat-tools{display:none;position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:8;background:#fff;border:1px solid #dfe6ee;border-radius:10px;padding:4px;box-shadow:0 8px 20px rgba(20,35,60,.13);white-space:nowrap}.cmp-chat-bubble.is-actions .cmp-chat-tools{display:flex;opacity:1}.cmp-chat-tools button{font-size:10px;padding:5px 7px;border-radius:7px}.cmp-chat-tools button:hover{background:#f0f4f8}.cmp-chat-quote{display:block;width:100%;border:0;border-inline-start:3px solid #7aa7dc;border-radius:7px;background:rgba(255,255,255,.58);padding:5px 7px;margin:0 0 5px;text-align:start;cursor:pointer}.cmp-chat-quote b,.cmp-chat-quote span{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-chat-quote span{color:#647386;margin-top:1px}.cmp-chat-day{margin:11px 0}.cmp-chat-day span{font-size:9px;padding:3px 9px;background:#e4eaf1}.cmp-chat-message.is-highlight .cmp-chat-bubble{box-shadow:0 0 0 3px rgba(18,101,214,.18)}
.cmp-chat-empty{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8996a6;text-align:center}.cmp-chat-empty[hidden]{display:none}.cmp-chat-empty span{font-size:34px;opacity:.45}.cmp-chat-empty strong{margin-top:8px;color:#5d6d80}.cmp-chat-empty small{margin-top:3px}
.cmp-chat-reply{gap:10px;align-items:center;padding:6px 12px;background:#f7f9fc;border-top:1px solid #e7ecf2}.cmp-chat-reply span{display:flex;flex-direction:column;min-width:0}.cmp-chat-reply b{font-size:10px;color:#315b87}.cmp-chat-reply small{font-size:9px;color:#7b8795;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-chat-compose{grid-template-columns:36px minmax(0,1fr) 38px;padding:7px 9px;gap:6px}.cmp-chat-compose textarea{min-height:38px;max-height:88px;padding:8px 11px;border-radius:16px;font-size:13px}.cmp-chat-compose button{width:36px;height:36px}.cmp-chat-compose .cmp-chat-emoji{font-size:18px}.cmp-chat-compose.is-sending .cmp-chat-send{opacity:.55;pointer-events:none}.cmp-chat-latest{bottom:62px;font-size:10px;padding:5px 10px}.cmp-chat-toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,12px);opacity:0;z-index:99999;background:#173a61;color:#fff;border-radius:20px;padding:8px 13px;font-size:11px;box-shadow:0 8px 24px rgba(20,35,60,.2);transition:.18s}.cmp-chat-toast.is-show{opacity:1;transform:translate(-50%,0)}
@media(hover:hover){.cmp-chat-bubble:hover .cmp-chat-more{opacity:1}}
@media(max-width:800px){
 body.cmp-chat-list-open:after{content:"";position:fixed;inset:0;background:rgba(10,28,50,.28);z-index:9050}.cmp-chat-shell{height:var(--cmp-chat-vh,calc(100dvh - 180px));min-height:0;width:100%;border-radius:14px;overflow:hidden}.cmp-chat-room{height:100%;min-height:0}.cmp-chat-list{z-index:9100;width:min(88vw,340px);visibility:hidden;pointer-events:none}.cmp-chat-list.is-open{visibility:visible;pointer-events:auto}.cmp-chat-room-head{height:56px}.cmp-chat-messages{padding:10px 8px 14px}.cmp-chat-bubble{max-width:82%;padding:6px 8px 4px}.cmp-chat-bubble p{font-size:12.5px}.cmp-chat-tools{position:absolute;opacity:1}.cmp-chat-compose{padding:6px 7px calc(6px + env(safe-area-inset-bottom));grid-template-columns:34px minmax(0,1fr) 36px}.cmp-chat-compose button{width:34px;height:34px}.cmp-chat-compose textarea{min-height:36px;padding:7px 10px}.cmp-chat-fab-wrap{display:block!important;inset-inline-start:14px;bottom:14px}.cmp-chat-message-search{padding:6px 8px}.cmp-chat-message-search input{padding:8px 10px}.cmp-chat-emoji-pop{bottom:56px}.cmp-chat-toast{bottom:70px}
}
@media(max-width:380px){.cmp-chat-bubble{max-width:86%}.cmp-chat-room-head{padding-inline:7px}.cmp-chat-room-head .cmp-chat-avatar{width:34px;height:34px;flex-basis:34px}.cmp-chat-compose{grid-template-columns:32px minmax(0,1fr) 34px}.cmp-chat-compose button{width:32px;height:32px}}


/* v4.25.1 — mobile keyboard viewport hardening */
@media(max-width:800px){
  body.cmp-chat-input-focused .cmp-chat-shell{min-height:0!important;max-height:none!important;height:var(--cmp-chat-vh)!important}
  body.cmp-chat-input-focused .cmp-chat-room{min-height:0!important;height:100%!important}
  body.cmp-chat-input-focused .cmp-chat-messages{min-height:0!important}
  body.cmp-chat-input-focused .cmp-chat-compose{position:relative!important;bottom:auto!important;transform:none!important;flex:0 0 auto!important}
}

/* Profile v2 - compact self-service account */
.cmp-profile-v2{max-width:920px;margin:0 auto;display:grid;gap:14px}.cmp-profile-hero-v2{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:18px 20px}.cmp-avatar-editor{position:relative;width:92px;height:92px}.cmp-avatar-circle{width:92px;height:92px;border-radius:50%;overflow:hidden;background:#e8eef7;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 4px 18px rgba(15,23,42,.1)}.cmp-avatar-circle img,.cmp-avatar-fallback{width:100%;height:100%;object-fit:cover;border-radius:50%}.cmp-avatar-camera{position:absolute;inset-inline-end:-2px;bottom:1px;width:30px;height:30px;border:0;border-radius:50%;background:#0f3c68;color:#fff;cursor:pointer;box-shadow:0 3px 9px rgba(0,0,0,.18)}.cmp-profile-identity h2{font-size:24px;margin:0 0 3px}.cmp-profile-identity p{margin:0;color:var(--cmp-muted);font-weight:700}.cmp-profile-mini-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.cmp-profile-mini-meta span{font-size:12px;padding:5px 8px;background:#f4f7fb;border-radius:8px;color:#64748b}.cmp-avatar-actions{display:flex;gap:6px;align-self:end}.cmp-link-button{border:0;background:#eef5ff;color:#1d5eaa;border-radius:9px;padding:8px 10px;font-weight:800;cursor:pointer}.cmp-link-button.is-danger{background:#fff1f2;color:#be123c}.cmp-profile-form-v2{padding:18px 20px}.cmp-profile-form-v2 .cmp-panel-head p{color:var(--cmp-muted);font-size:12px;margin:4px 0 0}.cmp-profile-fields-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cmp-profile-fields-v2 label,.cmp-security-grid label{font-size:12px;font-weight:800}.cmp-profile-fields-v2 input,.cmp-profile-fields-v2 select,.cmp-security-grid input{width:100%;margin-top:6px;border:1px solid #d7dee8;border-radius:11px;padding:11px 12px;font:inherit;background:#fff;min-height:44px}.cmp-profile-fields-v2 .is-readonly input{background:#f7f9fc;color:#64748b}.cmp-profile-details{margin-top:14px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.cmp-profile-details summary{list-style:none;cursor:pointer;padding:13px 14px;font-weight:900;display:flex;justify-content:space-between;background:#fafcff}.cmp-profile-details summary::-webkit-details-marker{display:none}.cmp-security-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px}.cmp-password-wrap{position:relative}.cmp-password-wrap button{position:absolute;inset-inline-end:6px;bottom:7px;width:32px;height:32px;border:0;background:transparent;cursor:pointer}.cmp-password-wrap input{padding-inline-end:42px}.cmp-profile-savebar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px}.cmp-profile-status{font-size:12px;color:#15803d;font-weight:800}.cmp-profile-status.is-error{color:#b91c1c}.cmp-profile-savebar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.cmp-profile-v2{gap:10px}.cmp-profile-hero-v2{grid-template-columns:72px 1fr;padding:14px;gap:12px}.cmp-avatar-editor,.cmp-avatar-circle{width:72px;height:72px}.cmp-profile-identity h2{font-size:19px}.cmp-profile-mini-meta{margin-top:6px}.cmp-avatar-actions{grid-column:1/-1;justify-content:center;margin-top:-3px}.cmp-profile-form-v2{padding:14px}.cmp-profile-fields-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cmp-profile-fields-v2 label:nth-child(3){grid-column:1/-1}.cmp-profile-fields-v2 input,.cmp-profile-fields-v2 select{min-height:42px;padding:9px 10px}.cmp-security-grid{grid-template-columns:1fr}.cmp-profile-savebar{position:sticky;bottom:8px;background:rgba(255,255,255,.94);padding:8px;border-radius:12px;box-shadow:0 4px 18px rgba(15,23,42,.08)}}
/* v4.26.1 — sidebar identity + reliable profile photo picker */
.cmp-sidebar-user-card{margin:12px 12px 4px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fbff;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cmp-dark)}
.cmp-sidebar-user-card:hover{background:#eff6ff;border-color:#bfdbfe}.cmp-sidebar-user-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;overflow:hidden;background:#e0e7ff;display:grid;place-items:center}.cmp-sidebar-user-avatar img,.cmp-sidebar-user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.cmp-sidebar-user-info{min-width:0;display:block;line-height:1.35}.cmp-sidebar-user-info strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-sidebar-user-info small{display:block;color:#475569;margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-sidebar-user-info em{display:block;color:#94a3b8;font-size:10px;font-style:normal;margin-top:3px}.cmp-sidebar-logout-row{margin-top:auto;border-top:1px solid var(--cmp-border);padding:8px 12px}.cmp-sidebar-logout{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;text-decoration:none;color:#64748b;font-size:12px;font-weight:700}.cmp-sidebar-logout:hover{background:#fff1f2;color:#be123c}.cmp-visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.cmp-avatar-camera{display:grid;place-items:center}.cmp-avatar-actions .cmp-link-button{display:inline-flex;align-items:center;justify-content:center}

/* v4.26.2 login/profile fixes */
.cmp-login-password-wrap{position:relative;display:flex;align-items:center}.cmp-login-password-wrap input{width:100%;padding-inline-end:52px!important}.cmp-login-show-password{position:absolute;inset-inline-end:8px;width:38px!important;height:38px!important;min-width:38px;padding:0!important;border:0!important;background:transparent!important;color:#31445f!important;font-size:20px!important;box-shadow:none!important;cursor:pointer}.cmp-profile-savebar [data-save-profile]{opacity:1!important;cursor:pointer!important}.cmp-profile-savebar [data-save-profile]:disabled{opacity:.7!important}.cmp-visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Profile v2.1 - identity/account refinements */
.cmp-profile-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.cmp-profile-title-row h2{margin:0}.cmp-account-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900}.cmp-account-badge.is-active{background:#ecfdf3;color:#15803d}.cmp-account-badge.is-inactive{background:#fff1f2;color:#be123c}.cmp-profile-mini-meta a{font-size:12px;padding:5px 8px;background:#eef5ff;border-radius:8px;color:#1d5eaa;text-decoration:none;font-weight:800}.cmp-profile-mini-meta a:hover{background:#e2efff}.cmp-profile-fields-v2 .is-readonly input[dir=ltr]{text-align:left}
@media(max-width:650px){.cmp-profile-title-row{gap:6px}.cmp-account-badge{font-size:9px}.cmp-profile-mini-meta{gap:5px}.cmp-profile-mini-meta span,.cmp-profile-mini-meta a{font-size:10px}}
/* Management Insights v4.27.0 */
.cmp-mi-page{display:grid;gap:14px}.cmp-mi-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.cmp-mi-filter>div,.cmp-mi-filter label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#475569}.cmp-mi-filter select,.cmp-mi-filter input{height:39px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:0 10px}.cmp-mi-filter button{height:39px;border:0;border-radius:9px;background:#1d4ed8;color:#fff;padding:0 16px;font-weight:800}.cmp-mi-filter>span{margin-inline-start:auto;color:#64748b;font-size:11px}.cmp-mi-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a 62%,#0284c7);color:#fff;border-radius:18px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;min-height:142px}.cmp-mi-hero small{color:#bfdbfe;font-weight:800}.cmp-mi-hero strong{display:block;font-size:38px;margin:5px 0}.cmp-mi-hero strong em{font-size:14px;font-style:normal;color:#bfdbfe}.cmp-mi-hero p{margin:0;color:#dbeafe;font-size:12px}.cmp-mi-health{--p:0;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#60a5fa calc(var(--p)*1%),rgba(255,255,255,.16) 0);position:relative}.cmp-mi-health:after{content:"";position:absolute;inset:9px;background:#172554;border-radius:50%}.cmp-mi-health b{z-index:1;font-size:18px}.cmp-mi-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cmp-mi-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex;gap:11px;align-items:center;text-decoration:none}.cmp-mi-kpi>span{width:40px;height:40px;border-radius:11px;background:#eff6ff;display:grid;place-items:center;font-size:19px}.cmp-mi-kpi div{min-width:0}.cmp-mi-kpi small,.cmp-mi-kpi strong,.cmp-mi-kpi em{display:block}.cmp-mi-kpi small{font-size:10px;color:#64748b;font-weight:800}.cmp-mi-kpi strong{font-size:21px;margin:3px 0;color:#0f172a}.cmp-mi-kpi em{font-size:10px;color:#64748b;font-style:normal}.cmp-mi-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cmp-mi-wide{grid-column:1/-1}.cmp-mi-page .cmp-panel-head span{font-size:11px;color:#15803d;font-weight:800}.cmp-mi-bars{height:160px;display:flex;align-items:end;justify-content:space-around;gap:8px;border-bottom:1px solid #e2e8f0;padding:12px 6px 0}.cmp-mi-barcol{height:100%;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:end;gap:5px}.cmp-mi-bar{width:min(34px,70%);min-height:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(#3b82f6,#1d4ed8);position:relative}.cmp-mi-bar b{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:10px}.cmp-mi-barcol small{font-size:9px;color:#64748b}.cmp-mi-legend{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:10px;color:#64748b}.cmp-mi-legend span{color:#1d4ed8}.cmp-mi-donut{--done:0;--run:0;width:142px;height:142px;border-radius:50%;margin:8px auto 14px;background:conic-gradient(#16a34a calc(var(--done)*1%),#2563eb 0 calc((var(--done) + var(--run))*1%),#cbd5e1 0);display:grid;place-items:center}.cmp-mi-donut>div{width:100px;height:100px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center}.cmp-mi-donut b{font-size:25px}.cmp-mi-donut small{font-size:9px;color:#64748b}.cmp-mi-status{display:grid;gap:7px}.cmp-mi-status span{display:flex;align-items:center;gap:7px;font-size:11px}.cmp-mi-status i{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.cmp-mi-status i.done{background:#16a34a}.cmp-mi-status i.run{background:#2563eb}.cmp-mi-status b{margin-inline-start:auto}.cmp-mi-money{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cmp-mi-money>div{padding:11px;background:#f8fafc;border-radius:11px}.cmp-mi-money small,.cmp-mi-money b{display:block}.cmp-mi-money small{font-size:9px;color:#64748b}.cmp-mi-money b{font-size:14px;margin-top:4px}.cmp-mi-cashbars{height:112px;display:flex;align-items:end;gap:8px;margin-top:12px;border-bottom:1px solid #e2e8f0}.cmp-mi-cashbars>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%}.cmp-mi-cashbars i{width:60%;background:#0ea5e9;border-radius:5px 5px 0 0;min-height:5px}.cmp-mi-cashbars small{font-size:8px;color:#64748b;padding:4px}.cmp-mi-bigstat{text-align:center;padding:8px}.cmp-mi-bigstat b{display:block;font-size:34px;color:#1d4ed8}.cmp-mi-bigstat span,.cmp-mi-bigstat small,.cmp-mi-bigstat a{display:block;margin-top:5px;font-size:11px;color:#64748b}.cmp-mi-bigstat a{color:#1d4ed8;font-weight:800}.cmp-mi-attention{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cmp-mi-attention>a{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #fed7aa;background:#fff7ed;border-radius:11px;text-decoration:none}.cmp-mi-attention>a b{white-space:nowrap;color:#9a3412}.cmp-mi-attention>a span{font-size:11px;color:#475569}.cmp-mi-attention .cmp-empty{grid-column:1/-1;padding:20px}
@media(max-width:800px){.cmp-mi-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-mi-grid{grid-template-columns:1fr}.cmp-mi-wide{grid-column:auto}.cmp-mi-money{grid-template-columns:repeat(2,1fr)}.cmp-mi-attention{grid-template-columns:1fr}}
@media(max-width:520px){.cmp-mi-filter{align-items:stretch}.cmp-mi-filter>div,.cmp-mi-filter label{flex:1 1 42%}.cmp-mi-filter button{flex:1 1 100%}.cmp-mi-filter>span{margin:0;width:100%;text-align:center}.cmp-mi-hero{padding:16px;min-height:118px}.cmp-mi-hero strong{font-size:30px}.cmp-mi-health{width:76px;height:76px}.cmp-mi-health:after{inset:8px}.cmp-mi-kpis{grid-template-columns:1fr 1fr;gap:8px}.cmp-mi-kpi{padding:10px;gap:8px}.cmp-mi-kpi>span{width:34px;height:34px}.cmp-mi-kpi strong{font-size:17px}.cmp-mi-money{grid-template-columns:1fr 1fr}.cmp-mi-bars{height:140px}}
/* AI Assistant P1 */
.cmp-ai-shell{display:grid;gap:14px;max-width:980px;margin:auto}.cmp-ai-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#0f2f66,#174ea6);color:#fff}.cmp-ai-hero>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.cmp-ai-hero h2,.cmp-ai-hero p{margin:0}.cmp-ai-hero p{grid-column:2;opacity:.86;margin-top:5px}.cmp-ai-mark{font-size:30px}.cmp-ai-readonly{background:#ffffff20;border:1px solid #ffffff35;border-radius:999px;padding:7px 10px;font-size:12px;white-space:nowrap}.cmp-ai-suggestions{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.cmp-ai-suggestions button{border:1px solid #dbe3ee;background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;font:inherit;cursor:pointer}.cmp-ai-chat{padding:0;overflow:hidden}.cmp-ai-messages{height:min(58vh,560px);min-height:360px;overflow:auto;padding:18px;background:#f8fafc;display:flex;flex-direction:column;gap:10px}.cmp-ai-msg{max-width:82%;border-radius:15px;padding:10px 12px;box-shadow:0 2px 8px #0f172a0d}.cmp-ai-msg p{margin:3px 0;line-height:1.75}.cmp-ai-msg.is-ai{align-self:flex-start;background:#fff;border:1px solid #e2e8f0}.cmp-ai-msg.is-user{align-self:flex-end;background:#dbeafe;color:#0f2f66}.cmp-ai-link{display:inline-block;margin:7px 6px 0 0;padding:7px 10px;background:#eff6ff;border-radius:9px;text-decoration:none;font-size:12px;font-weight:800}.cmp-ai-rate{margin-top:7px}.cmp-ai-rate button{border:0;background:transparent;cursor:pointer}.cmp-ai-chat form{display:flex;align-items:flex-end;gap:8px;padding:10px;background:#fff;border-top:1px solid #e2e8f0}.cmp-ai-chat textarea{flex:1;resize:none;border:1px solid #cbd5e1;border-radius:13px;padding:10px 12px;font:inherit;min-height:44px}.cmp-ai-chat form>button{width:44px;height:44px;border:0;border-radius:12px;background:#174ea6;color:#fff;font-size:18px;cursor:pointer}@media(max-width:640px){.cmp-ai-hero{align-items:flex-start;flex-direction:column}.cmp-ai-messages{height:52vh;min-height:320px}.cmp-ai-msg{max-width:90%}}
.cmp-ai-learning{display:grid;gap:12px}.cmp-ai-learning-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cmp-ai-learning-head h3,.cmp-ai-learning-head p{margin:0}.cmp-ai-learning-head p{margin-top:5px;color:#64748b}.cmp-ai-learning-head>span{background:#eef6ff;color:#174ea6;border-radius:999px;padding:6px 10px;font-size:12px;white-space:nowrap}.cmp-ai-teach{display:grid;grid-template-columns:minmax(180px,1.7fr) repeat(3,minmax(120px,1fr)) auto;gap:8px}.cmp-ai-teach input,.cmp-ai-teach select{min-width:0;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;background:#fff}.cmp-ai-teach button{border:0;border-radius:10px;padding:9px 14px;background:#174ea6;color:#fff;font-weight:800}.cmp-ai-learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cmp-ai-learning-grid>div{border:1px solid #e2e8f0;border-radius:12px;padding:10px;min-width:0}.cmp-ai-learn-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef2f7}.cmp-ai-learn-row:last-child{border-bottom:0}.cmp-ai-learn-row b{font-size:13px;overflow-wrap:anywhere}.cmp-ai-learn-row small{color:#64748b;white-space:nowrap}@media(max-width:760px){.cmp-ai-teach{grid-template-columns:1fr 1fr}.cmp-ai-teach input{grid-column:1/-1}.cmp-ai-teach button{grid-column:1/-1}.cmp-ai-learning-grid{grid-template-columns:1fr}.cmp-ai-learning-head{flex-direction:column}}

/* AI Assistant compact header — v4.32.1 */
.cmp-ai-hero{padding:14px 18px!important;min-height:0!important;border-radius:18px!important;gap:10px!important}.cmp-ai-hero>div{column-gap:8px!important}.cmp-ai-hero h2{font-size:20px!important;line-height:1.25!important}.cmp-ai-hero p{font-size:12px!important;line-height:1.55!important;margin-top:3px!important;max-width:620px}.cmp-ai-mark{font-size:22px!important}.cmp-ai-readonly{padding:5px 9px!important;font-size:11px!important}.cmp-ai-suggestions{gap:6px!important}.cmp-ai-suggestions button{padding:7px 11px!important;font-size:12px!important}@media(max-width:640px){.cmp-ai-hero{padding:13px 14px!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important}.cmp-ai-hero>div{flex:1 1 220px}.cmp-ai-hero h2{font-size:18px!important}.cmp-ai-hero p{font-size:11px!important;line-height:1.45!important}.cmp-ai-readonly{margin-inline-start:auto}.cmp-ai-mark{font-size:20px!important}}

/* Smart v3.4 — visually separate multi-point answers */
.cmp-ai-msg.is-ai .cmp-ai-point{display:block;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:7px 10px;margin:2px 0;line-height:1.55}

/* v4.34.1 — milestone attachment selection/upload progress */
.cmp-selected-file{margin-top:8px}.cmp-upload-progress{margin-top:8px;padding:9px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.cmp-upload-progress[hidden]{display:none}.cmp-upload-progress-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#52647d;margin-bottom:6px}.cmp-upload-progress-track{height:7px;border-radius:999px;background:#e5e7eb;overflow:hidden}.cmp-upload-progress-bar{display:block;height:100%;width:0;background:linear-gradient(90deg,#2563eb,#0ea5e9);transition:width .12s linear}.cmp-upload-progress.is-done .cmp-upload-progress-head{color:#15803d}.cmp-upload-progress.is-error .cmp-upload-progress-head{color:#b91c1c}
