@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-400.ttf') format('truetype');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-500.ttf') format('truetype');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-600.ttf') format('truetype');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-700.ttf') format('truetype');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-800.ttf') format('truetype');
}

.pcp-platform {
    --pcp-navy-deep: #0d1b35;
    --pcp-navy: #14274e;
    --pcp-navy-mid: #1c3464;
    --pcp-ink: #191919;
    --pcp-copy: #374151;
    --pcp-muted: #667085;
    --pcp-gold: #c4922a;
    --pcp-gold-dark: #a67820;
    --pcp-gold-text: #80590d;
    --pcp-gold-pale: #f5edd8;
    --pcp-paper: #f3f5f2;
    --pcp-line: rgba(13, 27, 53, .11);
    --pcp-surface: #ffffff;
    --pcp-shadow: 0 1px 2px rgba(13, 27, 53, .04), 0 18px 46px -18px rgba(13, 27, 53, .18);
    box-sizing: border-box;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 144px 0 88px;
    color: var(--pcp-copy);
    font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.pcp-platform *,
.pcp-platform *::before,
.pcp-platform *::after { box-sizing: inherit; }

.pcp-platform h1,
.pcp-platform h2,
.pcp-platform h3 { margin: 0; color: var(--pcp-ink); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.pcp-platform h1 { font-size: clamp(2.45rem, 5vw, 4.25rem); }
.pcp-platform h2 { font-size: clamp(1.7rem, 3vw, 2.65rem); }
.pcp-platform h3 { font-size: 1.35rem; letter-spacing: -.025em; }
.pcp-platform p { line-height: 1.65; }

.pcp-platform a:focus-visible,
.pcp-platform button:focus-visible,
.pcp-platform input:focus-visible,
.pcp-platform textarea:focus-visible,
.pcp-platform summary:focus-visible {
    outline: 3px solid rgba(196, 146, 42, .42);
    outline-offset: 3px;
}

.pcp-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 26px;
    color: var(--pcp-ink) !important;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1;
    text-decoration: none !important;
}

.pcp-brand-lockup img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.pcp-kicker,
.pcp-section-head > span {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--pcp-gold-text);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.pcp-portal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    padding: clamp(24px, 4vw, 42px);
    overflow: hidden;
    border: 1px solid var(--pcp-line);
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% 0, rgba(196, 146, 42, .22), transparent 34%),
        linear-gradient(145deg, #fff 0%, #fff 60%, var(--pcp-paper) 100%);
    box-shadow: var(--pcp-shadow);
}

.pcp-portal-head p { margin: 10px 0 0; color: var(--pcp-muted); }
.pcp-portal-head .pcp-brand-lockup { margin-bottom: 20px; }
.pcp-actions { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }

.pcp-button {
    position: relative;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, .02) 40%, rgba(0, 0, 0, .08) 100%),
        rgba(196, 146, 42, .9);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .52),
        inset 0 -1px 0 rgba(13, 27, 53, .18),
        0 10px 24px -10px rgba(196, 146, 42, .58);
    color: var(--pcp-navy-deep) !important;
    font-weight: 700;
    text-decoration: none !important;
    touch-action: manipulation;
    transition: transform .2s cubic-bezier(.2, .7, .2, 1), box-shadow .2s cubic-bezier(.2, .7, .2, 1), background .2s ease;
}

.pcp-button:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .28) 0%, rgba(255, 255, 255, .04) 40%, rgba(0, 0, 0, .1) 100%),
        rgba(166, 120, 32, .95);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .58),
        inset 0 -1px 0 rgba(13, 27, 53, .2),
        0 14px 30px -10px rgba(196, 146, 42, .68);
    transform: translateY(-1px);
}

.pcp-button:active { transform: scale(.98); }
.pcp-button[disabled],
.pcp-button.is-disabled {
    border-color: rgba(13, 27, 53, .1);
    background: #e8ebee;
    box-shadow: none;
    color: #667085 !important;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}
.pcp-button[disabled]:hover,
.pcp-button.is-disabled:hover { background: #e8ebee; box-shadow: none; transform: none; }
.pcp-button--quiet {
    border-color: rgba(13, 27, 53, .12);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .78));
    box-shadow: inset 0 1px 0 #fff, 0 8px 22px -12px rgba(13, 27, 53, .22);
    color: var(--pcp-ink) !important;
}
.pcp-button--quiet:hover { background: #fff; }
.pcp-link { color: var(--pcp-navy); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.pcp-link:hover { color: var(--pcp-gold-text); }

.pcp-panel {
    padding: 30px;
    border: 1px solid var(--pcp-line);
    border-radius: 28px;
    background: var(--pcp-surface);
    box-shadow: var(--pcp-shadow);
}

.pcp-overview { margin-bottom: 54px; }
.pcp-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pcp-kpi-card { min-width: 0; padding: 22px; border: 1px solid var(--pcp-line); border-radius: 20px; background: linear-gradient(145deg, #fff, var(--pcp-paper)); box-shadow: 0 12px 34px rgba(13, 27, 53, .055); }
.pcp-kpi-card > strong { display: block; margin-bottom: 8px; color: var(--pcp-ink); font-size: clamp(1.85rem, 4vw, 2.7rem); line-height: 1; }
.pcp-kpi-card > span { display: block; font-weight: 800; }
.pcp-kpi-card > small { display: block; margin-top: 6px; color: var(--pcp-muted); line-height: 1.4; }
.pcp-kpi-card--attention { border-color: rgba(196, 146, 42, .42); background: linear-gradient(145deg, #fff, var(--pcp-gold-pale)); }
.pcp-account + .pcp-account { margin-top: 54px; }
.pcp-section-head { margin-bottom: 22px; }
.pcp-account-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.pcp-account-head > div,
.pcp-location-head > div { min-width: 0; }
.pcp-account-head h2,
.pcp-location-head h3 { min-width: 0; overflow-wrap: anywhere; }
.pcp-account-head > div > span { display: inline-block; margin-bottom: 10px; color: var(--pcp-gold-text); font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pcp-package { display: inline-flex; min-height: 34px; align-items: center; padding: 6px 12px; border: 1px solid rgba(196, 146, 42, .3); border-radius: 999px; background: var(--pcp-gold-pale); color: var(--pcp-gold-text); font-size: .82rem; font-weight: 800; white-space: nowrap; }
.pcp-package-details {
    margin: -6px 0 22px;
    border: 1px solid rgba(196, 146, 42, .28);
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, var(--pcp-gold-pale));
    overflow: hidden;
}
.pcp-package-details > summary {
    display: grid;
    min-height: 50px;
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 14px;
    align-items: center;
    padding: 11px 15px;
    color: var(--pcp-ink);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
    touch-action: manipulation;
}
.pcp-package-details > summary::-webkit-details-marker { display: none; }
.pcp-package-details > summary::after {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--pcp-navy);
    content: '+';
    font-size: 1.2rem;
    font-weight: 700;
}
.pcp-package-details[open] > summary { border-bottom: 1px solid rgba(196, 146, 42, .24); }
.pcp-package-details[open] > summary::after { content: '−'; }
.pcp-package-details__content { display: grid; gap: 13px; padding: 15px; }
.pcp-package-details__content ul { display: grid; gap: 7px; margin: 0; padding-left: 21px; color: var(--pcp-copy); }
.pcp-package-details__content li::marker { color: var(--pcp-gold-dark); }
.pcp-package-details__content p { margin: 0; padding: 11px 13px; border-radius: 12px; background: rgba(255, 255, 255, .78); color: var(--pcp-muted); font-size: .82rem; line-height: 1.5; }
.pcp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.pcp-location > p { color: var(--pcp-muted); }
.pcp-muted { color: var(--pcp-muted); }
.pcp-location-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.pcp-location-count { flex: 0 0 auto; color: var(--pcp-muted); font-size: .78rem; font-weight: 750; }

.pcp-certifications { display: grid; gap: 12px; margin-top: 22px; }
.pcp-certification {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px 16px;
    padding-top: 16px;
    border-top: 1px solid var(--pcp-line);
}
.pcp-cert-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 14px; }
.pcp-cert-head > div { min-width: 0; }
.pcp-cert-head > div > span { display: block; margin-bottom: 3px; color: var(--pcp-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pcp-cert-head strong { overflow-wrap: anywhere; }
.pcp-cert-head small { margin-top: 5px; }
.pcp-readiness { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; min-height: 34px; padding: 6px 11px; border: 1px solid var(--pcp-line); border-radius: 999px; background: #fff; color: var(--pcp-copy); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.pcp-readiness__lights { display: inline-flex; gap: 4px; }
.pcp-readiness__lights i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #d7dce3; }
.pcp-readiness--red .pcp-readiness__lights i:nth-child(1) { background: #b34739; box-shadow: 0 0 0 3px rgba(179, 71, 57, .11); }
.pcp-readiness--yellow .pcp-readiness__lights i:nth-child(2) { background: #b27b13; box-shadow: 0 0 0 3px rgba(178, 123, 19, .11); }
.pcp-readiness--green .pcp-readiness__lights i:nth-child(3) { background: #23834b; box-shadow: 0 0 0 3px rgba(35, 131, 75, .11); }
.pcp-certification strong,
.pcp-certification small { display: block; }
.pcp-certification small { color: var(--pcp-muted); }
.pcp-certification .pcp-link { grid-column: 1 / -1; }

.pcp-cert-glance {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}
.pcp-cert-glance__item {
    display: grid;
    min-width: 0;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px 16px;
    border: 1px solid var(--pcp-line);
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, #f8f9f8);
}
.pcp-cert-glance__number {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pcp-navy-deep);
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
}
.pcp-cert-glance__copy { min-width: 0; }
.pcp-cert-glance__label {
    display: block;
    margin-bottom: 7px;
    color: var(--pcp-muted);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pcp-cert-glance__copy > strong { color: var(--pcp-ink); line-height: 1.45; overflow-wrap: anywhere; }
.pcp-cert-glance__item--attention { border-color: rgba(196, 146, 42, .38); background: var(--pcp-gold-pale); }
.pcp-cert-glance__item--attention .pcp-cert-glance__number { background: var(--pcp-gold-dark); }
.pcp-cert-glance__item--complete .pcp-cert-glance__number { background: #23834b; }
.pcp-cert-glance__item--next { border-color: rgba(20, 39, 78, .18); background: linear-gradient(145deg, #fff, #eef2f8); }
.pcp-open-points { min-width: 0; color: var(--pcp-copy); }
.pcp-open-points__type { display: block; margin-bottom: 5px; color: var(--pcp-ink); font-size: .84rem; font-weight: 800; }
.pcp-open-points ul { margin: 0; padding-left: 20px; }
.pcp-open-points li + li { margin-top: 3px; }
.pcp-open-points p { margin: 8px 0 0; color: var(--pcp-copy); overflow-wrap: anywhere; }
.pcp-open-points > p:first-child { margin-top: 0; }

.pcp-cert-details {
    margin-top: 10px;
    border: 1px solid var(--pcp-line);
    border-radius: 16px;
    background: var(--pcp-paper);
    overflow: hidden;
}
.pcp-cert-details > summary {
    display: grid;
    min-height: 54px;
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 14px;
    align-items: center;
    padding: 13px 16px;
    cursor: pointer;
    list-style: none;
    touch-action: manipulation;
}
.pcp-cert-details > summary::-webkit-details-marker { display: none; }
.pcp-cert-details > summary::after {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--pcp-navy);
    content: '+';
    font-size: 1.2rem;
    font-weight: 700;
}
.pcp-cert-details[open] > summary { border-bottom: 1px solid var(--pcp-line); }
.pcp-cert-details[open] > summary::after { content: '−'; }
.pcp-cert-details__summary-copy > span { display: block; color: var(--pcp-ink); font-weight: 800; }
.pcp-cert-details__summary-copy > small { margin-top: 2px; color: var(--pcp-muted); font-size: .76rem; font-weight: 650; line-height: 1.35; }
.pcp-cert-details__content { display: grid; gap: 10px; padding: 16px; }
.pcp-cert-details__content > .pcp-progress { margin: 4px 0 10px; }
.pcp-cert-details__content > .pcp-runtime,
.pcp-cert-details__content > .pcp-improvement-overview,
.pcp-cert-details__content > .pcp-public-profile { margin-top: 0; background: #fff; }
.pcp-cert-details__content > .pcp-deliverables { margin-top: 2px; }

.pcp-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 18px 0 10px; padding: 0; list-style: none; }
.pcp-progress__item { position: relative; display: grid; justify-items: center; gap: 6px; min-width: 0; color: #667085; text-align: center; }
.pcp-progress__item::before { position: absolute; z-index: 0; top: 13px; right: 50%; width: 100%; height: 2px; background: #e5e9ef; content: ''; }
.pcp-progress__item:first-child::before { display: none; }
.pcp-progress__item > span { position: relative; z-index: 1; display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border: 2px solid #e5e9ef; border-radius: 50%; background: #fff; font-size: .72rem; font-weight: 850; }
.pcp-progress__item > small { font-size: .7rem; font-weight: 750; }
.pcp-progress__item--done { color: #17663a; }
.pcp-progress__item--done::before { background: #9bc8ac; }
.pcp-progress__item--done > span { border-color: #23834b; background: #23834b; color: #fff; }
.pcp-progress__item--current { color: var(--pcp-ink); }
.pcp-progress__item--current::before { background: #9bc8ac; }
.pcp-progress__item--current > span { border-color: var(--pcp-gold); box-shadow: 0 0 0 4px rgba(201, 151, 50, .14); color: #80590d; }
.pcp-next-step,
.pcp-runtime,
.pcp-improvement-overview,
.pcp-public-profile { margin-top: 8px; padding: 14px 16px; border: 1px solid var(--pcp-line); border-radius: 14px; background: var(--pcp-paper); }
.pcp-next-step > span,
.pcp-runtime > span,
.pcp-improvement-overview > span,
.pcp-public-profile > span { display: block; margin-bottom: 4px; color: var(--pcp-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pcp-runtime > strong { font-size: .92rem; }
.pcp-improvement-overview p { margin: 0; color: var(--pcp-copy); line-height: 1.55; overflow-wrap: anywhere; }
.pcp-renewal { margin-top: 4px; }
.pcp-renewal--attention { color: #962d2d !important; font-weight: 800; }
.pcp-renewal-action { padding: 15px 16px; border: 1px solid rgba(196, 146, 42, .3); border-radius: 15px; background: var(--pcp-gold-pale); }
.pcp-renewal-action > strong { color: var(--pcp-ink); }
.pcp-renewal-action p { margin: 5px 0 11px; color: var(--pcp-copy); line-height: 1.5; }
.pcp-renewal-action form { margin: 0 0 7px; }
.pcp-renewal-action > small { color: var(--pcp-muted); line-height: 1.4; }
.pcp-renewal-action--pending { border-color: rgba(27, 91, 151, .22); background: #eef5fd; }
.pcp-renewal-action--complete { border-color: rgba(35, 131, 75, .22); background: #edf8f1; }
.pcp-renewal-action--attention { border-color: rgba(179, 71, 57, .25); background: #fff3f0; }
.pcp-public-profile { display: grid; gap: 6px; }
.pcp-public-profile code { max-width: 100%; overflow-wrap: anywhere; color: var(--pcp-ink); font-size: .75rem; }
.pcp-workflow-detail { grid-column: 1 / -1; margin-top: 8px; padding: 14px 16px; border-radius: 14px; background: var(--pcp-paper); }
.pcp-workflow-detail--attention { border: 1px solid rgba(196, 146, 42, .35); background: var(--pcp-gold-pale); }
.pcp-workflow-detail strong { display: block; margin-bottom: 6px; }
.pcp-workflow-detail p,
.pcp-workflow-detail ul { margin: 0; color: var(--pcp-muted); }
.pcp-workflow-detail p + ul { margin-top: 8px; }
.pcp-workflow-detail ul { padding-left: 20px; }
.pcp-deliverables { display: flex; grid-column: 1 / -1; gap: 14px; flex-wrap: wrap; }
.pcp-deliverables form { margin: 0; }
.pcp-deliverables-note { flex-basis: 100%; margin: 2px 0 0; color: var(--pcp-muted); font-size: .9rem; }
.pcp-link-button { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 0; border: 0; background: transparent; color: var(--pcp-ink); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; touch-action: manipulation; }

.pcp-share-tools {
    grid-column: 1 / -1;
    margin-top: 6px;
    border: 1px solid var(--pcp-line);
    border-radius: 16px;
    background: var(--pcp-paper);
}
.pcp-share-tools summary {
    padding: 14px 16px;
    cursor: pointer;
    font-weight: 800;
    touch-action: manipulation;
}
.pcp-share-tools[open] summary { border-bottom: 1px solid var(--pcp-line); }
.pcp-share-grid {
    display: grid;
    grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr);
    gap: 22px;
    padding: 18px;
}
.pcp-share-grid h4 { margin: 0 0 12px; color: var(--pcp-ink); font-size: 1rem; }
.pcp-share-qr { display: grid; justify-items: start; align-content: start; gap: 10px; }
.pcp-share-qr img { display: block; width: min(180px, 100%); height: auto; border: 10px solid #fff; border-radius: 12px; }
.pcp-share-embed textarea {
    display: block;
    width: 100%;
    min-height: 150px;
    padding: 12px;
    resize: vertical;
    border: 1px solid var(--pcp-line);
    border-radius: 10px;
    background: #fff;
    color: var(--pcp-ink);
    font: 13px/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    overflow-wrap: normal;
}
.pcp-copy-row { display: flex; align-items: center; gap: 12px; margin-top: 10px; flex-wrap: wrap; }
.pcp-copy-button {
    min-height: 42px;
    padding: 8px 15px;
    border: 1px solid var(--pcp-gold);
    border-radius: 999px;
    background: #fff;
    color: var(--pcp-ink);
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.pcp-copy-button:hover { border-color: var(--pcp-gold-dark); background: var(--pcp-gold-pale); transform: translateY(-1px); }
.pcp-copy-status { color: var(--pcp-muted); font-size: .88rem; }

.pcp-status {
    display: inline-flex;
    align-items: center;
    align-self: start;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(13, 27, 53, .08);
    background: var(--pcp-paper);
    color: #344054;
    font-size: .78rem;
    font-weight: 800;
}
.pcp-status--valid { background: #e8f6ed; color: #17663a; }
.pcp-status--expired { background: #fff3db; color: #835700; }
.pcp-status--revoked,
.pcp-status--invalid { background: #fdecec; color: #962d2d; }
.pcp-status--application_received { background: #edf2ff; color: #304f92; }
.pcp-status--documents_missing { background: #fff3db; color: #835700; }
.pcp-status--review_in_progress { background: #eaf3ff; color: #175d9b; }
.pcp-status--review_complete { background: #eeeafd; color: #5c3fa3; }
.pcp-status--released { background: #e8f6ed; color: #17663a; }
.pcp-status--withdrawn { background: #fdecec; color: #962d2d; }

.pcp-empty-state { max-width: 820px; }
.pcp-empty-state p { max-width: 680px; margin-bottom: 0; color: var(--pcp-muted); }
.pcp-login-shell {
    max-width: 1160px;
    padding-top: clamp(128px, 9vw, 136px);
    padding-bottom: 72px;
}
.pcp-login {
    position: relative;
    display: grid;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
    grid-template-areas:
        "brand card"
        "title card"
        "lead card"
        "features card";
    column-gap: clamp(38px, 5.5vw, 68px);
    row-gap: 17px;
    align-items: start;
    overflow: hidden;
    padding: clamp(34px, 4.5vw, 52px);
    border-color: rgba(255, 255, 255, .11);
    border-top: 0;
    border-radius: 32px;
    background:
        radial-gradient(circle at 0 100%, rgba(196, 146, 42, .2), transparent 35%),
        radial-gradient(circle at 92% 0, rgba(196, 146, 42, .16), transparent 30%),
        linear-gradient(145deg, var(--pcp-navy-deep), var(--pcp-navy));
    box-shadow: 0 26px 70px -30px rgba(13, 27, 53, .56);
}
.pcp-login::before { position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--pcp-gold-dark), var(--pcp-gold), #dfbc6a); content: ''; }
.pcp-login > * { min-width: 0; }
.pcp-login-title {
    z-index: 1;
    grid-area: title;
    max-width: 650px;
    color: #fff !important;
    font-size: clamp(2.35rem, 4.2vw, 3.8rem) !important;
}
.pcp-login-brand {
    z-index: 1;
    display: flex;
    grid-area: brand;
    align-items: center;
    gap: 18px;
}
.pcp-login-brand .pcp-brand-lockup { flex: 0 0 auto; margin: 0; color: #fff !important; }
.pcp-login-brand .pcp-kicker {
    margin: 0;
    padding-left: 18px;
    border-left: 1px solid rgba(255, 255, 255, .22);
    color: #f1d99e;
}
.pcp-login-lead {
    z-index: 1;
    grid-area: lead;
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 1.02rem;
}
.pcp-login .pcp-actions { margin-top: 24px; }
.pcp-login-features { position: relative; z-index: 1; display: grid; grid-area: features; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 7px; }
.pcp-login-features article { display: grid; min-width: 0; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 13px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 15px; background: rgba(255, 255, 255, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); }
.pcp-login-features article > span { display: inline-flex; width: 27px; height: 27px; align-items: center; justify-content: center; border-radius: 50%; background: var(--pcp-gold); color: var(--pcp-navy-deep); font-weight: 900; }
.pcp-login-features strong { display: block; color: #fff; font-size: .9rem; }
.pcp-login-features p { margin: 3px 0 0; color: rgba(255, 255, 255, .67); font-size: .76rem; line-height: 1.42; }
.pcp-login-card {
    position: relative;
    z-index: 2;
    grid-area: card;
    overflow: hidden;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, .62);
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 24px 55px -24px rgba(4, 12, 27, .65), inset 0 1px 0 #fff;
}
.pcp-login-card::before { position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--pcp-gold-dark), var(--pcp-gold), #dfbc6a); content: ''; }
.pcp-login-note { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--pcp-line); color: var(--pcp-muted); font-size: .76rem; line-height: 1.55; text-align: left; }

.pcp-login-card .pcp-auth { margin: 0; padding: 0; border: 0; }
.pcp-auth { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--pcp-line); }
.pcp-auth > h2 { color: var(--pcp-navy-deep); font-size: 1.5rem; }
.pcp-auth > .pcp-muted { margin: 7px 0 15px; font-size: .86rem; line-height: 1.52; }
.pcp-auth-providers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pcp-auth-provider { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 6px; padding: 10px 12px; border: 1px solid var(--pcp-line); border-radius: 14px; background: #fff; color: var(--pcp-ink) !important; font-weight: 750; text-align: center; text-decoration: none !important; }
.pcp-auth-icon { display: inline-flex; width: 20px; height: 20px; flex: 0 0 20px; align-items: center; justify-content: center; }
.pcp-auth-icon svg { display: block; width: 20px; height: 20px; }
.pcp-auth-provider small { display: block; color: var(--pcp-muted); font-size: .68rem; font-weight: 650; }
.pcp-auth-provider.is-disabled { flex-direction: column; background: var(--pcp-paper); color: var(--pcp-muted) !important; cursor: not-allowed; }
.pcp-auth-divider { display: flex; align-items: center; gap: 10px; margin: 15px 0; color: var(--pcp-muted); font-size: .78rem; }
.pcp-auth-divider::before,
.pcp-auth-divider::after { height: 1px; flex: 1; background: var(--pcp-line); content: ''; }
.pcp-auth form { display: grid; min-width: 0; gap: 11px; margin-bottom: 12px; }
.pcp-auth form p { margin: 0; }
.pcp-auth form label { display: block; margin-bottom: 5px; font-size: .82rem; font-weight: 800; }
.pcp-auth form input[type="text"],
.pcp-auth form input[type="email"],
.pcp-auth form input[type="password"] { width: 100%; min-width: 0; min-height: 50px; padding: 11px 14px; border: 1px solid rgba(13, 27, 53, .16); border-radius: 14px; background: #fff; color: var(--pcp-ink); font: inherit; font-size: 16px; box-shadow: inset 0 1px 2px rgba(13, 27, 53, .035); }
.pcp-auth form input:focus { outline: 3px solid rgba(201, 151, 50, .2); border-color: var(--pcp-gold); }
.pcp-auth .login-remember label { display: inline-flex; min-height: 32px; align-items: center; gap: 8px; margin: 0; font-weight: 650; cursor: pointer; }
.pcp-auth .login-remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--pcp-navy); }
.pcp-auth .login-submit input { width: 100%; min-height: 50px; border: 1px solid var(--pcp-gold); border-radius: 999px; background: linear-gradient(180deg, #d3a74b, var(--pcp-gold)); box-shadow: inset 0 1px 0 rgba(255,255,255,.48), 0 10px 24px -10px rgba(196,146,42,.62); color: var(--pcp-navy-deep); font: inherit; font-weight: 800; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.pcp-auth .login-submit input:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.52), 0 14px 28px -10px rgba(196,146,42,.7); transform: translateY(-1px); }
.pcp-auth .login-submit .pcp-button { width: 100%; }
.pcp-password-reset,
.pcp-registration { margin-top: 10px; overflow: hidden; border: 1px solid var(--pcp-line); border-radius: 14px; background: var(--pcp-paper); }
.pcp-password-reset > summary,
.pcp-registration > summary { display: grid; min-height: 48px; grid-template-columns: minmax(0, 1fr) 26px; gap: 10px; align-items: center; padding: 11px 13px; color: var(--pcp-navy); font-size: .82rem; font-weight: 800; line-height: 1.35; cursor: pointer; list-style: none; touch-action: manipulation; }
.pcp-password-reset > summary::-webkit-details-marker,
.pcp-registration > summary::-webkit-details-marker { display: none; }
.pcp-password-reset > summary::after,
.pcp-registration > summary::after { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--pcp-line); content: '+'; color: var(--pcp-navy); font-size: 1rem; }
.pcp-password-reset[open] > summary,
.pcp-registration[open] > summary { border-bottom: 1px solid var(--pcp-line); background: #fff; }
.pcp-password-reset[open] > summary::after,
.pcp-registration[open] > summary::after { content: '−'; }
.pcp-password-reset__content,
.pcp-registration__content { padding: 13px; }
.pcp-password-reset__content > p,
.pcp-registration__content > p { margin: 0 0 13px; color: var(--pcp-muted); font-size: .88rem; }
.pcp-password-reset__form .pcp-button,
.pcp-registration__form .pcp-button { width: 100%; border-color: var(--pcp-gold); }
.pcp-registration__note { margin: 0 !important; font-size: .76rem !important; line-height: 1.5 !important; }
.pcp-registration__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

.pcp-password-page {
    position: relative;
    max-width: 680px;
    margin: 0 auto;
    overflow: hidden;
    padding: clamp(30px, 6vw, 52px);
    background:
        radial-gradient(circle at 96% 0, rgba(196, 146, 42, .2), transparent 34%),
        linear-gradient(145deg, #fff 0%, #fff 68%, var(--pcp-paper) 100%);
}
.pcp-password-page::before { position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--pcp-gold-dark), var(--pcp-gold), #dfbc6a); content: ''; }
.pcp-password-page > p { margin: 12px 0 0; color: var(--pcp-muted); }
.pcp-password-page .pcp-message { margin-top: 20px; }
.pcp-password-page .pcp-password-reset__form { display: grid; gap: 13px; margin: 24px 0 18px; }
.pcp-password-page .pcp-password-reset__form p { margin: 0; }
.pcp-password-page .pcp-password-reset__form label { display: block; margin-bottom: 5px; font-size: .82rem; font-weight: 800; }
.pcp-password-page .pcp-password-reset__form input[type="email"] { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid var(--pcp-line); border-radius: 14px; background: #fff; color: var(--pcp-ink); font: inherit; box-shadow: inset 0 1px 2px rgba(13, 27, 53, .035); }
.pcp-password-page .pcp-password-reset__form input:focus { outline: 3px solid rgba(201, 151, 50, .2); border-color: var(--pcp-gold); }

.pcp-portal-settings { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 22px; margin-top: 54px; }
.pcp-account-security > p { color: var(--pcp-muted); }
.pcp-auth-methods { display: grid; gap: 8px; margin: 20px 0; }
.pcp-auth-methods > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--pcp-line); border-radius: 12px; }
.pcp-auth-methods > span small { color: #17663a; font-weight: 750; text-align: right; }
.pcp-auth-methods > span.is-disabled { background: var(--pcp-paper); color: var(--pcp-muted); }
.pcp-auth-methods > span.is-disabled small { color: var(--pcp-muted); }
.pcp-message { margin: 0 0 18px; padding: 12px 14px; border-radius: 12px; font-weight: 700; }
.pcp-message p { margin: 0; }
.pcp-message--success { background: #e8f6ed; color: #17663a; }
.pcp-message--error { background: #fdecec; color: #962d2d; }
.pcp-package { gap: 3px; flex-direction: column; align-items: flex-end; }
.pcp-package small { color: var(--pcp-muted); font-size: .68rem; font-weight: 650; }

.pcp-verification { max-width: 900px; }
.pcp-verify-card { padding: clamp(28px, 6vw, 64px); border-top: 6px solid var(--pcp-line); }
.pcp-verify-card--valid { border-top-color: #23834b; }
.pcp-verify-card--expired { border-top-color: #c58b16; }
.pcp-verify-card--revoked,
.pcp-verify-card--invalid { border-top-color: #b43c3c; }
.pcp-verify-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pcp-verify-details { display: grid; gap: 0; margin: 36px 0; }
.pcp-verify-details > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 22px; padding: 18px 0; border-top: 1px solid var(--pcp-line); }
.pcp-verify-details dt { color: var(--pcp-muted); font-weight: 700; }
.pcp-verify-details dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }

.pcp-lookup { max-width: 900px; }
.pcp-lookup-card { padding: clamp(28px, 6vw, 64px); border-top: 6px solid var(--pcp-gold); }
.pcp-lookup-lead { max-width: 680px; margin: 18px 0 0; color: var(--pcp-muted); }
.pcp-lookup-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; margin-top: 30px; }
.pcp-lookup-form label { grid-column: 1 / -1; font-weight: 800; }
.pcp-lookup-form input {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid var(--pcp-line);
    border-radius: 12px;
    background: #fff;
    color: var(--pcp-ink);
    font: 600 16px/1.4 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    text-transform: uppercase;
}
.pcp-lookup-form input:focus { outline: 3px solid rgba(201, 151, 50, .2); border-color: var(--pcp-gold); }
.pcp-lookup-help { grid-column: 1 / -1; margin: 0; color: var(--pcp-muted); font-size: .88rem; }
.pcp-lookup-error { margin: 18px 0 0; padding: 13px 15px; border-radius: 12px; background: #fdecec; color: #962d2d; font-weight: 700; }
.pcp-lookup-customer { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid var(--pcp-line); }

.pcp-directory { max-width: 1180px; }
.pcp-directory-head { max-width: 820px; margin-bottom: 38px; }
.pcp-directory-head p { max-width: 700px; margin: 16px 0 0; color: var(--pcp-muted); font-size: 1.05rem; }
.pcp-directory-count { margin: 0 0 18px; color: var(--pcp-muted); font-weight: 700; }
.pcp-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.pcp-directory-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.pcp-directory-card--featured { border-color: rgba(196, 146, 42, .48); box-shadow: 0 18px 48px rgba(13, 27, 53, .11), inset 0 3px 0 var(--pcp-gold); }
.pcp-directory-card-head { display: flex; width: 100%; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 14px; margin-bottom: 20px; }
.pcp-directory-featured { display: inline-flex; min-height: 28px; align-items: center; padding: 5px 9px; border: 1px solid rgba(196, 146, 42, .32); border-radius: 999px; background: var(--pcp-gold-pale); color: var(--pcp-gold-text); font-size: .68rem; font-weight: 800; }
.pcp-directory-level { color: var(--pcp-gold); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pcp-directory-card h2 { font-size: clamp(1.55rem, 3vw, 2.15rem); overflow-wrap: anywhere; }
.pcp-directory-location { margin: 8px 0 24px; color: var(--pcp-muted); font-weight: 650; }
.pcp-directory-details { width: 100%; margin: 0 0 22px; }
.pcp-directory-details > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 11px 0; border-top: 1px solid var(--pcp-line); }
.pcp-directory-details dt { color: var(--pcp-muted); font-weight: 700; }
.pcp-directory-details dd { min-width: 0; margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.pcp-directory-details code { font-size: .78rem; }
.pcp-directory-services { width: 100%; margin: 0 0 24px; padding: 16px; border-radius: 14px; background: #f6f7f9; }
.pcp-directory-services strong { display: block; margin-bottom: 7px; }
.pcp-directory-services ul { margin: 0; padding-left: 20px; color: var(--pcp-muted); }
.pcp-directory-card > .pcp-button { margin-top: auto; }
.pcp-directory-empty { max-width: 760px; }
.pcp-directory-empty p { margin-bottom: 0; color: var(--pcp-muted); }

@media (max-width: 920px) {
    .pcp-login-shell { width: min(calc(100% - 32px), 720px); padding-top: 132px; padding-bottom: 54px; }
    .pcp-login {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "card"
            "brand"
            "title"
            "lead"
            "features";
        gap: 18px;
        padding: 22px;
    }
    .pcp-login-card { width: 100%; max-width: 520px; justify-self: center; }
    .pcp-login-brand { margin-top: 12px; }
    .pcp-login-title,
    .pcp-login-lead { max-width: 620px; }
}

@media (max-width: 720px) {
    .pcp-platform { width: min(calc(100% - 24px), 1120px); padding: 118px 0 52px; font-size: 15px; }
    .pcp-login-shell { padding-top: 132px; }
    .pcp-platform h1 { font-size: clamp(2rem, 10vw, 2.75rem); }
    .pcp-platform h2 { font-size: clamp(1.55rem, 7vw, 2.15rem); }
    .pcp-brand-lockup { margin-bottom: 22px; font-size: 1.2rem; }
    .pcp-brand-lockup img { width: 52px; height: 52px; }
    .pcp-portal-head,
    .pcp-verify-status { display: grid; }
    .pcp-portal-head { padding: 24px 20px; border-radius: 24px; }
    .pcp-platform:not(.pcp-login-shell) .pcp-brand-lockup { display: none; }
    .pcp-actions { margin-top: 18px; }
    .pcp-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pcp-kpi-card { padding: 18px; }
    .pcp-account-head { align-items: flex-start; flex-direction: column; }
    .pcp-grid { grid-template-columns: 1fr; }
    .pcp-location-head { display: grid; }
    .pcp-cert-head { display: grid; }
    .pcp-readiness { justify-self: start; white-space: normal; }
    .pcp-status { justify-self: start; }
    .pcp-progress__item > small { font-size: .7rem; }
    .pcp-login { grid-template-columns: minmax(0, 1fr); gap: 17px; }
    .pcp-login-title { font-size: clamp(2rem, 10vw, 2.75rem) !important; }
    .pcp-login-features { grid-template-columns: 1fr; }
    .pcp-auth-providers,
    .pcp-portal-settings { grid-template-columns: 1fr; }
    .pcp-package { align-items: flex-start; white-space: normal; }
    .pcp-directory-grid { grid-template-columns: 1fr; }
    .pcp-panel { padding: 22px; border-radius: 22px; }
    .pcp-verify-details > div { grid-template-columns: 1fr; gap: 6px; }
    .pcp-share-grid { grid-template-columns: 1fr; padding: 16px; }
    .pcp-share-qr { justify-items: center; text-align: center; }
    .pcp-share-embed textarea { min-height: 170px; font-size: 16px; }
    .pcp-copy-button { width: 100%; }
    .pcp-lookup-form { grid-template-columns: 1fr; }
    .pcp-lookup-form .pcp-button { width: 100%; }
    .pcp-directory-details > div { grid-template-columns: 1fr; gap: 4px; }
    .pcp-directory-card > .pcp-button { width: 100%; }
}

@media (max-width: 420px) {
    .pcp-kpi-grid { gap: 10px; }
    .pcp-kpi-card { padding: 15px; }
    .pcp-cert-glance__item { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 13px; }
    .pcp-cert-glance__number { width: 28px; height: 28px; }
    .pcp-cert-details > summary { padding: 12px 13px; }
    .pcp-cert-details__content { padding: 14px 13px; }
    .pcp-progress__item { gap: 5px; }
    .pcp-progress__item > span { width: 26px; height: 26px; font-size: .68rem; }
    .pcp-progress__item::before { top: 12px; }
    .pcp-progress__item > small { max-width: 100%; font-size: .6rem; line-height: 1.2; hyphens: auto; overflow-wrap: normal; }
    .pcp-login { padding: 12px; border-radius: 25px; }
    .pcp-login-card { padding: 22px 18px 20px; border-radius: 20px; }
    .pcp-login-brand { align-items: flex-start; flex-direction: column; gap: 10px; padding: 4px 6px 0; }
    .pcp-login-brand .pcp-brand-lockup { margin: 0; }
    .pcp-login-brand .pcp-kicker { padding: 0; border-left: 0; }
    .pcp-login-title,
    .pcp-login-lead,
    .pcp-login-features { margin-right: 6px; margin-left: 6px; }
    .pcp-login-features article { padding: 13px; }
    .pcp-auth > h2 { font-size: 1.35rem; }
}

@media (max-width: 320px) {
    .pcp-kpi-grid { grid-template-columns: 1fr; }
}

/* WordPress administration: same local PrimoCheck design, scoped to the hub. */
body.wp-admin .pcp-hub {
    --pc-ink: #191919;
    --pc-navy: #0d1b35;
    --pc-copy: #374151;
    --pc-muted: #667085;
    --pc-gold: #c4922a;
    --pc-paper: #f3f5f2;
    --pc-line: rgba(13, 27, 53, .11);
    max-width: 1460px;
    color: var(--pc-copy);
    font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.wp-admin .pcp-hub .pcp-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 22px;
    color: var(--pc-ink);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1;
    text-decoration: none;
}

body.wp-admin .pcp-hub .pcp-brand-lockup img { display: block; width: 54px; height: 54px; object-fit: contain; }
body.wp-admin .pcp-hub .pcp-hub-hero {
    align-items: center;
    overflow: hidden;
    border-color: var(--pc-line);
    background:
        radial-gradient(circle at 89% 2%, rgba(196, 146, 42, .27), transparent 31%),
        linear-gradient(140deg, #fff 0%, #fff 58%, var(--pc-paper) 100%);
    box-shadow: 0 1px 2px rgba(13, 27, 53, .04), 0 22px 55px -24px rgba(13, 27, 53, .24);
}
body.wp-admin .pcp-hub .pcp-hub-eyebrow,
body.wp-admin .pcp-hub .pcp-hub-kpis span,
body.wp-admin .pcp-hub .pcp-hub-kpis small,
body.wp-admin .pcp-hub .pcp-hub-panel-head span,
body.wp-admin .pcp-hub .pcp-hub-table th,
body.wp-admin .pcp-hub .pcp-hub-table small,
body.wp-admin .pcp-hub .pcp-hub-quick span,
body.wp-admin .pcp-hub .pcp-hub-flow span { color: var(--pc-muted); }
body.wp-admin .pcp-hub h1 { color: var(--pc-ink); font-weight: 600; letter-spacing: -.045em; }
body.wp-admin .pcp-hub .pcp-hub-panel,
body.wp-admin .pcp-hub .pcp-hub-kpis article {
    border-color: var(--pc-line);
    box-shadow: 0 1px 2px rgba(13, 27, 53, .035), 0 16px 40px -20px rgba(13, 27, 53, .18);
}
body.wp-admin .pcp-hub .pcp-hub-quick a,
body.wp-admin .pcp-hub .pcp-hub-flow { background: var(--pc-paper); }
body.wp-admin .pcp-hub .button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 5px 16px;
    border-color: rgba(13, 27, 53, .14);
    border-radius: 999px;
    background: #fff;
    color: var(--pc-navy);
    font-family: inherit;
    font-weight: 700;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.wp-admin .pcp-hub .button:hover { border-color: rgba(13, 27, 53, .25); box-shadow: 0 9px 22px -14px rgba(13, 27, 53, .34); transform: translateY(-1px); }
body.wp-admin .pcp-hub .button-primary,
body.wp-admin .pcp-hub .button-primary:hover,
body.wp-admin .pcp-hub .button-primary:focus {
    border-color: var(--pc-gold);
    background: linear-gradient(180deg, #d3a74b, var(--pc-gold));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48), 0 10px 24px -12px rgba(196, 146, 42, .65);
    color: var(--pc-navy);
}
body.wp-admin .pcp-hub a:focus-visible,
body.wp-admin .pcp-hub button:focus-visible { outline: 3px solid rgba(196, 146, 42, .42); outline-offset: 2px; }
body.wp-admin .pcp-hub .pcp-hub-customer {
    background: radial-gradient(circle at 95% 0, rgba(196, 146, 42, .25), transparent 35%), linear-gradient(150deg, var(--pc-navy), #14274e);
}
body.wp-admin .pcp-hub .pcp-hub-progress span { background: linear-gradient(90deg, #a67820, var(--pc-gold)); }

/* The native WordPress screens stay familiar, but share one PrimoCheck shell. */
body.wp-admin .pcp-admin-page,
body.wp-admin.post-type-pcp_account .wrap,
body.wp-admin.post-type-pcp_location .wrap,
body.wp-admin.post-type-pcp_cert .wrap {
    --pcp-admin-navy: #0d1b35;
    --pcp-admin-gold: #c4922a;
    --pcp-admin-paper: #f3f5f2;
    --pcp-admin-ink: #191919;
    --pcp-admin-muted: #667085;
    --pcp-admin-line: rgba(13, 27, 53, .11);
    color: #374151;
    font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body.wp-admin .pcp-admin-page { max-width: 1180px; margin-top: 22px; }
body.wp-admin .pcp-admin-page .pcp-brand-lockup { color: var(--pcp-admin-ink) !important; }
body.wp-admin .pcp-admin-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    padding: 30px 34px;
    border: 1px solid var(--pcp-admin-line);
    border-radius: 26px;
    background: radial-gradient(circle at 92% 0, rgba(196, 146, 42, .25), transparent 32%), linear-gradient(145deg, #fff, var(--pcp-admin-paper));
    box-shadow: 0 1px 2px rgba(13, 27, 53, .04), 0 20px 48px -24px rgba(13, 27, 53, .22);
}
body.wp-admin .pcp-admin-page-head > div { min-width: 0; }
body.wp-admin .pcp-admin-page-head .pcp-brand-lockup { margin-bottom: 18px; }
body.wp-admin .pcp-admin-page-head > div > span {
    display: block;
    margin-bottom: 7px;
    color: #80590d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.wp-admin .pcp-admin-page-head h1 { margin: 0; color: var(--pcp-admin-ink); font-size: clamp(30px, 4vw, 46px); font-weight: 650; line-height: 1.05; letter-spacing: -.045em; }
body.wp-admin .pcp-admin-page-head p { max-width: 760px; margin: 10px 0 0; color: var(--pcp-admin-muted); font-size: 15px; }
body.wp-admin .pcp-admin-page .button,
body.wp-admin .pcp-admin-page-head .button { min-height: 40px; padding: 4px 16px; border-radius: 999px; font-weight: 700; }
body.wp-admin .pcp-admin-safe-note {
    margin: 0 0 20px;
    padding: 15px 18px;
    border: 1px solid rgba(196, 146, 42, .26);
    border-left: 4px solid var(--pcp-admin-gold);
    border-radius: 0 15px 15px 0;
    background: #fff8e8;
    color: #68490d;
}
body.wp-admin .pcp-admin-page > h2,
body.wp-admin .pcp-admin-page > form,
body.wp-admin .pcp-admin-page > table,
body.wp-admin .pcp-admin-page > hr + h2,
body.wp-admin .pcp-admin-page > h2 + form {
    max-width: 1040px;
}
body.wp-admin .pcp-admin-page .form-table,
body.wp-admin .pcp-admin-page pre {
    overflow: hidden;
    border: 1px solid var(--pcp-admin-line) !important;
    border-radius: 18px;
    background: #fff !important;
    box-shadow: 0 12px 36px -24px rgba(13, 27, 53, .22);
}
body.wp-admin .pcp-admin-page .form-table th,
body.wp-admin .pcp-admin-page .form-table td { padding: 20px; }
body.wp-admin .pcp-admin-page input[type='text'],
body.wp-admin .pcp-admin-page input[type='number'],
body.wp-admin .pcp-admin-page select { min-height: 42px; border-color: rgba(13, 27, 53, .16); border-radius: 11px; }

.pcp-admin-context-nav {
    display: flex;
    max-width: 1460px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 14px 20px 18px 0;
    padding: 12px 15px;
    border: 1px solid rgba(13, 27, 53, .11);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff, #f3f5f2);
    box-shadow: 0 12px 34px -25px rgba(13, 27, 53, .28);
    font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.pcp-admin-context-home { display: flex; min-width: 210px; align-items: center; gap: 10px; color: #191919; text-decoration: none; }
.pcp-admin-context-home img { display: block; width: 42px; height: 42px; object-fit: contain; }
.pcp-admin-context-home small,
.pcp-admin-context-home strong { display: block; }
.pcp-admin-context-home small { color: #667085; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pcp-admin-context-home strong { margin-top: 2px; font-size: 15px; }
.pcp-admin-context-links { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
.pcp-admin-context-links a { padding: 8px 11px; border-radius: 999px; color: #374151; font-weight: 700; text-decoration: none; }
.pcp-admin-context-links a:hover,
.pcp-admin-context-links a[aria-current='page'] { background: rgba(196, 146, 42, .17); color: #0d1b35; }

body.wp-admin.post-type-pcp_account .wp-list-table,
body.wp-admin.post-type-pcp_location .wp-list-table,
body.wp-admin.post-type-pcp_cert .wp-list-table,
body.wp-admin.post-type-pcp_account #poststuff,
body.wp-admin.post-type-pcp_location #poststuff,
body.wp-admin.post-type-pcp_cert #poststuff {
    overflow: hidden;
    border: 1px solid rgba(13, 27, 53, .11);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px -26px rgba(13, 27, 53, .24);
}
body.wp-admin.post-type-pcp_account .page-title-action,
body.wp-admin.post-type-pcp_location .page-title-action,
body.wp-admin.post-type-pcp_cert .page-title-action { border-color: #c4922a; border-radius: 999px; background: #c4922a; color: #0d1b35; font-weight: 750; }

/* WordPress Core recovery/activation screen; shown only on reset actions. */
body.login-action-lostpassword,
body.login-action-rp,
body.login-action-resetpass,
body.login-action-retrievepassword {
    background:
        radial-gradient(circle at 84% 10%, rgba(196, 146, 42, .19), transparent 28%),
        #f3f5f2;
    color: #374151;
    font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}
body.login-action-lostpassword #login,
body.login-action-rp #login,
body.login-action-resetpass #login,
body.login-action-retrievepassword #login { width: min(410px, calc(100% - 32px)); padding: 54px 0 32px; }
body.login-action-lostpassword #login h1 a,
body.login-action-rp #login h1 a,
body.login-action-resetpass #login h1 a,
body.login-action-retrievepassword #login h1 a {
    width: 108px;
    height: 108px;
    margin-bottom: 20px;
    background-image: url('../images/pc-logo.png');
    background-position: center;
    background-size: contain;
}
body.login-action-lostpassword #lostpasswordform,
body.login-action-rp #resetpassform,
body.login-action-resetpass #resetpassform,
body.login-action-retrievepassword #lostpasswordform {
    overflow: hidden;
    margin-top: 0;
    padding: 30px;
    border: 1px solid rgba(13, 27, 53, .11);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(13, 27, 53, .04), 0 22px 50px -22px rgba(13, 27, 53, .25);
}
body.login-action-lostpassword #login input[type='text'],
body.login-action-rp #login input[type='text'],
body.login-action-rp #login input[type='password'],
body.login-action-resetpass #login input[type='text'],
body.login-action-resetpass #login input[type='password'],
body.login-action-retrievepassword #login input[type='text'] {
    min-height: 50px;
    border: 1px solid rgba(13, 27, 53, .15);
    border-radius: 14px;
    box-shadow: inset 0 1px 2px rgba(13, 27, 53, .04);
    font-family: inherit;
    font-size: 16px;
}
body.login-action-lostpassword #wp-submit,
body.login-action-rp #wp-submit,
body.login-action-resetpass #wp-submit,
body.login-action-retrievepassword #wp-submit {
    min-height: 44px;
    padding: 0 20px;
    border-color: #c4922a;
    border-radius: 999px;
    background: linear-gradient(180deg, #d3a74b, #c4922a);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 10px 24px -12px rgba(196,146,42,.65);
    color: #0d1b35;
    font-family: inherit;
    font-weight: 700;
    text-shadow: none;
}
body.login-action-lostpassword #nav a,
body.login-action-lostpassword #backtoblog a,
body.login-action-rp #nav a,
body.login-action-rp #backtoblog a,
body.login-action-resetpass #nav a,
body.login-action-resetpass #backtoblog a,
body.login-action-retrievepassword #nav a,
body.login-action-retrievepassword #backtoblog a { color: #14274e; font-weight: 700; }

@media (max-width: 782px) {
    body.wp-admin .pcp-hub .pcp-brand-lockup { margin-bottom: 18px; }
    body.wp-admin .pcp-hub .pcp-hub-hero { align-items: flex-start; }
    body.wp-admin .pcp-admin-page { margin-right: 10px; }
    body.wp-admin .pcp-admin-page-head { align-items: flex-start; flex-direction: column; padding: 24px 20px; border-radius: 22px; }
    body.wp-admin .pcp-admin-page-head > .button { width: 100%; }
    body.wp-admin .pcp-admin-page .form-table th,
    body.wp-admin .pcp-admin-page .form-table td { display: block; width: auto; padding: 14px 16px; }
    .pcp-admin-context-nav { align-items: flex-start; flex-direction: column; margin-right: 10px; }
    .pcp-admin-context-links { width: 100%; justify-content: flex-start; }
    .pcp-admin-context-links a { min-height: 40px; }
}
