
.cp-shell,.cp-login-wrap{--cp-navy:#0a1733;--cp-blue:#0866f5;--cp-soft:#f4f8ff;--cp-line:#dce6f1;--cp-text:#17243a;--cp-muted:#667995;max-width:1180px;margin:0 auto;padding:0 18px 70px;color:var(--cp-text);font-family:inherit}
.cp-app-nav{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border:1px solid #e2e9f1;border-radius:0 0 14px 14px;padding:14px 18px;margin-bottom:26px;box-shadow:0 8px 28px rgba(36,67,110,.06)}
.cp-app-brand{font-size:22px;font-weight:900;letter-spacing:-.8px;color:var(--cp-navy);white-space:nowrap}.cp-app-brand span{color:var(--cp-blue)}
.cp-app-links{display:flex;align-items:center;gap:24px}.cp-app-links a{color:#44536b;text-decoration:none;font-size:14px;font-weight:700;padding:10px 0;border-bottom:2px solid transparent}.cp-app-links a:hover,.cp-app-links a.is-active{color:var(--cp-blue);border-color:var(--cp-blue)}
.cp-icon-link{font-size:13px;color:#50627d;text-decoration:none;font-weight:700}
.cp-dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px 22px}.cp-dashboard-welcome>div{display:flex;align-items:center;gap:13px}.cp-wave{font-size:34px}.cp-dashboard-welcome h1{margin:0;font-size:31px;letter-spacing:-1px;color:var(--cp-navy)}.cp-dashboard-welcome p{margin:4px 0 0;color:var(--cp-muted)}.cp-dashboard-date{color:#5f7089;font-size:13px}
.cp-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.cp-stat-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--cp-line);border-radius:14px;padding:17px}.cp-stat-icon{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf5ff;color:var(--cp-blue);font-size:20px}.cp-stat-card strong{font-size:24px;line-height:1;color:var(--cp-navy)}.cp-stat-card small{font-size:12px;color:var(--cp-muted)}
.cp-dashboard-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:16px}.cp-dashboard-primary,.cp-dashboard-recommended{background:#fff;border:1px solid var(--cp-line);border-radius:16px;padding:16px}.cp-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:900;color:var(--cp-navy);margin-bottom:14px}.cp-section-title>a{font-size:12px;color:var(--cp-blue);text-decoration:none}
.cp-match-pill{background:#dcf7e4;color:#16773b;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;white-space:nowrap}
.cp-top-job{display:flex;gap:16px;padding:8px}.cp-job-logo,.cp-rec-logo{width:46px;height:46px;border-radius:10px;background:#0d2a54;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;flex:0 0 auto}.cp-top-job-copy h2{margin:0;color:var(--cp-navy);font-size:24px}.cp-top-job-copy h3{margin:4px 0;color:#50627d;font-size:15px}.cp-job-meta{font-size:13px;color:#667995;margin:9px 0}.cp-job-snippet{font-size:13px;color:#516681;line-height:1.55;margin:10px 0 14px}
.cp-rec-list{display:grid;gap:7px}.cp-rec-job{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;text-decoration:none;color:inherit}.cp-rec-job:hover{background:#f7faff}.cp-rec-logo{width:38px;height:38px;font-size:15px}.cp-rec-copy{display:flex;flex-direction:column;min-width:0;flex:1}.cp-rec-copy strong{font-size:13px;color:var(--cp-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-rec-copy small{font-size:11px;color:#71819a}
.cp-quick-tools{margin-top:18px}.cp-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cp-quick-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:15px;text-decoration:none;color:inherit}.cp-quick-card>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.cp-quick-card strong{color:var(--cp-navy)}
.cp-status{display:inline-block;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.cp-status-amber{background:#fff1ce;color:#9b6500}.cp-status-blue{background:#eaf3ff;color:#36699e}.cp-status-green{background:#e6f7ef;color:#08764f}
.cp-muted{color:var(--cp-muted);font-size:13px}.cp-empty-state{padding:26px;text-align:center;background:#f8fbff;border-radius:12px}.cp-empty-state h2{margin:0 0 8px}.cp-empty-state p{color:var(--cp-muted)}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:9px;text-decoration:none!important;font-weight:800;border:1px solid transparent}.cp-btn-primary{background:var(--cp-blue);color:#fff!important}
.cp-hero{background:linear-gradient(135deg,#eef7ff,#e8f2ff);border:1px solid #cfe1f4;border-radius:18px;padding:34px 32px;margin-bottom:20px}.cp-eyebrow{color:var(--cp-blue);font-size:12px;font-weight:900;letter-spacing:.8px;margin-bottom:10px}.cp-hero h1{margin:0 0 12px;color:var(--cp-text);font-size:34px}
.cp-login-wrap{max-width:520px;padding-top:40px;padding-bottom:80px}.cp-login-card{background:#fff;border:1px solid #d7e2ee;border-radius:18px;padding:32px}.cp-login-form input[type="text"],.cp-login-form input[type="password"]{width:100%;min-height:48px;border:1px solid #cbd8e7;border-radius:9px;padding:10px 12px;box-sizing:border-box}
@media(max-width:900px){.cp-app-links{gap:13px}.cp-stat-grid{grid-template-columns:1fr 1fr}.cp-dashboard-main{grid-template-columns:1fr}.cp-quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.cp-app-nav{align-items:flex-start;flex-wrap:wrap}.cp-app-links{width:100%;overflow:auto}.cp-dashboard-welcome{align-items:flex-start;flex-direction:column}.cp-stat-grid,.cp-quick-grid{grid-template-columns:1fr}.cp-dashboard-welcome h1{font-size:27px}}


/* v0.2.1 app shell polish */
body.cp-candidate-app {
    margin: 0 !important;
    background: #f5f8fc !important;
}

body.cp-candidate-app .cp-shell,
body.cp-candidate-app .cpjm-wrap,
body.cp-candidate-app .cpp-wrap,
body.cp-candidate-app .cvi-wrap,
body.cp-candidate-app .cpwh-wrap {
    max-width: 1280px !important;
}

body.cp-candidate-app .cp-shell {
    padding-top: 0;
}

.cp-app-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    margin-left: -18px;
    margin-right: -18px;
    border-radius: 0 0 14px 14px;
    padding-left: 24px;
    padding-right: 24px;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(12px);
}

.cp-app-mark {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-right: 4px;
    border-radius: 9px;
    background: #eaf3ff;
    color: var(--cp-blue);
    font-size: 15px;
}

.cp-dashboard-welcome {
    padding-top: 10px;
}

.cp-dashboard-main {
    gap: 14px;
}

.cp-dashboard-primary,
.cp-dashboard-recommended,
.cp-stat-card {
    box-shadow: 0 10px 24px rgba(32,63,105,.045);
}

.cp-quick-tools {
    margin-top: 28px;
    opacity: .94;
}

.cp-quick-tools .cp-section-title {
    font-size: 12px;
    color: #6d7c92;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.cp-quick-card {
    padding: 13px 15px;
    background: rgba(255,255,255,.78);
}

.cp-quick-card:hover {
    border-color: #bfd5f2;
    background: #fff;
}

@media (min-width: 1100px) {
    .cp-shell {
        padding-left: 24px;
        padding-right: 24px;
    }

    .cp-dashboard-welcome,
    .cp-stat-grid,
    .cp-dashboard-main,
    .cp-quick-tools {
        max-width: 1120px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media(max-width:760px){
    .cp-app-nav {
        position: static;
        margin-left: -18px;
        margin-right: -18px;
    }

    .cp-app-links {
        order: 3;
        width: 100%;
    }
}


/* v0.2.2 stronger public-header suppression */
body.cp-candidate-app .cp-app-nav {
    margin-top: 0 !important;
}

body.cp-candidate-app .cp-shell {
    margin-top: 0 !important;
}

body.cp-candidate-app .cp-dashboard-welcome {
    margin-top: 0 !important;
}


/* v0.2.4 Applications dashboard */
.cp-applications-overview{
    max-width:1120px;
    margin:18px auto 0;
    background:#fff;
    border:1px solid var(--cp-line);
    border-radius:16px;
    padding:16px;
    box-shadow:0 10px 24px rgba(32,63,105,.045);
}

.cp-application-stage-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
    margin-bottom:14px;
}

.cp-stage-card{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:13px 14px;
    border:1px solid #e1e8f0;
    border-radius:11px;
    text-decoration:none!important;
    background:#fbfdff;
}

.cp-stage-card strong{
    font-size:22px;
    color:var(--cp-navy);
}

.cp-stage-card span{
    font-size:11px;
    color:var(--cp-muted);
}

.cp-stage-interview{
    background:#fffaf0;
    border-color:#efe0b7;
}

.cp-stage-offer{
    background:#f1fbf5;
    border-color:#cbe9d5;
}

.cp-next-actions{
    display:grid;
    gap:8px;
}

.cp-next-action{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:11px 13px;
    border:1px solid #e2e9f1;
    border-radius:10px;
    text-decoration:none!important;
    color:inherit;
}

.cp-next-action:hover{
    background:#f8fbff;
}

.cp-next-action-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.cp-next-action-main strong{
    color:var(--cp-navy);
    font-size:13px;
}

.cp-next-action-main span{
    color:#6d7d94;
    font-size:11px;
}

.cp-next-action-meta{
    display:flex;
    flex-direction:column;
    text-align:right;
    gap:3px;
    white-space:nowrap;
}

.cp-next-action-meta span{
    color:#708097;
    font-size:10px;
}

.cp-next-action-meta strong{
    font-size:11px;
    color:#356b9f;
}

.cp-next-overdue{
    border-left:4px solid #d84b4b;
}

.cp-next-overdue .cp-next-action-meta strong{
    color:#a52b2b;
}

.cp-next-today{
    border-left:4px solid #d59a1e;
}

.cp-next-today .cp-next-action-meta strong{
    color:#956300;
}

.cp-next-upcoming{
    border-left:4px solid #3c83d7;
}

.cp-next-empty{
    padding:14px;
    background:#f8fbff;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.cp-next-empty strong{color:var(--cp-navy)}
.cp-next-empty span{font-size:12px;color:var(--cp-muted)}

@media(max-width:900px){
    .cp-application-stage-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:650px){
    .cp-application-stage-grid{
        grid-template-columns:1fr 1fr;
    }

    .cp-next-action{
        align-items:flex-start;
        flex-direction:column;
    }

    .cp-next-action-meta{
        text-align:left;
    }
}


/* v0.2.5 dashboard card-height polish */
.cp-dashboard-main{
    align-items:start;
}

.cp-dashboard-recommended{
    align-self:start;
    height:auto !important;
    min-height:0 !important;
}

.cp-rec-list{
    align-content:start;
}

.cp-rec-job:last-child{
    margin-bottom:0;
}


/* v0.2.6 dashboard layout repair */
.cp-dashboard-main{
    display:grid !important;
    grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr) !important;
    grid-auto-rows:max-content !important;
    align-items:start !important;
}

.cp-dashboard-main > .cp-dashboard-primary,
.cp-dashboard-main > .cp-dashboard-recommended{
    height:max-content !important;
    min-height:0 !important;
    align-self:start !important;
}

.cp-dashboard-recommended{
    display:block !important;
    overflow:visible !important;
}

.cp-dashboard-recommended .cp-rec-list{
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    height:auto !important;
    min-height:0 !important;
}

.cp-dashboard-recommended .cp-rec-job{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    align-items:center !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.cp-dashboard-recommended .cp-rec-copy{
    min-width:0 !important;
}

.cp-dashboard-recommended .cp-match-pill{
    position:static !important;
    margin:0 !important;
    justify-self:end !important;
}

.cp-dashboard-recommended .cp-rec-job:last-child{
    padding-bottom:10px !important;
}

@media(max-width:900px){
    .cp-dashboard-main{
        grid-template-columns:1fr !important;
    }
}


/* v0.2.7 recommendation text containment */
.cp-dashboard-recommended,
.cp-dashboard-recommended .cp-rec-list,
.cp-dashboard-recommended .cp-rec-job,
.cp-dashboard-recommended .cp-rec-copy{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

.cp-dashboard-recommended .cp-rec-job{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    overflow:hidden !important;
}

.cp-dashboard-recommended .cp-rec-copy{
    overflow:hidden !important;
}

.cp-dashboard-recommended .cp-rec-copy strong{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    line-clamp:2 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    line-height:1.25 !important;
}

.cp-dashboard-recommended .cp-rec-copy small{
    display:block !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.cp-dashboard-recommended .cp-match-pill{
    justify-self:end !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
}


/* v0.2.8 recommendation title hard containment */
.cp-dashboard-recommended .cp-rec-job{
    grid-template-columns:38px minmax(0,calc(100% - 105px)) 48px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.cp-dashboard-recommended .cp-rec-copy{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.cp-dashboard-recommended .cp-rec-copy strong{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:hidden !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:auto !important;
    display:block !important;
    line-height:1.2 !important;
}

.cp-dashboard-recommended .cp-match-pill{
    width:auto !important;
    max-width:48px !important;
    justify-self:end !important;
}


/* v0.2.9 recommendation overflow definitive fix */
.cp-dashboard-recommended .cp-rec-job{
    position:relative !important;
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:10px 62px 10px 10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.cp-dashboard-recommended .cp-rec-copy{
    min-width:0 !important;
    width:auto !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.cp-dashboard-recommended .cp-rec-copy strong{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:hidden !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    line-height:1.22 !important;
}

.cp-dashboard-recommended .cp-rec-copy small{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.cp-dashboard-recommended .cp-match-pill{
    position:absolute !important;
    right:10px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    width:auto !important;
    max-width:46px !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
}
