/* ============================================================
   Premit Psychometric Assessment — Public Stylesheet
   Theme tokens, then components. Mobile-first.
   ============================================================ */

:root {
    --pp-primary:        #6366f1;
    --pp-primary-dark:   #4f46e5;
    --pp-secondary:      #8b5cf6;
    --pp-success:        #10b981;
    --pp-warning:        #f59e0b;
    --pp-danger:         #ef4444;
    --pp-text:           #1f2937;
    --pp-text-muted:     #6b7280;
    --pp-border:         #e5e7eb;
    --pp-bg:             #ffffff;
    --pp-bg-soft:        #f9fafb;
    --pp-radius:         12px;
    --pp-radius-sm:      8px;
    --pp-shadow:         0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04);
    --pp-shadow-lg:      0 4px 24px rgba(0,0,0,.08);
}

[x-cloak] { display: none !important; }

.pp-test-player,
.pp-results,
.pp-pricing,
.pp-dashboard {
    max-width: 1120px;
    margin: 2rem auto;
    padding: 1rem;
    color: var(--pp-text);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
}
/* Test player keeps a slightly narrower reading width for the question UI */
.pp-test-player { max-width: 920px; }
@media (max-width: 1180px) {
    .pp-test-player, .pp-results, .pp-pricing, .pp-dashboard { max-width: calc(100% - 2rem); }
}

/* ----------- Buttons ------------------------------------- */
.pp-btn {
    display: inline-block;
    padding: 0.7rem 1.4rem;
    border: none;
    border-radius: var(--pp-radius-sm);
    background: var(--pp-primary);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    line-height: 1.3;
}
.pp-btn:hover:not(:disabled) {
    background: var(--pp-primary-dark);
    transform: translateY(-1px);
    box-shadow: var(--pp-shadow);
}
.pp-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.pp-btn-primary   { background: var(--pp-primary); }
.pp-btn-secondary { background: #6b7280; }
.pp-btn-secondary:hover:not(:disabled) { background: #4b5563; }
.pp-btn-link {
    background: none;
    color: var(--pp-primary);
    padding: 0.3rem 0.6rem;
    text-decoration: underline;
}
.pp-btn-lg { padding: 1rem 2rem; font-size: 1.05rem; }
.pp-btn-sm { padding: 0.4rem 0.9rem; font-size: 0.85rem; }
.pp-btn-block { display: block; width: 100%; }

/* ----------- Highlighted CTA (Buy Now / Start Test / Download PDF) ----- */
/* Adds gradient + soft glow + subtle pulse so primary actions feel obvious. */
.pp-btn-cta {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 60%, #d4a017 100%);
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(22, 163, 74, 0.35), 0 0 0 0 rgba(212, 160, 23, 0.45);
    animation: pp-cta-glow 2.6s ease-in-out infinite;
    position: relative;
    overflow: hidden;
}
.pp-btn-cta:hover:not(:disabled) {
    background: linear-gradient(135deg, #15803d 0%, #166534 60%, #b78214 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(22, 163, 74, 0.45), 0 0 0 4px rgba(212, 160, 23, 0.18);
    animation-play-state: paused;
}
.pp-btn-cta::after {
    content: '';
    position: absolute; top: 0; left: -75%;
    width: 50%; height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
    transform: skewX(-20deg);
    animation: pp-cta-shimmer 3.2s ease-in-out infinite;
    pointer-events: none;
}
@keyframes pp-cta-glow {
    0%, 100% { box-shadow: 0 6px 18px rgba(22, 163, 74, 0.35), 0 0 0 0 rgba(212, 160, 23, 0.45); }
    50%      { box-shadow: 0 8px 22px rgba(22, 163, 74, 0.45), 0 0 0 8px rgba(212, 160, 23, 0.10); }
}
@keyframes pp-cta-shimmer {
    0%        { left: -75%; }
    55%, 100% { left: 130%; }
}
@media (prefers-reduced-motion: reduce) {
    .pp-btn-cta { animation: none; }
    .pp-btn-cta::after { display: none; }
}

/* ----------- Logout button (header pill) ------------------------------ */
.pp-btn-logout {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.45rem 0.95rem;
    background: #fff;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.18s;
}
.pp-btn-logout:hover {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
    transform: translateY(-1px);
}
.pp-btn-logout::before { content: '↩'; font-weight: 700; }

/* ----------- Test Header --------------------------------- */
.pp-test-header {
    background: var(--pp-bg);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 1.2rem 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--pp-shadow);
    position: sticky; top: 1rem; z-index: 10;
}
.pp-test-title h2 { margin: 0; font-size: 1.4rem; color: var(--pp-primary-dark); }
.pp-test-subtitle { margin: 0.3rem 0 1rem; color: var(--pp-text-muted); font-size: 0.9rem; }

.pp-progress-wrap {
    display: flex; align-items: center; gap: 0.8rem;
}
.pp-progress-bar {
    flex: 1; height: 10px; background: var(--pp-border);
    border-radius: 99px; overflow: hidden;
}
.pp-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--pp-primary), var(--pp-secondary));
    transition: width 0.3s ease-out;
}
.pp-progress-text { font-size: 0.85rem; color: var(--pp-text-muted); white-space: nowrap; }

/* ----------- Banners ------------------------------------- */
.pp-resume-notice {
    background: #ecfdf5; border: 1px solid #6ee7b7;
    color: #065f46; padding: 0.8rem 1rem; border-radius: var(--pp-radius-sm);
    margin-bottom: 1rem; display: flex; justify-content: space-between; align-items: center;
}
.pp-timer-banner {
    background: #fffbeb; border: 1px solid #fcd34d;
    color: #92400e; padding: 0.7rem 1rem; border-radius: var(--pp-radius-sm);
    margin-bottom: 1rem; font-size: 0.9rem;
}
.pp-timer-low { color: var(--pp-danger) !important; animation: pp-pulse 1s infinite; }
@keyframes pp-pulse { 50% { opacity: 0.5; } }

/* ----------- Question Card ------------------------------- */
.pp-question-card {
    display: flex;
    gap: 1rem;
    background: var(--pp-bg);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 1.5rem;
    margin-bottom: 1rem;
    transition: border-color 0.2s, transform 0.1s;
}
.pp-question-card.pp-current { border-color: var(--pp-primary); }
.pp-question-card.pp-answered {
    background: var(--pp-bg-soft);
    border-color: var(--pp-success);
}
.pp-question-number {
    flex-shrink: 0;
    background: var(--pp-primary);
    color: #fff;
    width: 38px; height: 38px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.85rem; font-weight: 700;
}
.pp-question-card.pp-answered .pp-question-number { background: var(--pp-success); }
.pp-question-body { flex: 1; }
.pp-question-text {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--pp-text);
}

/* ----------- Options ------------------------------------- */
.pp-options { display: flex; flex-direction: column; gap: 0.5rem; }
.pp-option {
    display: flex; align-items: center; gap: 0.8rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    cursor: pointer;
    transition: all 0.15s;
    background: #fff;
}
.pp-option:hover { border-color: var(--pp-primary); background: #f5f3ff; }
.pp-option input[type="radio"] { accent-color: var(--pp-primary); }
.pp-option-selected {
    background: #eef2ff !important;
    border-color: var(--pp-primary) !important;
    box-shadow: 0 0 0 2px rgba(99,102,241,0.2);
}
.pp-option-key {
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border);
    border-radius: 4px;
    padding: 0 0.5rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--pp-text-muted);
}
.pp-option-selected .pp-option-key { background: var(--pp-primary); color: #fff; border-color: var(--pp-primary); }
.pp-option-text { flex: 1; }

/* ----------- Navigation ---------------------------------- */
.pp-nav, .pp-finalize {
    text-align: center;
    padding: 2rem 1rem;
    margin-top: 1rem;
    background: var(--pp-bg);
    border-radius: var(--pp-radius);
    border: 1px solid var(--pp-border);
}
.pp-nav-hint { margin-top: 0.5rem; font-size: 0.85rem; color: var(--pp-text-muted); }
.pp-finalize h3 { color: var(--pp-success); margin-top: 0; }

/* ----------- Loading / Spinner --------------------------- */
.pp-loading { text-align: center; padding: 3rem 1rem; color: var(--pp-text-muted); }
.pp-spinner {
    width: 36px; height: 36px;
    margin: 0 auto 1rem;
    border: 3px solid var(--pp-border);
    border-top-color: var(--pp-primary);
    border-radius: 50%;
    animation: pp-spin 0.8s linear infinite;
}
@keyframes pp-spin { to { transform: rotate(360deg); } }

/* ----------- Errors -------------------------------------- */
.pp-error {
    background: #fef2f2; border: 1px solid #fecaca;
    color: #991b1b; padding: 0.8rem 1rem;
    border-radius: var(--pp-radius-sm);
    margin: 1rem 0;
}

.pp-notice {
    background: #fef3c7;
    border: 1px solid var(--pp-warning);
    color: #78350f;
    padding: 1rem 1.2rem;
    border-radius: var(--pp-radius);
}
.pp-notice a { color: var(--pp-primary-dark); font-weight: 600; }

/* ============================================================
   Results Page
   ============================================================ */

.pp-result-hero {
    background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
    color: #fff;
    padding: 2.5rem 1.5rem;
    border-radius: var(--pp-radius);
    text-align: center;
    margin-bottom: 2rem;
}
.pp-result-hero h1 { margin: 0 0 0.4rem; font-size: 1.8rem; }
.pp-result-meta { opacity: 0.9; margin: 0 0 1.5rem; }
.pp-result-codes {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem; margin-bottom: 1.5rem;
}
.pp-code-card {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(8px);
    padding: 1rem;
    border-radius: var(--pp-radius-sm);
}
.pp-code-label { display: block; font-size: 0.8rem; opacity: 0.85; margin-bottom: 0.3rem; }
.pp-code-value { font-size: 1.4rem; font-weight: 700; }
.pp-result-hero-actions { display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap; }
.pp-btn-light { background: rgba(255,255,255,0.16); color:#fff; border:1px solid rgba(255,255,255,0.3); }
.pp-btn-light:hover { background: rgba(255,255,255,0.24); }
.pp-section-headline { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.pp-inline-pdf-link { font-weight:700; color: var(--pp-primary); text-decoration:none; }
.pp-inline-pdf-link:hover { text-decoration:underline; }
.pp-bestfit-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:1rem; }
.pp-bestfit-card { display:flex; gap:1rem; align-items:flex-start; padding:1rem; border:1px solid var(--pp-border); border-radius: var(--pp-radius); background: linear-gradient(180deg,#ffffff 0%,#f8fbff 100%); }
.pp-bestfit-media { flex:0 0 86px; }
.pp-bestfit-icon-img { width:86px; height:86px; object-fit:cover; border-radius:18px; border:1px solid var(--pp-border); background:#fff; }
.pp-bestfit-topline { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.45rem; }
.pp-bestfit-card h3 { margin:0 0 .35rem; font-size:1.05rem; color:var(--pp-primary-dark); }
.pp-bestfit-desc { margin:0; font-size:.92rem; color:var(--pp-text); }

.pp-result-section {
    background: var(--pp-bg);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.pp-result-section h2 {
    margin-top: 0; color: var(--pp-primary-dark);
    border-bottom: 2px solid var(--pp-bg-soft);
    padding-bottom: 0.6rem;
}
.pp-section-desc { color: var(--pp-text-muted); font-size: 0.95rem; margin-bottom: 1.2rem; }
.pp-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: center; }
@media (max-width: 600px) { .pp-grid-2 { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
    .pp-section-headline { align-items:flex-start; }
    .pp-career-card-detailed { grid-template-columns: 1fr; }
    .pp-career-media-col { text-align:left; }
    .pp-career-facts-grid { grid-template-columns: 1fr; }
    .pp-bestfit-card { flex-direction:column; }
}


/* Stream rows */
.pp-stream-list { display: flex; flex-direction: column; gap: 0.6rem; }
.pp-stream-row {
    display: grid;
    grid-template-columns: 1fr 2fr 60px;
    align-items: center; gap: 1rem;
    padding: 0.5rem 0.8rem;
    background: var(--pp-bg-soft);
    border-radius: var(--pp-radius-sm);
}
.pp-stream-name { font-weight: 600; }
.pp-stream-bar {
    height: 12px; background: var(--pp-border);
    border-radius: 99px; overflow: hidden;
}
.pp-stream-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--pp-success), var(--pp-primary));
}
.pp-stream-score { text-align: right; font-weight: 600; color: var(--pp-primary-dark); }

/* Career cards */
.pp-careers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.2rem;
}
.pp-career-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 1.2rem;
    transition: transform 0.15s, box-shadow 0.15s;
}
.pp-career-card:hover { transform: translateY(-2px); box-shadow: var(--pp-shadow-lg); }
.pp-career-header { display: flex; align-items: flex-start; gap: 0.6rem; margin-bottom: 0.5rem; }
.pp-career-rank {
    background: var(--pp-primary); color: #fff;
    padding: 0.2rem 0.5rem; border-radius: 4px;
    font-size: 0.8rem; font-weight: 700;
}
.pp-career-card h3 { margin: 0; flex: 1; font-size: 1.1rem; }
.pp-career-fit {
    padding: 0.2rem 0.6rem; border-radius: 99px;
    font-size: 0.8rem; font-weight: 600;
}
.pp-fit-high   { background: #d1fae5; color: #065f46; }
.pp-fit-medium { background: #fef3c7; color: #92400e; }
.pp-fit-low    { background: #fee2e2; color: #991b1b; }
.pp-career-stream { color: var(--pp-text-muted); font-size: 0.85rem; margin: 0 0 0.6rem; }
.pp-career-desc { font-size: 0.9rem; margin: 0 0 0.8rem; }
.pp-career-details summary { cursor: pointer; color: var(--pp-primary); font-size: 0.9rem; }
.pp-career-details dl { margin: 0.6rem 0 0; font-size: 0.85rem; }
.pp-career-details dt { font-weight: 600; margin-top: 0.4rem; color: var(--pp-text-muted); }
.pp-career-details dd { margin: 0.1rem 0 0; }
.pp-careers-grid-detailed { grid-template-columns: 1fr; }
.pp-career-card-detailed { display:grid; grid-template-columns: 110px 1fr; gap:1rem; align-items:start; }
.pp-career-media-col { text-align:center; }
.pp-career-image { width:86px; height:86px; object-fit:cover; border-radius:18px; border:1px solid var(--pp-border); background:#fff; box-shadow: var(--pp-shadow-sm); }
.pp-career-image-caption { margin-top:.4rem; font-size:.75rem; color:var(--pp-text-muted); }
.pp-career-content-col { min-width:0; }
.pp-career-meta-line { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.6rem; }
.pp-career-meta-pill { display:inline-flex; padding:.22rem .55rem; border-radius:999px; background:#fff7d6; color:#9a6a00; font-size:.75rem; font-weight:700; }
.pp-career-facts-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.8rem; margin-top:.9rem; }
.pp-career-fact { padding:.75rem .85rem; background: var(--pp-bg-soft); border:1px solid var(--pp-border); border-radius:12px; }
.pp-career-fact strong { display:block; margin-bottom:.25rem; color:var(--pp-primary-dark); font-size:.8rem; }
.pp-career-fact span { display:block; font-size:.9rem; color:var(--pp-text); }
.pp-career-fact-full { grid-column:1 / -1; }

.pp-result-cta {
    background: linear-gradient(135deg, #f0f9ff, #ede9fe);
    border-radius: var(--pp-radius);
    padding: 2rem 1.5rem;
    text-align: center;
}

/* ============================================================
   Pricing & Dashboard
   ============================================================ */
.pp-pricing-header { text-align: center; margin-bottom: 2rem; }
.pp-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}
.pp-plan-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 2rem 1.5rem;
    text-align: center;
    position: relative;
    transition: transform 0.2s;
}
.pp-plan-card:hover { transform: translateY(-4px); box-shadow: var(--pp-shadow-lg); }
.pp-plan-featured {
    border-color: var(--pp-primary);
    border-width: 2px;
    transform: scale(1.02);
}
.pp-plan-badge {
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    background: var(--pp-primary); color: #fff;
    padding: 0.25rem 0.9rem;
    border-radius: 99px; font-size: 0.75rem; font-weight: 600;
}
.pp-plan-price { margin: 1rem 0 1.5rem; }
.pp-currency { font-size: 1.2rem; vertical-align: top; }
.pp-amount   { font-size: 2.8rem; font-weight: 700; color: var(--pp-primary-dark); }
.pp-plan-features { list-style: none; padding: 0; margin: 0 0 1.5rem; text-align: left; }
.pp-plan-features li { padding: 0.4rem 0; border-bottom: 1px dashed var(--pp-border); font-size: 0.95rem; }
.pp-plan-features li:last-child { border-bottom: 0; }

/* Dashboard */
.pp-dash-header { margin-bottom: 2rem; }
.pp-dash-header-row {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 1rem; flex-wrap: wrap;
}
.pp-dash-header-text { flex: 1 1 320px; min-width: 0; }
.pp-dash-header-text h2 { margin: 0 0 0.25rem; }
.pp-dash-header-text p { margin: 0.25rem 0; }
.pp-dash-meta { color: var(--pp-text-muted); font-size: 0.92rem; }
.pp-dash-header-actions { flex: 0 0 auto; padding-top: 0.4rem; }
@media (max-width: 600px) {
    .pp-dash-header-row { flex-direction: column; align-items: stretch; }
    .pp-dash-header-actions { display: flex; }
}
.pp-dash-section { margin-bottom: 2rem; }
.pp-dash-section h3 { color: var(--pp-primary-dark); }
.pp-dash-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--pp-radius); overflow: hidden; box-shadow: var(--pp-shadow); }
.pp-dash-table th, .pp-dash-table td { padding: 0.8rem 1rem; text-align: left; border-bottom: 1px solid var(--pp-border); }
.pp-dash-table th { background: var(--pp-bg-soft); font-weight: 600; font-size: 0.9rem; }
.pp-dash-table tr:last-child td { border-bottom: 0; }

.pp-status {
    display: inline-block;
    padding: 0.2rem 0.7rem;
    border-radius: 99px;
    font-size: 0.8rem;
    font-weight: 600;
}
.pp-status-completed   { background: #d1fae5; color: #065f46; }
.pp-status-in_progress { background: #fef3c7; color: #92400e; }
.pp-status-abandoned   { background: #fee2e2; color: #991b1b; }
.pp-status-expired     { background: #e5e7eb; color: #374151; }
.pp-status-paid        { background: #d1fae5; color: #065f46; }

.pp-dash-empty {
    background: var(--pp-bg-soft);
    border: 2px dashed var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 3rem 1.5rem;
    text-align: center;
}
.pp-text-muted { color: var(--pp-text-muted); }

/* ----------- Mobile tweaks ------------------------------- */
@media (max-width: 600px) {
    .pp-test-header { position: static; }
    .pp-question-card { padding: 1rem; }
    .pp-question-text { font-size: 1rem; }
    .pp-result-hero { padding: 1.5rem 1rem; }
    .pp-result-hero h1 { font-size: 1.4rem; }
    .pp-code-value { font-size: 1.2rem; }
}

/* ============================================================
   Auth (Register / Login)
   ============================================================ */
.pp-auth-wrap {
    max-width: 480px;
    margin: 2.5rem auto;
    padding: 1rem;
}
.pp-auth-card {
    background: var(--pp-bg);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 2rem 1.8rem;
    box-shadow: var(--pp-shadow-lg);
}
.pp-auth-header {
    text-align: center;
    margin-bottom: 1.6rem;
}
.pp-auth-header h2 {
    color: var(--pp-primary-dark);
    margin: 0 0 0.4rem;
    font-size: 1.6rem;
}
.pp-auth-header p {
    color: var(--pp-text-muted);
    margin: 0;
    font-size: 0.95rem;
}

.pp-auth-form .pp-field {
    margin-bottom: 1.1rem;
}
.pp-auth-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.4rem;
    color: var(--pp-text);
    font-size: 0.9rem;
}
.pp-auth-form input[type="text"],
.pp-auth-form input[type="email"],
.pp-auth-form input[type="tel"],
.pp-auth-form input[type="password"] {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    font-size: 1rem;
    background: #fff;
    color: var(--pp-text);
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}
.pp-auth-form input:focus {
    outline: none;
    border-color: var(--pp-primary);
    box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
}

.pp-phone-input {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    overflow: hidden;
    background: #fff;
}
.pp-phone-input:focus-within {
    border-color: var(--pp-primary);
    box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
}
.pp-phone-flag {
    background: var(--pp-bg-soft);
    padding: 0 0.9rem;
    display: flex;
    align-items: center;
    border-right: 1px solid var(--pp-border);
    font-weight: 600;
    color: var(--pp-text-muted);
    white-space: nowrap;
}
.pp-phone-input input {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.pp-field-hint {
    display: block;
    margin-top: 0.35rem;
    color: var(--pp-text-muted);
    font-size: 0.82rem;
}
.pp-field-hint strong { color: var(--pp-warning); }
.pp-field-optional { color: var(--pp-text-muted); font-weight: 400; font-size: 0.82rem; margin-left: 0.3rem; }
.pp-add-question-row { margin: 0.4rem 0 0.6rem; }
.pp-add-question-row .pp-btn-link { padding-left: 0; }

.pp-auth-footer {
    text-align: center;
    margin-top: 1.3rem;
    color: var(--pp-text-muted);
    font-size: 0.92rem;
}
.pp-auth-footer a {
    color: var(--pp-primary);
    font-weight: 600;
    text-decoration: none;
}
.pp-auth-footer a:hover { text-decoration: underline; }

@media (max-width: 480px) {
    .pp-auth-wrap { margin: 1rem auto; }
    .pp-auth-card { padding: 1.5rem 1.2rem; }
    .pp-auth-header h2 { font-size: 1.4rem; }
}

/* Wide variant for registration with security questions */
.pp-auth-wide { max-width: 560px; }

.pp-auth-section {
    margin: 1.6rem 0 0.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--pp-border);
    color: var(--pp-primary-dark);
    font-size: 1rem;
}
.pp-auth-section:first-of-type { border-top: 0; padding-top: 0; }

.pp-section-help {
    color: var(--pp-text-muted);
    font-size: 0.88rem;
    margin: 0 0 1rem;
    line-height: 1.5;
}

.pp-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
}
@media (max-width: 480px) { .pp-field-row { grid-template-columns: 1fr; gap: 0; } }

.pp-security-slot {
    background: var(--pp-bg-soft);
    padding: 1rem;
    border-radius: var(--pp-radius-sm);
    margin-bottom: 0.8rem;
    border: 1px solid var(--pp-border);
}
.pp-security-slot .pp-field { margin-bottom: 0.7rem; }
.pp-security-slot .pp-field:last-child { margin-bottom: 0; }

.pp-auth-form select {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    font-size: 1rem;
    background: #fff;
    color: var(--pp-text);
    box-sizing: border-box;
    cursor: pointer;
}
.pp-auth-form select:focus {
    outline: none;
    border-color: var(--pp-primary);
    box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
}

/* Login mode tabs */
.pp-tabs {
    display: flex;
    gap: 4px;
    background: var(--pp-bg-soft);
    border-radius: var(--pp-radius-sm);
    padding: 4px;
    margin: 0 0 1.2rem;
}
.pp-tab {
    flex: 1;
    padding: 0.55rem 0.9rem;
    border: 0;
    background: transparent;
    color: var(--pp-text-muted);
    font-size: 0.92rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.pp-tab:hover { color: var(--pp-text); }
.pp-tab-active {
    background: #fff;
    color: var(--pp-primary-dark);
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}

/* Logged-in session confirmation / shared browser safety */
.pp-session-card {
    max-width: 620px;
    margin: 2rem auto;
    padding: 2rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid var(--pp-border, #e5e7eb);
    box-shadow: 0 16px 45px rgba(15, 23, 42, 0.08);
    text-align: center;
    color: var(--pp-text, #1f2937);
}
.pp-session-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(99,102,241,.13), rgba(180,151,52,.16));
    font-size: 1.7rem;
}
.pp-session-card h2 {
    margin: 0 0 .75rem;
    color: var(--pp-primary-dark, #111827);
    font-size: 1.55rem;
}
.pp-session-card p {
    margin: .45rem 0;
    line-height: 1.55;
}
.pp-session-user {
    font-size: 1.05rem;
    color: var(--pp-text, #1f2937);
}
.pp-session-muted {
    color: var(--pp-text-muted, #6b7280);
    font-size: .92rem;
}
.pp-session-actions {
    display: flex;
    gap: .85rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1.35rem;
}
.pp-test-session-gate {
    margin-top: 1rem;
}
@media (max-width: 560px) {
    .pp-session-card { padding: 1.35rem; margin: 1rem auto; }
    .pp-session-actions { flex-direction: column; }
    .pp-session-actions .pp-btn { width: 100%; }
}

/* ============================================================
   Multi-test dashboard / coupons
   ============================================================ */
.pp-test-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}
.pp-test-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 1.2rem;
    box-shadow: var(--pp-shadow);
}
.pp-test-card h3,
.pp-test-card h4 { margin-top: 0; color: var(--pp-primary-dark); }
.pp-test-price { font-weight: 700; color: var(--pp-text); }
.pp-coupon-box {
    max-width: 620px;
    margin: 0 auto 1.5rem;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: var(--pp-radius);
    padding: 1rem;
}
.pp-referral-box { margin-top: 1.5rem; }
.pp-referral-sub { font-weight: 400; color: var(--pp-text-muted); font-size: 0.9rem; }
.pp-coupon-row { display: flex; gap: 0.6rem; margin-top: 0.5rem; }
.pp-coupon-row input {
    flex: 1;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    padding: 0.7rem 0.9rem;
    font-size: 1rem;
}
.pp-coupon-message { margin: 0.5rem 0 0; font-weight: 600; }
.pp-coupon-ok { color: #065f46; }
.pp-coupon-bad { color: #92400e; }
@media (max-width: 600px) {
    .pp-coupon-row { flex-direction: column; }
}

/* v1.7.2 dashboard category filters and recommendation badges */
.pp-filter-bar{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.25rem 0;align-items:center}
.pp-filter-btn{border:1px solid #d7dbe3;background:#fff;border-radius:999px;padding:.55rem 1rem;cursor:pointer;font-weight:700;color:#374151;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.pp-filter-btn:hover,.pp-filter-btn.is-active{background:#111827;color:#f6e6c3;border-color:#111827}
.pp-reco-badge{display:inline-block;background:#fff7d6;color:#8a5a00;border:1px solid #f2d477;border-radius:999px;padding:.28rem .65rem;font-size:.78rem;font-weight:800;margin-bottom:.85rem;letter-spacing:.01em}
.pp-test-card[data-category]{position:relative}


.pp-test-card{min-height:430px;display:flex;flex-direction:column;overflow:hidden}
.pp-test-thumb-wrap{margin:-1.2rem -1.2rem .9rem -1.2rem;height:148px;overflow:hidden;border-radius:12px 12px 0 0;background:#f3f4f6}
.pp-test-thumb{width:100%;height:100%;object-fit:cover;display:block}
.pp-test-card h4{font-size:1.1rem;line-height:1.3;min-height:56px;margin-bottom:.7rem}
.pp-test-desc{min-height:96px;position:relative;margin-bottom:.4rem}
.pp-test-desc-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.pp-test-desc[data-expanded="1"] .pp-test-desc-text{-webkit-line-clamp:unset;display:block;max-height:none}
.pp-desc-toggle{font-size:.82rem;padding:0;margin-top:.25rem}
.pp-test-card .pp-status{margin-top:auto}
.pp-test-card .pp-btn,.pp-test-card .pp-status + .pp-btn,.pp-test-card .pp-status + a.pp-btn{align-self:flex-start}
.pp-test-thumb-default{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff7d6,#f6e6c3)}
.pp-test-thumb-default span{font-size:3.2rem;line-height:1;filter:drop-shadow(0 6px 12px rgba(0,0,0,.12))}
.pp-career-icon{width:38px;height:38px;object-fit:cover;border-radius:10px;border:1px solid var(--pp-border);background:#fff;margin-right:.5rem}
.pp-career-icon-fallback{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:10px;background:#fff7d6;border:1px solid #e7c767;margin-right:.5rem;font-size:1.35rem}

/* v1.7.6 Premium dashboard card redesign */
.pp-dashboard{max-width:1120px}
.pp-test-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.35rem;align-items:stretch}
.pp-test-card{min-height:520px;padding:0;border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.10);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.pp-test-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,23,42,.15)}
.pp-test-thumb-wrap{margin:0;height:190px;border-radius:18px 18px 0 0;background:#07111f;position:relative;overflow:hidden}
.pp-test-thumb{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .35s ease}
.pp-test-card:hover .pp-test-thumb{transform:scale(1.035)}
.pp-test-thumb-default{height:190px;background:radial-gradient(circle at top left,#263c6f,#07111f 52%,#020617);display:flex;align-items:center;justify-content:center}
.pp-test-thumb-default span{font-size:4.5rem;line-height:1;filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))}
.pp-card-content{padding:1.05rem 1.15rem .9rem;display:flex;flex-direction:column;gap:.78rem;flex:1}
.pp-reco-badge{position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,247,214,.96);box-shadow:0 6px 18px rgba(0,0,0,.16);margin:0;max-width:calc(100% - 24px)}
.pp-test-title-strip{background:linear-gradient(135deg,#07111f 0%,#0c2a4f 55%,#123e72 100%);border:1px solid rgba(246,230,195,.20);border-radius:14px;padding:.72rem .85rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.pp-test-card h4{font-size:1.05rem;line-height:1.22;min-height:0;margin:0!important;color:#f6e6c3!important;font-weight:800;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.28)}
.pp-test-desc{min-height:88px;margin:0;color:#1f2937}
.pp-test-desc-text{font-size:.94rem;line-height:1.58;-webkit-line-clamp:3;margin:0;color:#263241}
.pp-desc-toggle{display:inline-block;margin-top:.55rem;background:#f2ff3b!important;color:#111827!important;border-radius:999px;padding:.42rem .82rem!important;text-decoration:none!important;font-weight:800;font-size:.82rem;box-shadow:0 4px 12px rgba(17,24,39,.12)}
.pp-card-footer{padding:0 1.15rem 1.12rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;flex-wrap:wrap}
.pp-card-footer .pp-status{margin:0;font-size:.78rem;font-weight:800}
.pp-card-footer .pp-btn{margin:0;min-width:112px;text-align:center;border-radius:10px;font-weight:800;box-shadow:0 6px 16px rgba(79,70,229,.20)}
.pp-card-footer .pp-btn-secondary{background:#111827;color:#f6e6c3}
.pp-card-footer .pp-btn-secondary:hover{background:#0c1220}
@media (max-width:640px){.pp-test-grid{grid-template-columns:1fr}.pp-test-card{min-height:auto}.pp-test-thumb-wrap,.pp-test-thumb-default{height:205px}.pp-card-footer{align-items:flex-start;flex-direction:column}.pp-card-footer .pp-btn{width:100%}}

/* v1.7.7 Dashboard badge placement fix */
.pp-card-footer{display:block!important;padding:0 1.15rem 1.12rem!important;margin-top:auto!important}
.pp-card-reco-row{margin:0 0 .72rem 0;display:block;min-height:0}
.pp-card-action-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.pp-card-footer .pp-reco-badge{position:static!important;top:auto!important;left:auto!important;z-index:auto!important;display:inline-flex;align-items:center;max-width:100%;margin:0;background:#fff7d6;color:#8a5a00;border:1px solid #f2d477;box-shadow:none;white-space:normal;line-height:1.25}
.pp-test-thumb-wrap .pp-reco-badge{display:none!important}
@media (max-width:640px){.pp-card-action-row{align-items:flex-start;flex-direction:column}.pp-card-action-row .pp-btn{width:100%}}

/* v1.7.7 Premium landing/pricing page redesign */
.pp-pricing.pp-landing{max-width:1180px;margin:2rem auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1f2937}
.pp-landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:1.4rem;align-items:stretch;background:linear-gradient(135deg,#07111f 0%,#0c2a4f 55%,#123e72 100%);border-radius:28px;padding:1.4rem;box-shadow:0 20px 50px rgba(2,6,23,.18);overflow:hidden;position:relative}
.pp-landing-hero:before{content:"";position:absolute;inset:-40% -20% auto auto;width:420px;height:420px;background:radial-gradient(circle,rgba(246,230,195,.20),transparent 66%);pointer-events:none}
.pp-landing-hero-copy{position:relative;z-index:1;padding:1.4rem 1rem 1.4rem 1.1rem;color:#fff;display:flex;flex-direction:column;justify-content:center}
.pp-landing-kicker{display:inline-flex;align-self:flex-start;background:rgba(246,230,195,.12);border:1px solid rgba(246,230,195,.32);color:#f6e6c3;border-radius:999px;padding:.42rem .78rem;font-weight:800;font-size:.83rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}
.pp-landing-hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1.04;margin:0 0 1rem;color:#f6e6c3;font-weight:900;letter-spacing:-.035em}
.pp-landing-lead{font-size:1.08rem;line-height:1.7;color:#e5e7eb;max-width:650px;margin:0 0 1rem}
.pp-landing-meta{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.1rem 0 1.35rem}
.pp-landing-meta span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:.48rem .8rem;font-size:.88rem;font-weight:700}
.pp-landing-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}
.pp-landing-visual{position:relative;z-index:1;border-radius:22px;overflow:hidden;background:#020617;min-height:330px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.pp-landing-visual img{width:100%;height:100%;object-fit:cover;display:block;min-height:330px}
.pp-landing-icon{height:100%;min-height:330px;display:flex;align-items:center;justify-content:center;font-size:7rem;background:radial-gradient(circle at center,#263c6f,#07111f 55%,#020617);filter:drop-shadow(0 18px 35px rgba(0,0,0,.45))}
.pp-landing-section{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:1.5rem;margin:1.4rem 0;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.pp-landing-section h2,.pp-landing-support h2{font-size:clamp(1.55rem,2.2vw,2.25rem);line-height:1.15;margin:0 0 1rem;color:#b39135;font-weight:850;letter-spacing:-.025em}
.pp-landing-about{font-size:1rem;line-height:1.75;color:#334155}
.pp-benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}
.pp-benefit-card{display:flex;gap:.75rem;align-items:flex-start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:1rem;min-height:88px}
.pp-benefit-card span{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:50%;background:#ecfdf5;color:#047857;font-weight:900;flex:0 0 26px}
.pp-benefit-card p{margin:0;font-weight:650;color:#263241;line-height:1.45}
.pp-landing .pp-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;align-items:stretch}
.pp-landing .pp-plan-card{border:1px solid #e5e7eb;border-radius:22px;padding:1.4rem;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.08);position:relative;display:flex;flex-direction:column}
.pp-landing .pp-plan-featured{border-color:#d6b55d;box-shadow:0 16px 38px rgba(179,145,53,.18)}
.pp-landing .pp-plan-badge{position:absolute;top:14px;right:14px;background:#fff7d6;color:#8a5a00;border:1px solid #f2d477;border-radius:999px;padding:.28rem .62rem;font-size:.74rem;font-weight:900}
.pp-landing .pp-plan-card h3{font-size:1.35rem;margin:.25rem 0 .8rem;color:#07111f}
.pp-landing .pp-plan-price{font-size:2.4rem;line-height:1;color:#b39135;font-weight:900;margin:.35rem 0 1rem}
.pp-landing .pp-currency{font-size:1.2rem;vertical-align:super;margin-right:.1rem}
.pp-landing .pp-plan-features{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem;color:#334155;flex:1}
.pp-landing .pp-plan-features li{line-height:1.45}
.pp-landing-support{margin:1.4rem 0 0;background:linear-gradient(135deg,#fff7d6,#fff);border:1px solid #ead59b;border-radius:24px;padding:1.4rem 1.5rem;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.pp-landing-support p{margin:.25rem 0 1rem;color:#334155;font-size:1rem}
@media (max-width:820px){.pp-landing-hero{grid-template-columns:1fr;padding:1rem}.pp-landing-visual,.pp-landing-visual img,.pp-landing-icon{min-height:240px}.pp-landing-hero-copy{padding:1rem}.pp-landing-actions .pp-btn{width:100%;text-align:center}}

/* v1.7.8 admin-controlled landing sections */
.pp-testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.pp-testimonial-card{background:#fff;border:1px solid var(--pp-border);border-radius:16px;padding:1rem;box-shadow:var(--pp-shadow)}
.pp-testimonial-card p{margin:0 0 .8rem;color:#374151;font-style:italic}
.pp-testimonial-card strong{color:#0c2a4f}
.pp-faq-list{display:grid;gap:.75rem}
.pp-faq-item{background:#fff;border:1px solid var(--pp-border);border-radius:14px;padding:.85rem 1rem;box-shadow:var(--pp-shadow)}
.pp-faq-item summary{cursor:pointer;font-weight:800;color:#0c2a4f}
.pp-faq-item p{margin:.7rem 0 0;color:#4b5563}

/* ============================================================
   v1.10.0 — Phase 2: plugin nav, booking form, answers download
   ============================================================ */

/* ----------- Plugin nav (top, sticky) -------------------- */
.pp-nav {
    background: #fff;
    border-bottom: 1px solid var(--pp-border);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
    position: sticky; top: 0; z-index: 50;
    margin: -1rem -1rem 1.5rem;        /* break out of theme padding */
}
.pp-nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.6rem 1rem;
    display: flex; align-items: center; gap: 1rem;
    flex-wrap: wrap;
}
.pp-nav-brand {
    display: inline-flex; align-items: center; gap: 0.65rem;
    text-decoration: none; color: var(--pp-text);
    font-weight: 700;
}
.pp-nav-brand-logo {
    height: 32px !important;
    width: 32px !important;
    max-width: 32px !important;
    min-width: 32px;
    display: block;
    object-fit: contain;
    border-radius: 7px;
    background: #fff;
    padding: 2px;
    box-sizing: border-box;
}
.pp-nav-brand-mark {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px;
    border-radius: 8px;
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff; font-weight: 800; font-size: 0.9rem;
}
.pp-nav-brand-name { font-size: 1rem; letter-spacing: 0.01em; }

/* Hamburger toggle — reset hard so themes can't bleed through.
   We force display:none on desktop with !important because many themes
   apply button{} background/padding via higher-specificity selectors. */
.pp-nav .pp-nav-toggle {
    display: none !important;
    margin-left: auto;
    background: transparent !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 8px !important;
    padding: 0.45rem 0.55rem !important;
    cursor: pointer;
    color: inherit !important;
    box-shadow: none !important;
    line-height: 1 !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
}
.pp-nav .pp-nav-toggle:hover,
.pp-nav .pp-nav-toggle:focus {
    background: #f9fafb !important;
}
.pp-nav .pp-nav-toggle span {
    display: block; width: 18px; height: 2px;
    background: #374151; margin: 3px 0; border-radius: 2px;
    transition: transform 0.2s, opacity 0.2s;
}
.pp-nav .pp-nav-toggle.is-open span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.pp-nav .pp-nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.pp-nav .pp-nav-toggle.is-open span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

.pp-nav-links {
    margin-left: auto;
    display: inline-flex; align-items: center; gap: 0.35rem;
    flex-wrap: wrap;
}
.pp-nav-link {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    border-radius: 8px;
    color: #374151;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.pp-nav-link:hover { background: #f3f4f6; color: #111827; }
.pp-nav-link.is-active {
    background: #eef2ff;
    color: var(--pp-primary-dark);
}
.pp-nav-link-icon { font-size: 1rem; line-height: 1; }
.pp-nav-logout { margin-left: 0.4rem; }

@media (max-width: 760px) {
    .pp-nav-inner { padding: 0.5rem 0.75rem; }
    .pp-nav .pp-nav-toggle { display: inline-flex !important; align-items: center; }
    .pp-nav-links {
        display: none;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        margin: 0.6rem 0 0;
        gap: 0.2rem;
    }
    .pp-nav-links.is-open { display: flex; }
    .pp-nav-link { padding: 0.7rem 0.9rem; }
    .pp-nav-logout { margin: 0.3rem 0 0; align-self: flex-start; }
    .pp-nav-brand-name { font-size: 0.95rem; }
}

/* ----------- Booking form layout -------------------------- */
.pp-counseling-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.5rem;
    align-items: start;
}
.pp-counseling-form,
.pp-counseling-success,
.pp-counseling-aside-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 1.5rem;
    box-shadow: var(--pp-shadow);
}
.pp-counseling-aside { display: grid; gap: 1rem; }
.pp-counseling-aside-card h4 { margin: 0 0 0.5rem; color: var(--pp-primary-dark); }
.pp-counseling-aside-card p, .pp-counseling-aside-card ol { margin: 0; color: #374151; font-size: 0.92rem; }
.pp-counseling-aside-card ol { padding-left: 1.1rem; line-height: 1.7; }
.pp-counseling-actions { margin-top: 1.5rem; }
.pp-counseling-form textarea {
    width: 100%;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    padding: 0.7rem 0.9rem;
    font-size: 1rem;
    font-family: inherit;
    resize: vertical;
}
.pp-counseling-form select,
.pp-counseling-form input[type="text"],
.pp-counseling-form input[type="email"],
.pp-counseling-form input[type="tel"] {
    width: 100%;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-sm);
    padding: 0.7rem 0.9rem;
    font-size: 1rem;
    font-family: inherit;
    background: #fff;
}
.pp-counseling-success-card { text-align: center; padding: 1rem; }
.pp-counseling-success-icon { font-size: 3rem; line-height: 1; margin-bottom: 0.5rem; }
.pp-counseling-ref {
    display: inline-block;
    background: #f3f4f6;
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
    font-size: 0.92rem;
    margin: 0.5rem 0 1rem;
}
.pp-counseling-success-help { color: var(--pp-text-muted); margin: 0.5rem 0; }
.pp-counseling-success-actions { margin-top: 1.5rem; }
@media (max-width: 900px) {
    .pp-counseling-grid { grid-template-columns: 1fr; }
}

/* Result CTA: stack the two action buttons cleanly */
.pp-result-cta .pp-btn + .pp-btn { margin-left: 0.6rem; }
@media (max-width: 600px) {
    .pp-result-cta .pp-btn { display: block; width: 100%; margin: 0.4rem 0; }
}

/* ============================================================
   v1.11.0 — Phase 3: Executive Summary + section-PDF dropdown
   ============================================================ */

/* PDF dropdown (split button on results hero) */
.pp-pdf-dropdown {
    display: inline-flex;
    position: relative;
    border-radius: var(--pp-radius-sm);
}
.pp-pdf-dropdown > .pp-btn:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 1px solid rgba(255,255,255,0.18);
}
.pp-pdf-dropdown-toggle {
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    min-width: auto;
    line-height: 1;
}
.pp-pdf-dropdown-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 260px;
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    padding: 0.5rem;
    z-index: 30;
}
.pp-pdf-dropdown-help {
    margin: 0.4rem 0.6rem 0.5rem;
    color: var(--pp-text-muted);
    font-size: 0.82rem;
}
.pp-pdf-dropdown-item {
    display: block;
    padding: 0.55rem 0.7rem;
    border-radius: var(--pp-radius-sm);
    color: var(--pp-text);
    font-size: 0.92rem;
    text-decoration: none;
    transition: background 0.15s;
}
.pp-pdf-dropdown-item:hover { background: #f3f4f6; color: var(--pp-primary-dark); }

/* Executive Summary block */
.pp-result-summary {
    background: linear-gradient(180deg, #fefce8 0%, #fffefb 100%);
    border: 1px solid #fde68a;
    border-radius: var(--pp-radius);
    padding: 1.6rem;
    box-shadow: var(--pp-shadow);
}
.pp-summary-headline {
    font-size: 1.1rem;
    color: var(--pp-text);
    font-weight: 600;
    margin: 0.4rem 0 1.2rem;
    line-height: 1.5;
}
.pp-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.8rem;
    margin-bottom: 1.6rem;
}
.pp-summary-tile {
    background: #fff;
    border: 1px solid #fde68a;
    border-radius: var(--pp-radius-sm);
    padding: 0.85rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.pp-summary-tile-label {
    font-size: 0.75rem;
    color: var(--pp-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.pp-summary-tile strong {
    color: var(--pp-text);
    font-size: 1rem;
    line-height: 1.3;
}
.pp-summary-tile-value {
    color: #b45309;
    font-weight: 700;
    font-size: 0.92rem;
}
.pp-summary-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.4rem;
    margin-top: 0.4rem;
}
.pp-summary-col h3 {
    margin: 0 0 0.6rem;
    color: #92400e;
    font-size: 1rem;
    font-weight: 700;
}
.pp-summary-list {
    margin: 0;
    padding-left: 1.2rem;
}
.pp-summary-list li {
    padding: 0.3rem 0;
    color: #374151;
    line-height: 1.55;
}
@media (max-width: 720px) {
    .pp-summary-cols { grid-template-columns: 1fr; gap: 0.8rem; }
    .pp-pdf-dropdown-menu { right: auto; left: 0; }
}

/* ============================================================
   v1.13.0 — Phase 4: branded auth shell, polished progress bar,
   dashboard polish
   ============================================================ */

/* ----------- Auth shell (login + register 2-column layout) -- */
.pp-auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 0;
    max-width: 1080px;
    margin: 2rem auto;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.10), 0 4px 16px rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(99, 102, 241, 0.08);
}
.pp-auth-shell-wide { max-width: 1200px; }

.pp-auth-aside {
    background: linear-gradient(165deg, #4f46e5 0%, #6366f1 45%, #8b5cf6 100%);
    color: #fff;
    padding: 3rem 2.4rem;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.pp-auth-aside::before {
    content: '';
    position: absolute;
    top: -80px; right: -80px;
    width: 320px; height: 320px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 60%);
    border-radius: 50%;
    pointer-events: none;
}
.pp-auth-aside::after {
    content: '';
    position: absolute;
    bottom: -120px; left: -60px;
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(245, 208, 100, 0.18) 0%, transparent 65%);
    border-radius: 50%;
    pointer-events: none;
}
.pp-auth-aside-inner { position: relative; z-index: 1; max-width: 420px; }
.pp-auth-logo-link {
    display: inline-block;
    background: #fff;
    padding: 8px 14px;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
    text-decoration: none;
}
.pp-auth-logo {
    display: block;
    height: 36px !important;
    width: auto;
    max-width: 160px;
    object-fit: contain;
}
.pp-auth-aside-title {
    color: #fff;
    font-size: 1.7rem;
    line-height: 1.25;
    font-weight: 800;
    margin: 0 0 0.7rem;
    letter-spacing: -0.01em;
}
.pp-auth-aside-tagline {
    color: rgba(255, 255, 255, 0.92);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0 0 1.6rem;
}
.pp-auth-trust {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.85rem;
}
.pp-auth-trust li {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.92rem;
    line-height: 1.5;
}
.pp-auth-trust li span {
    flex: 0 0 auto;
    width: 28px; height: 28px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    backdrop-filter: blur(10px);
}
.pp-auth-shell .pp-auth-card-form {
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 2.6rem 2.4rem;
    background: #fff;
    max-width: none;
}
@media (max-width: 880px) {
    .pp-auth-shell { grid-template-columns: 1fr; max-width: 560px; }
    .pp-auth-aside { padding: 2rem 1.6rem; }
    .pp-auth-aside-title { font-size: 1.35rem; }
    .pp-auth-shell .pp-auth-card-form { padding: 1.8rem 1.5rem; }
}

/* ----------- Polished test progress UI -------------------- */
.pp-section-pills {
    display: flex;
    gap: 6px;
    margin: 12px 0 8px;
    flex-wrap: wrap;
    align-items: stretch;
}
.pp-section-pill {
    flex: 1 1 0;
    min-width: 110px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #6b7280;
    font-weight: 500;
    line-height: 1.2;
    transition: all 0.2s;
    position: relative;
}
.pp-section-pill-num {
    flex: 0 0 auto;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pp-section-pill-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pp-section-pill.is-current {
    background: linear-gradient(135deg, #eef2ff 0%, #faf5ff 100%);
    border-color: var(--pp-primary);
    color: var(--pp-primary-dark);
    font-weight: 600;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}
.pp-section-pill.is-current .pp-section-pill-num {
    background: var(--pp-primary);
    color: #fff;
}
.pp-section-pill.is-done {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}
.pp-section-pill.is-done .pp-section-pill-num {
    background: #16a34a;
    color: #fff;
}
.pp-section-pill.is-done .pp-section-pill-num::before {
    content: '✓';
}
.pp-section-pill.is-done .pp-section-pill-num span,
.pp-section-pill.is-done .pp-section-pill-num { font-size: 12px; }
@media (max-width: 720px) {
    .pp-section-pill-name { display: none; }
    .pp-section-pill { min-width: 0; padding: 8px; flex: 1; justify-content: center; }
}

/* New progress wrap: count + percent + ETA stacked above the bar */
.pp-progress-wrap-v2 {
    display: block;
    margin-top: 8px;
}
.pp-progress-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.86rem;
    color: var(--pp-text-muted);
    margin-bottom: 6px;
    gap: 12px;
    flex-wrap: wrap;
}
.pp-progress-count strong { color: var(--pp-text); font-weight: 700; }
.pp-progress-percent {
    background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
    color: #fff;
    padding: 2px 10px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
}
.pp-progress-eta {
    margin-left: auto;
    color: #6b7280;
    font-size: 0.82rem;
}
.pp-progress-wrap-v2 .pp-progress-bar {
    height: 12px;
    background: #f3f4f6;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}
.pp-progress-wrap-v2 .pp-progress-fill {
    background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 50%, #d4a017 100%);
    background-size: 200% 100%;
    animation: pp-progress-shimmer 4s ease-in-out infinite;
    border-radius: 99px;
    box-shadow: 0 0 12px rgba(99, 102, 241, 0.4);
    position: relative;
}
.pp-progress-wrap-v2 .pp-progress-fill::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 60px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4));
    border-radius: 0 99px 99px 0;
}
@keyframes pp-progress-shimmer {
    0%, 100% { background-position: 0% 0%; }
    50%      { background-position: 100% 0%; }
}
@media (prefers-reduced-motion: reduce) {
    .pp-progress-wrap-v2 .pp-progress-fill { animation: none; }
}

/* ----------- Polished dashboard hero ---------------------- */
.pp-dash-hero {
    background: linear-gradient(135deg, #f8faff 0%, #fefce8 100%);
    border: 1px solid #e0e7ff;
    border-radius: 18px;
    padding: 1.6rem 1.8rem;
    margin-bottom: 1.8rem;
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.06);
}
.pp-dash-hero-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.pp-dash-eyebrow {
    margin: 0 0 0.2rem;
    color: var(--pp-primary);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.pp-dash-hero-text h2 {
    margin: 0 0 0.3rem;
    font-size: 1.7rem;
    font-weight: 800;
    color: #111827;
    letter-spacing: -0.01em;
}
.pp-dash-hero-tagline {
    margin: 0;
    color: #4b5563;
    font-size: 0.95rem;
}
.pp-dash-hero-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    flex: 0 0 auto;
}
.pp-dash-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.7rem;
    margin-top: 1.4rem;
}
.pp-dash-stat {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    transition: transform 0.2s, box-shadow 0.2s;
}
.pp-dash-stat:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.08);
}
.pp-dash-stat-icon {
    flex: 0 0 auto;
    width: 38px; height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, #eef2ff, #faf5ff);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}
.pp-dash-stat strong {
    display: block;
    font-size: 1.35rem;
    line-height: 1;
    color: #111827;
    font-weight: 800;
}
.pp-dash-stat span:last-child {
    display: block;
    font-size: 0.78rem;
    color: var(--pp-text-muted);
    margin-top: 2px;
}
.pp-dash-hero .pp-dash-meta {
    margin: 1.2rem 0 0;
    font-size: 0.85rem;
    color: #6b7280;
    border-top: 1px dashed #e5e7eb;
    padding-top: 0.8rem;
}
@media (max-width: 600px) {
    .pp-dash-hero { padding: 1.3rem 1.1rem; }
    .pp-dash-hero-text h2 { font-size: 1.4rem; }
}

/* v1.15.1 Frontend Team Portal */
.pp-team-shell{max-width:1180px;margin:24px auto;padding:0 16px;color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pp-team-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid rgba(15,23,42,.10);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 16px 40px rgba(15,23,42,.08);position:sticky;top:12px;z-index:5;backdrop-filter:blur(14px)}.pp-team-brand{display:flex;align-items:center;gap:10px}.pp-team-brand img{width:34px!important;height:34px!important;object-fit:contain;border-radius:10px}.pp-team-brand strong{display:block;font-size:15px;color:#111827}.pp-team-brand span{display:block;font-size:12px;color:#6b7280}.pp-team-nav{display:flex;flex-wrap:wrap;gap:8px}.pp-team-nav a{font-size:13px;text-decoration:none;color:#374151;padding:8px 10px;border-radius:999px;background:#f3f4f6}.pp-team-nav a:hover{background:#111827;color:#fff}.pp-team-hero{margin:18px 0;padding:30px;border-radius:26px;background:linear-gradient(135deg,#07152f,#153b73 58%,#c7902e);color:#fff;box-shadow:0 22px 50px rgba(7,21,47,.22)}.pp-team-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#f6e6c3;margin:0 0 8px}.pp-team-hero h1{margin:0 0 8px;font-size:clamp(28px,4vw,44px);color:#fff}.pp-team-hero p{margin:0;color:#e5edf8;max-width:820px}.pp-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pp-team-card,.pp-team-section,.pp-team-booking{background:#fff;border:1px solid rgba(15,23,42,.09);border-radius:22px;box-shadow:0 14px 38px rgba(15,23,42,.07);padding:18px}.pp-team-card span{display:block;color:#6b7280;font-size:13px}.pp-team-card strong{display:block;font-size:28px;margin-top:6px;color:#111827}.pp-team-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.pp-team-section{margin-top:18px}.pp-team-table-wrap{overflow:auto}.pp-team-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.pp-team-table th,.pp-team-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.pp-team-table th{background:#f9fafb;color:#374151}.pp-team-table code{background:#f3f4f6;padding:3px 7px;border-radius:8px}.pp-team-login-note{max-width:780px;margin:24px auto 0;padding:14px 18px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}.pp-team-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.pp-team-tabs a{text-decoration:none;border:1px solid #d1d5db;border-radius:999px;padding:8px 12px;color:#374151;background:#fff}.pp-team-tabs a.active{background:#111827;color:#fff;border-color:#111827}.pp-team-alert{padding:12px 14px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;margin:0 0 14px}.pp-team-booking{margin-bottom:14px}.pp-team-booking-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pp-team-booking-head span{display:block;color:#6b7280;font-size:13px;margin-top:3px}.pp-team-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#f3f4f6;color:#374151}.pp-team-badge-pending{background:#fef3c7;color:#92400e}.pp-team-badge-confirmed,.pp-team-badge-approved{background:#dcfce7;color:#166534}.pp-team-badge-rejected,.pp-team-badge-cancelled{background:#fee2e2;color:#991b1b}.pp-team-badge-completed{background:#ccfbf1;color:#0f766e}.pp-team-badge-rescheduled{background:#dbeafe;color:#1d4ed8}.pp-team-booking-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.pp-team-booking-meta span{font-size:13px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:6px 9px;color:#374151}.pp-team-manage-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:14px}.pp-team-form{display:grid;gap:11px}.pp-team-form label{display:grid;gap:5px;font-weight:700;font-size:13px;color:#374151}.pp-team-form input,.pp-team-form select,.pp-team-form textarea,.pp-team-review-form textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:9px 11px;background:#fff;color:#111827}.pp-team-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}.pp-team-check input{width:auto}.pp-team-preview textarea{width:100%;border-radius:14px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;padding:12px}.pp-team-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pp-team-review-form{display:grid;gap:8px;min-width:220px}.pp-team-profile-card{max-width:720px}.pp-team-table pre{white-space:pre-wrap;max-height:220px;overflow:auto;background:#f9fafb;border-radius:10px;padding:10px}.pp-team-section h2{margin-top:0}@media(max-width:820px){.pp-team-topbar{position:static;align-items:flex-start;flex-direction:column}.pp-team-grid{grid-template-columns:1fr 1fr}.pp-team-manage-grid{grid-template-columns:1fr}}@media(max-width:560px){.pp-team-grid{grid-template-columns:1fr}.pp-team-hero{padding:22px}.pp-team-booking-head{flex-direction:column}.pp-team-nav a{font-size:12px}}


/* v1.16.0 Landing Page & Conversion Redesign */
.pp-conversion{max-width:1180px;margin:24px auto;padding:0 16px;color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pp-conv-hero{position:relative;overflow:hidden;border-radius:32px;padding:42px;background:linear-gradient(135deg,#07152f,#12396f 58%,#c58b25);color:#fff;box-shadow:0 26px 70px rgba(7,21,47,.24);margin-bottom:26px}.pp-conv-hero:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 20% 20%,rgba(246,230,195,.22),transparent 32%),radial-gradient(circle at 82% 8%,rgba(34,211,238,.14),transparent 28%);pointer-events:none}.pp-conv-hero>*{position:relative}.pp-conv-hero-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:26px;align-items:center}.pp-conv-kicker,.pp-section-title span{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#f6e6c3;margin-bottom:10px}.pp-conv-hero h1,.pp-conv-copy h1{margin:0 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.035em;color:#fff}.pp-conv-lead{font-size:clamp(16px,2vw,20px);line-height:1.65;color:#e5edf8;max-width:780px;margin:0}.pp-conv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.pp-conv-proofbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.pp-conv-proofbar span{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);color:#f8fafc;font-size:13px}.pp-conv-proofbar strong{color:#f6e6c3}.pp-conv-visual-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);border-radius:28px;padding:22px;backdrop-filter:blur(14px)}.pp-conv-logo-card{width:58px!important;height:58px!important;object-fit:contain;border-radius:16px;background:#fff;padding:6px;margin-bottom:14px}.pp-report-mini{background:#fff;color:#111827;border-radius:22px;padding:18px;box-shadow:0 20px 48px rgba(0,0,0,.12)}.pp-report-mini-head span{display:block;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.10em}.pp-report-mini-head strong{font-size:20px}.pp-mini-bar{height:10px;background:#e5e7eb;border-radius:99px;margin:14px 0 5px;overflow:hidden}.pp-mini-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#7c3aed,#d97706)}.pp-report-mini p{margin:0;color:#4b5563;font-size:13px}.pp-mini-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.pp-mini-tags span,.pp-test-chip{font-size:12px;font-weight:800;color:#0f172a;background:#eef2ff;border:1px solid #dbe4ff;border-radius:999px;padding:6px 9px}.pp-conv-section{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:28px;margin:18px 0;box-shadow:0 16px 42px rgba(15,23,42,.07)}.pp-section-title h2{margin:0 0 16px;font-size:clamp(24px,3vw,36px);letter-spacing:-.025em;color:#111827}.pp-section-title span{color:#be7b10}.pp-process-grid,.pp-cn-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pp-process-grid>div,.pp-cn-value-grid>div,.pp-report-preview-card{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e5e7eb;border-radius:20px;padding:18px}.pp-process-grid b,.pp-cn-value-grid b,.pp-report-preview-card span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:11px;background:#0f2d52;color:#f6e6c3;margin-bottom:10px}.pp-process-grid h3,.pp-cn-value-grid h3,.pp-report-preview-card h3{margin:0 0 6px;font-size:18px;color:#111827}.pp-process-grid p,.pp-cn-value-grid p,.pp-report-preview-card p{margin:0;color:#4b5563;line-height:1.55}.pp-conv-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pp-conv-offer-card{position:relative;border:1px solid #e5e7eb;border-radius:24px;padding:20px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.06)}.pp-offer-icon,.pp-test-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:15px;background:linear-gradient(135deg,#eef2ff,#fff7ed);font-size:22px}.pp-conv-offer-card h3{margin:14px 0 8px}.pp-conv-offer-card p{color:#4b5563}.pp-conv-offer-card strong{display:block;margin:14px 0;color:#111827}.pp-parent-band{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;background:linear-gradient(135deg,#fff7ed,#eff6ff)}.pp-parent-band h2{margin:.2rem 0 .6rem;font-size:clamp(24px,3vw,38px)}.pp-parent-band p{color:#4b5563;line-height:1.65}.pp-parent-band ul{margin:0;padding:18px 22px;background:#fff;border-radius:20px;border:1px solid #e5e7eb}.pp-parent-band li{margin:8px 0;color:#374151}.pp-conv-final-cta{border-radius:30px;padding:34px;text-align:center;background:linear-gradient(135deg,#07152f,#153b73);color:#fff;margin:20px 0 6px}.pp-conv-final-cta h2{margin:0 0 8px;color:#fff;font-size:clamp(26px,3vw,40px)}.pp-conv-final-cta p{color:#e5edf8}.pp-filter-premium{position:sticky;top:10px;z-index:3;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid #e5e7eb;border-radius:18px;padding:10px;margin:18px 0}.pp-test-grid-premium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pp-test-card-premium{border-radius:24px;padding:20px;border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 42px rgba(15,23,42,.07);background:#fff}.pp-test-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.pp-test-meta-row{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.pp-test-meta-row span{font-size:12px;border-radius:999px;background:#f9fafb;border:1px solid #e5e7eb;padding:5px 8px;color:#4b5563}.pp-report-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pp-conv-support{background:linear-gradient(135deg,#f8fafc,#fff7ed)!important;border:1px solid #e5e7eb!important;border-radius:28px!important}.pp-cn-premium-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(135deg,#07152f,#12396f 58%,#c58b25);color:#fff;border-radius:30px;padding:34px;margin:0 0 16px;box-shadow:0 24px 60px rgba(7,21,47,.22)}.pp-cn-premium-hero h1{margin:0 0 10px;color:#fff;font-size:clamp(30px,4vw,50px);letter-spacing:-.035em}.pp-cn-premium-hero p{color:#e5edf8;max-width:760px;font-size:17px;line-height:1.6}.pp-cn-value-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 18px}.pp-parent-note-card{background:linear-gradient(135deg,#fff7ed,#eff6ff)!important}.pp-auth-aside{background:linear-gradient(135deg,#07152f,#12396f 62%,#c58b25)!important}.pp-auth-aside-title{font-size:clamp(28px,4vw,44px)!important;line-height:1.06!important}.pp-auth-card-form{box-shadow:0 22px 60px rgba(15,23,42,.12)!important}.pp-auth-trust li{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);border-radius:16px;padding:10px 12px;margin-bottom:8px}.pp-home-landing .pp-conv-section{margin-top:22px}@media(max-width:920px){.pp-conv-hero-split,.pp-parent-band{grid-template-columns:1fr}.pp-process-grid,.pp-report-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-conv-card-grid,.pp-test-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-cn-premium-hero{flex-direction:column}.pp-cn-value-grid{grid-template-columns:1fr}}@media(max-width:620px){.pp-conversion{padding:0 10px}.pp-conv-hero{padding:28px 20px;border-radius:24px}.pp-conv-actions .pp-btn{width:100%;justify-content:center}.pp-process-grid,.pp-report-preview-grid,.pp-conv-card-grid,.pp-test-grid-premium{grid-template-columns:1fr}.pp-conv-section{padding:20px;border-radius:22px}.pp-parent-band ul{padding:16px 20px}.pp-conv-final-cta{padding:26px 18px}.pp-cn-premium-hero{padding:26px 20px;border-radius:24px}}

/* v1.24.0 Visual report storytelling, media assets and exploration pathways */
.pp-result-cover-visual{margin:1rem auto 1.35rem;max-width:920px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 42px rgba(15,23,42,.18)}
.pp-result-cover-visual img{display:block;width:100%;max-height:360px;object-fit:cover}
.pp-eyebrow{display:block;margin:0 0 .4rem;color:#b7791f;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pp-dashboard-layout,.pp-summary-visual-layout,.pp-action-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:24px;align-items:center}
.pp-clarity-dashboard{overflow:hidden;background:linear-gradient(135deg,#fffdf7 0%,#f2f7ff 58%,#f5f1ff 100%);border-color:#e7dfc9}
.pp-clarity-dashboard h2{margin:.1rem 0 .4rem;font-size:clamp(1.65rem,3vw,2.25rem)}
.pp-clarity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.pp-clarity-card{position:relative;min-height:142px;padding:18px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(15,23,42,.055)}
.pp-clarity-card h3{margin:0 0 7px;padding-right:36px;color:#14213d;font-size:1rem}
.pp-clarity-card p{margin:0;color:#4b5563;font-size:.91rem;line-height:1.55}
.pp-clarity-number{position:absolute;right:14px;top:12px;color:#d6b46d;font-size:1.3rem;font-weight:900;opacity:.75}
.pp-dashboard-visual,.pp-summary-side-visual,.pp-action-visual{display:flex;align-items:center;justify-content:center}
.pp-dashboard-visual img,.pp-summary-side-visual img,.pp-action-visual img{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:20px}
.pp-bestfit-reason{margin:.7rem 0 0;padding:.7rem .8rem;border-radius:12px;background:#f8fafc;border-left:3px solid #c58b25;color:#475569;font-size:.83rem;line-height:1.48}
.pp-section-visual{float:right;width:min(34%,260px);margin:0 0 14px 22px}
.pp-section-visual img{display:block;width:100%;max-height:190px;object-fit:contain;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#fffaf0);border:1px solid #e5e7eb;padding:8px}
.pp-config-icon{display:inline-flex;min-width:1.3em;align-items:center;justify-content:center}
.pp-insight-note{clear:both;margin-top:18px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#f0fdf4,#eff6ff);border:1px solid #cde9d8;color:#355047;line-height:1.6}
.pp-cluster-section{background:linear-gradient(180deg,#fff,#fbfcff)}
.pp-cluster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.pp-cluster-card{padding:18px;border-radius:18px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 11px 28px rgba(15,23,42,.055)}
.pp-cluster-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pp-cluster-rank{font-weight:900;color:#c58b25;letter-spacing:.08em}
.pp-cluster-card h3{margin:12px 0 10px;color:#14213d;font-size:1.04rem}
.pp-mini-fit-track{height:8px;overflow:hidden;border-radius:999px;background:#edf2f7}
.pp-mini-fit-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d4ed8,#7c3aed,#c58b25)}
.pp-cluster-band{margin:7px 0 10px;color:#64748b;font-size:.79rem;font-weight:700}
.pp-cluster-card ul{list-style:none;margin:0;padding:0}
.pp-cluster-card li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px dashed #e2e8f0;color:#334155;font-size:.84rem}
.pp-cluster-card li small{color:#64748b;font-weight:800;white-space:nowrap}
.pp-career-why{margin:15px 0;padding:15px;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#f8fafc);border:1px solid #eadbbd}
.pp-career-why h4,.pp-career-explore h4,.pp-career-related h4{margin:0 0 7px;color:#14213d;font-size:.91rem}
.pp-career-why p{margin:0;color:#4b5563;line-height:1.55;font-size:.88rem}
.pp-signal-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.pp-signal-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-size:.76rem}
.pp-signal-chip b{font-weight:700}.pp-signal-chip em{font-style:normal;color:#7c3aed;font-weight:800}
.pp-career-explore-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin:0 0 15px}
.pp-career-explore,.pp-career-related{padding:14px;border-radius:15px;border:1px solid #e2e8f0;background:#f8fafc}
.pp-career-explore ol{margin:0;padding-left:20px;color:#4b5563;font-size:.84rem;line-height:1.5}
.pp-career-explore li+li{margin-top:5px}
.pp-related-tags{display:flex;flex-wrap:wrap;gap:7px}
.pp-related-tags span{display:inline-flex;padding:6px 8px;border-radius:10px;background:#fff;border:1px solid #dbe4f0;color:#334155;font-size:.76rem;font-weight:700}
.pp-parent-summary{background:linear-gradient(135deg,#fffaf2,#f0f7ff)}
.pp-parent-headline{color:#475569;font-size:1rem;line-height:1.65}
.pp-parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.pp-parent-panel{padding:15px;border-radius:16px;border:1px solid rgba(15,23,42,.09);background:rgba(255,255,255,.9)}
.pp-parent-panel-wide{grid-column:1/-1}
.pp-parent-panel h3{margin:0 0 7px;color:#14213d;font-size:.96rem}
.pp-parent-panel ul{margin:0;padding-left:19px;color:#4b5563;font-size:.86rem;line-height:1.55}
.pp-counselor-lens{background:linear-gradient(135deg,#f5f3ff,#f8fafc)}
.pp-counselor-lens p{color:#475569;line-height:1.65}
.pp-counselor-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pp-counselor-prompts span{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #ddd6fe;color:#5b21b6;font-size:.79rem;font-weight:700}
.pp-action-plan{background:linear-gradient(180deg,#fff,#f9fbff)}
.pp-action-timeline{display:grid;gap:12px}
.pp-action-card{position:relative;padding:17px 17px 17px 98px;border-radius:17px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.pp-action-period{position:absolute;left:14px;top:15px;width:70px;padding:8px 5px;border-radius:12px;background:#14213d;color:#f6e6c3;text-align:center;font-size:.72rem;font-weight:800;line-height:1.25}
.pp-action-card h3{margin:0 0 7px;color:#14213d;font-size:.98rem}
.pp-action-card ul{margin:0;padding-left:19px;color:#4b5563;font-size:.84rem;line-height:1.5}
.pp-result-support{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:24px;border-radius:22px;background:linear-gradient(135deg,#0b2447,#193e6f 66%,#a87823);color:#fff;box-shadow:0 18px 44px rgba(15,35,70,.18)}
.pp-result-support h2{margin:.15rem 0 .45rem;color:#fff}.pp-result-support p{margin:0 0 14px;color:#e5edf8;max-width:720px;line-height:1.55}
.pp-result-support .pp-eyebrow{color:#f6e6c3}.pp-support-qr{width:132px!important;height:132px!important;object-fit:contain;background:#fff;padding:7px;border-radius:14px;flex:0 0 auto}
@media(max-width:920px){.pp-dashboard-layout,.pp-summary-visual-layout,.pp-action-layout{grid-template-columns:1fr}.pp-dashboard-visual,.pp-summary-side-visual,.pp-action-visual{order:-1}.pp-dashboard-visual img,.pp-summary-side-visual img,.pp-action-visual img{max-height:280px}.pp-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-career-explore-grid{grid-template-columns:1fr}}
@media(max-width:640px){.pp-clarity-grid,.pp-cluster-grid,.pp-parent-grid{grid-template-columns:1fr}.pp-parent-panel-wide{grid-column:auto}.pp-section-visual{float:none;width:100%;margin:0 0 14px}.pp-section-visual img{max-height:220px}.pp-action-card{padding:70px 15px 15px}.pp-action-period{left:14px;top:13px;width:auto;padding:7px 10px}.pp-result-support{align-items:flex-start;flex-direction:column}.pp-support-qr{width:116px!important;height:116px!important}.pp-result-cover-visual img{max-height:230px}}
.pp-config-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-config-icon-img{width:34px!important;height:34px!important;object-fit:contain;border-radius:8px;flex:0 0 auto}
.pp-eq-grid{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.pp-eq-card{display:flex;align-items:center;gap:14px;padding:15px;border-radius:17px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fffaf2,#fff);box-shadow:0 8px 22px rgba(15,23,42,.045)}.pp-eq-card:last-child:nth-child(odd){grid-column:1/-1}.pp-eq-ring{--pp-score:0;position:relative;display:grid;place-items:center;width:66px;height:66px;flex:0 0 66px;border-radius:50%;background:conic-gradient(#c58b25 calc(var(--pp-score)*1%),#e8edf3 0)}.pp-eq-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.pp-eq-ring span{position:relative;z-index:1;color:#0b2447;font-size:.82rem;font-weight:900}.pp-eq-card h3{margin:0 0 4px;color:#14213d;font-size:.94rem}.pp-eq-card p{margin:0;color:#64748b;font-size:.8rem;line-height:1.45}@media(max-width:640px){.pp-eq-grid{grid-template-columns:1fr}.pp-eq-card:last-child:nth-child(odd){grid-column:auto}}
