/* ===== WP AI Interviewer — Admin Styles ===== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

.wpaiv-wrap * { box-sizing: border-box; }
.wpaiv-wrap { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; max-width: 1200px; padding-bottom: 40px; }
.wpaiv-hidden { display: none !important; }

.wpaiv-portal-shell {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.wpaiv-portal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.wpaiv-portal-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}
.wpaiv-portal-brand strong {
    display: block;
    color: #1e1b4b;
    font-size: 15px;
}
.wpaiv-portal-brand span {
    display: block;
    font-size: 12px;
    color: #6b7280;
}
.wpaiv-portal-badge {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg,var(--wpaiv-primary-start, #6366f1),var(--wpaiv-primary-end, #8b5cf6));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.wpaiv-portal-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.wpaiv-portal-tab {
    padding: 10px 14px;
    border-radius: 999px;
    color: #4b5563;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    background: #f3f4f6;
    transition: all .2s ease;
}
.wpaiv-portal-tab:hover,
.wpaiv-portal-tab.active {
    color: var(--wpaiv-text-on-primary, #ffffff);
    background: linear-gradient(135deg,var(--wpaiv-primary-start, #6366f1),var(--wpaiv-primary-end, #8b5cf6));
}
.wpaiv-auth-shell {
    max-width: 1040px;
    margin: 40px auto 0;
}
.wpaiv-auth-hero {
    text-align: center;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.wpaiv-auth-hero h1 {
    margin: 0;
    color: #1e1b4b;
    font-size: 32px;
}
.wpaiv-auth-hero p {
    margin: 0;
    max-width: 760px;
    color: #6b7280;
    line-height: 1.7;
}
.wpaiv-auth-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.wpaiv-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 20px;
}
.wpaiv-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}
.wpaiv-dashboard-header h2 {
    margin: 0;
    color: #1e1b4b;
    font-size: 24px;
}
.wpaiv-dashboard-header p {
    margin: 8px 0 0;
    color: #6b7280;
    line-height: 1.6;
}
.wpaiv-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.wpaiv-auth-form .wpaiv-btn {
    justify-content: center;
    width: 100%;
}
.wpaiv-auth-logged {
    max-width: 640px;
    margin: 0 auto;
}
.wpaiv-landing-shell {
    --landing-ink: #14213d;
    --landing-coral: #ef476f;
    --landing-gold: #f4a261;
    --landing-cream: #fff7ee;
    max-width: 1220px;
    margin: 28px auto 48px;
    padding: 18px;
    border-radius: 34px;
    background:
        radial-gradient(circle at top left, rgba(244,162,97,.24), transparent 24%),
        radial-gradient(circle at top right, rgba(59,130,246,.16), transparent 28%),
        linear-gradient(180deg, #fffdf8 0%, #f8fbff 48%, #fff8f1 100%);
    display: flex;
    flex-direction: column;
    gap: 22px;
    color: var(--landing-ink);
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(20,33,61,.08);
}
.wpaiv-landing-shell::before,
.wpaiv-landing-shell::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.wpaiv-landing-shell::before {
    width: 240px;
    height: 240px;
    right: -70px;
    top: 120px;
    background: rgba(239,71,111,.10);
}
.wpaiv-landing-shell::after {
    width: 220px;
    height: 220px;
    left: -90px;
    bottom: 120px;
    background: rgba(244,162,97,.12);
}
.wpaiv-landing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 20px;
    padding: 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 28%),
        linear-gradient(140deg, #14213d 0%, #1f3c68 42%, #254f7a 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 24px 60px rgba(20,33,61,.16);
    position: relative;
    overflow: hidden;
}
.wpaiv-landing-hero::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -80px;
    bottom: -110px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(244,162,97,.36) 0%, rgba(244,162,97,0) 70%);
}
.wpaiv-landing-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #ffd79b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.wpaiv-landing-copy h1 {
    margin: 18px 0 12px;
    font-size: clamp(38px, 6vw, 66px);
    line-height: .95;
    color: #fff;
    max-width: 10ch;
}
.wpaiv-landing-subtitle {
    margin: 0;
    max-width: 58ch;
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255,255,255,.78);
}
.wpaiv-landing-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}
.wpaiv-landing-shell .wpaiv-btn-primary {
    background: linear-gradient(135deg, #ef476f, #f4a261);
    box-shadow: 0 10px 24px rgba(239,71,111,.22);
}
.wpaiv-landing-shell .wpaiv-btn-ghost {
    background: rgba(255,255,255,.1);
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
}
.wpaiv-landing-shell .wpaiv-btn-ghost:hover {
    background: rgba(255,255,255,.18);
    color: #fff;
}
.wpaiv-landing-shell .wpaiv-btn-outline {
    border-color: rgba(255,255,255,.38);
    color: #fff;
}
.wpaiv-landing-shell .wpaiv-btn-outline:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
}
.wpaiv-landing-proof {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}
.wpaiv-landing-proof span {
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
    font-size: 12px;
    font-weight: 700;
    color: #f8fafc;
}
.wpaiv-landing-panel {
    padding: 22px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(255,209,102,.12), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.13) 0%, rgba(255,255,255,.07) 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.12);
}
.wpaiv-landing-panel::after {
    content: "";
    position: absolute;
    inset: auto -40px -60px auto;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(244,162,97,.18);
}
.wpaiv-landing-panel-head strong {
    display: block;
    font-size: 18px;
}
.wpaiv-landing-panel-head span {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.72);
    font-size: 13px;
}
.wpaiv-landing-flow {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 18px;
}
.wpaiv-landing-step {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: start;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
}
.wpaiv-landing-step b {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--landing-gold), #ffd166);
    color: #14213d;
    font-size: 18px;
}
.wpaiv-landing-step strong {
    display: block;
    margin-bottom: 4px;
}
.wpaiv-landing-step p {
    margin: 0;
    color: rgba(255,255,255,.74);
    line-height: 1.6;
    font-size: 14px;
}
.wpaiv-landing-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.wpaiv-landing-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fff4e7 100%);
    border: 1px solid #f7d7ba;
    box-shadow: 0 12px 30px rgba(20,33,61,.05);
}
.wpaiv-landing-stat span {
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: var(--landing-ink);
}
.wpaiv-landing-stat small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 13px;
}
.wpaiv-landing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.wpaiv-landing-feature {
    background: linear-gradient(180deg, #ffffff 0%, #fff6eb 100%);
    border-color: #f5dbc5;
    box-shadow: 0 16px 34px rgba(20,33,61,.05);
}
.wpaiv-landing-feature h2 {
    margin-bottom: 14px;
}
.wpaiv-landing-feature p {
    margin: 0;
    color: #64748b;
    line-height: 1.7;
}
.wpaiv-landing-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 28px;
    border-radius: 24px;
    background:
        radial-gradient(circle at right center, rgba(244,162,97,.24), transparent 24%),
        linear-gradient(135deg, #ef476f 0%, #f06a53 48%, #f4a261 100%);
    color: #fff;
    box-shadow: 0 22px 44px rgba(239,71,111,.18);
}
.wpaiv-landing-band strong {
    display: block;
    font-size: 24px;
}
.wpaiv-landing-band p {
    margin: 8px 0 0;
    color: rgba(255,255,255,.75);
    max-width: 60ch;
}
.wpaiv-dashboard-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.wpaiv-company-profile-head {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
}
.wpaiv-company-logo-preview {
    width: 110px;
    height: 110px;
    border-radius: 20px;
    background: linear-gradient(135deg,#312e81,#6366f1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 36px;
    font-weight: 700;
}
.wpaiv-company-logo-preview.has-image {
    background: #fff;
    border: 1px solid #e5e7eb;
}
.wpaiv-company-logo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wpaiv-company-logo-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wpaiv-credit-products {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.wpaiv-credit-product {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.wpaiv-credit-product strong {
    display: block;
    color: #1e1b4b;
    font-size: 15px;
    margin-bottom: 6px;
}
.wpaiv-credit-product p {
    margin: 8px 0 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.6;
}
.wpaiv-credit-product-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    color: #4338ca;
    font-size: 12px;
    font-weight: 700;
}
.wpaiv-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.wpaiv-directory-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.wpaiv-directory-company-head {
    display: flex;
    align-items: center;
    gap: 14px;
}
.wpaiv-directory-company-copy h2 {
    margin: 0 0 4px;
    padding: 0;
    border: none;
    font-size: 18px;
}
.wpaiv-directory-company-copy p,
.wpaiv-directory-company-copy a {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
}
.wpaiv-directory-company-copy a {
    color: #4338ca;
    text-decoration: none;
}
.wpaiv-directory-company-copy a:hover {
    text-decoration: underline;
}
.wpaiv-directory-location {
    margin-bottom: 4px !important;
}
.wpaiv-directory-description {
    margin: 0;
    color: #4b5563;
    line-height: 1.7;
    font-size: 14px;
}
.wpaiv-directory-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.wpaiv-directory-vacancies {
    border-top: 1px solid #eef2f7;
    padding-top: 14px;
}
.wpaiv-directory-vacancies-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.wpaiv-directory-vacancy-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wpaiv-directory-vacancy-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}
.wpaiv-directory-vacancy-link {
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.wpaiv-directory-vacancy-link:hover {
    transform: translateY(-1px);
    border-color: #c7d2fe;
    box-shadow: 0 10px 24px rgba(99,102,241,.12);
    background: #eef2ff;
}
.wpaiv-directory-vacancy-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg,#6366f1,#8b5cf6);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.wpaiv-directory-vacancy-item strong {
    display: block;
    color: #1e1b4b;
    margin-bottom: 6px;
}
.wpaiv-directory-vacancy-item p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.6;
}
@media (max-width: 768px) {
    .wpaiv-landing-hero,
    .wpaiv-landing-grid,
    .wpaiv-landing-stats {
        grid-template-columns: 1fr;
    }
    .wpaiv-landing-band {
        flex-direction: column;
        align-items: flex-start;
    }
    .wpaiv-landing-shell {
        padding: 12px;
        border-radius: 22px;
    }
    .wpaiv-landing-hero {
        padding: 20px;
    }
    .wpaiv-portal-nav {
        flex-direction: column;
        align-items: stretch;
    }
    .wpaiv-auth-grid {
        grid-template-columns: 1fr;
    }
    .wpaiv-company-profile-head {
        grid-template-columns: 1fr;
    }
    .wpaiv-credit-product {
        flex-direction: column;
    }
    .wpaiv-directory-grid {
        grid-template-columns: 1fr;
    }
    .wpaiv-directory-vacancy-item {
        flex-direction: column;
    }
}

/* ---- HEADER ---- */
.wpaiv-header {
    background: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);
    border-radius: 16px; padding: 24px 28px; margin: 20px 0 24px;
    box-shadow: 0 4px 20px rgba(99,102,241,.25);
}
.wpaiv-header-inner { display: flex; align-items: center; gap: 16px; }
.wpaiv-logo { font-size: 36px; }
.wpaiv-header h1 { color: #fff; font-size: 24px; font-weight: 700; margin: 0 0 2px; }
.wpaiv-subtitle { color: #a5b4fc; font-size: 13px; margin: 0; }

/* ---- NOTICES ---- */
.wpaiv-notice {
    padding: 12px 16px; border-radius: 10px; margin-bottom: 16px; font-size: 14px;
}
.wpaiv-notice.success { background: #d1fae5; border-left: 4px solid #10b981; color: #065f46; }
.wpaiv-notice.error   { background: #fee2e2; border-left: 4px solid #ef4444; color: #991b1b; }

/* ---- GRID ---- */
.wpaiv-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 900px) { .wpaiv-grid-2 { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
    .wpaiv-dashboard-grid,
    .wpaiv-card-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- CARD ---- */
.wpaiv-card {
    background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 24px;
}
.wpaiv-card h2 { font-size: 16px; font-weight: 700; color: #1e1b4b; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid #f3f4f6; }
.wpaiv-cv-preview {
    white-space: normal;
    line-height: 1.7;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    max-height: 480px;
    overflow: auto;
}
.wpaiv-saas-preview {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    min-height: 100%;
}
.wpaiv-saas-preview strong {
    color: #1e3a8a;
}

/* ---- STATS ---- */
.wpaiv-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 20px; }
@media (max-width: 900px) { .wpaiv-stats-grid { grid-template-columns: repeat(2,1fr); } }

.wpaiv-stat-card {
    background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 18px;
    display: flex; align-items: center; gap: 14px;
}
.wpaiv-stat-icon {
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;
}
.wpaiv-stat-number { display: block; font-size: 28px; font-weight: 700; color: #1e1b4b; line-height: 1; }
.wpaiv-stat-label  { font-size: 12px; color: #6b7280; }

/* ---- FORM FIELDS ---- */
.wpaiv-field { margin-bottom: 18px; }
.wpaiv-field label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.wpaiv-field input[type="text"],
.wpaiv-field input[type="email"],
.wpaiv-field input[type="password"],
.wpaiv-field input[type="number"],
.wpaiv-field select,
.wpaiv-field textarea {
    width: 100%; border: 1.5px solid #d1d5db; border-radius: 10px;
    padding: 10px 12px; font-size: 14px; font-family: inherit; color: #1f2937;
    outline: none; transition: border-color .2s; background: #fafafa;
}
.wpaiv-field input:focus,
.wpaiv-field select:focus,
.wpaiv-field textarea:focus { border-color: var(--wpaiv-accent, #6366f1); background: #fff; }
.wpaiv-hint { font-size: 12px; color: #9ca3af; margin-top: 4px; display: block; }
.wpaiv-field-inline label { display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 500; }
.wpaiv-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wpaiv-field-actions { display: flex; gap: 10px; margin-top: 4px; flex-wrap: wrap; }
.wpaiv-field-actions form { margin: 0; }

.wpaiv-input-secret { position: relative; }
.wpaiv-input-secret input { padding-right: 44px; }
.wpaiv-input-secret button {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    background: none; border: none; cursor: pointer; font-size: 16px; padding: 4px;
}

/* ---- BUTTONS ---- */
.wpaiv-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 18px; border-radius: 9px; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none; border: none; transition: all .2s; font-family: inherit;
}
.wpaiv-btn-primary {
    background: linear-gradient(135deg,var(--wpaiv-primary-start, #6366f1),var(--wpaiv-primary-end, #8b5cf6));
    color: var(--wpaiv-text-on-primary, #ffffff);
    box-shadow: 0 2px 8px rgba(var(--wpaiv-primary-rgb, 99,102,241), .3);
}
.wpaiv-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(var(--wpaiv-primary-rgb, 99,102,241), .4); color: var(--wpaiv-text-on-primary, #ffffff); }
.wpaiv-btn-ghost { background: #f3f4f6; color: #374151; border: 1px solid #e5e7eb; }
.wpaiv-btn-ghost:hover { background: #e5e7eb; color: #374151; }
.wpaiv-btn-outline { background: transparent; border: 1.5px solid var(--wpaiv-accent, #6366f1); color: var(--wpaiv-accent, #6366f1); }
.wpaiv-btn-outline:hover { background: var(--wpaiv-accent, #6366f1); color: var(--wpaiv-text-on-primary, #ffffff); }
.wpaiv-btn-danger { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.wpaiv-btn-danger:hover { background: #dc2626; color: #fff; }
.wpaiv-btn-sm { padding: 5px 12px; font-size: 12px; }
.wpaiv-btn-lg { padding: 12px 28px; font-size: 15px; }

/* ---- QUICK LINKS ---- */
.wpaiv-quick-links { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.wpaiv-quick-btn {
    display: flex; align-items: center; gap: 10px;
    background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px;
    padding: 12px 16px; font-size: 14px; font-weight: 500; color: #374151;
    text-decoration: none; transition: all .2s;
}
.wpaiv-quick-btn:hover {
    background: rgba(var(--wpaiv-primary-rgb, 99,102,241), .08);
    border-color: var(--wpaiv-accent, #6366f1);
    color: var(--wpaiv-accent, #6366f1);
}

/* ---- SHORTCODE INFO ---- */
.wpaiv-shortcode-info { background: #f8fafc; border-radius: 10px; padding: 14px 16px; }
.wpaiv-shortcode-info p { margin: 0 0 6px; font-size: 13px; }
.wpaiv-shortcode-info code {
    background: #1e1b4b; color: #a5b4fc; padding: 6px 12px;
    border-radius: 7px; font-size: 13px; display: block;
}

/* ---- TABLE ---- */
.wpaiv-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.wpaiv-table th { text-align: left; padding: 8px 10px; color: #6b7280; font-weight: 600; border-bottom: 2px solid #f3f4f6; }
.wpaiv-table td { padding: 10px 10px; border-bottom: 1px solid #f9fafb; vertical-align: middle; }
.wpaiv-table tr:last-child td { border-bottom: none; }
.wpaiv-table-full { table-layout: auto; }

/* ---- BADGE ---- */
.wpaiv-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.wpaiv-badge-completed { background: #d1fae5; color: #065f46; }
.wpaiv-badge-active    { background: #dbeafe; color: #1e40af; }
.wpaiv-badge-approved  { background: #ede9fe; color: #6d28d9; }
.wpaiv-badge-pending_review { background: #fef3c7; color: #92400e; }
.wpaiv-badge-rejected  { background: #fee2e2; color: #991b1b; }
.wpaiv-badge-inactive  { background: #f3f4f6; color: #6b7280; }

/* ---- VACANCY LIST ---- */
.wpaiv-vacancy-list { display: flex; flex-direction: column; gap: 8px; }
.wpaiv-vacancy-item {
    background: #f9fafb; border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 12px 14px;
    transition: border-color .15s;
}
.wpaiv-vacancy-item.active {
    border-color: var(--wpaiv-accent, #6366f1);
    background: rgba(var(--wpaiv-primary-rgb, 99,102,241), .08);
}
.wpaiv-vacancy-info { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.wpaiv-vacancy-info strong { font-size: 14px; color: #1e1b4b; }
.wpaiv-vacancy-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ---- QUESTIONS ---- */
.wpaiv-question-row {
    display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px;
}
.wpaiv-q-num {
    width: 24px; height: 24px; background: var(--wpaiv-accent, #6366f1); color: var(--wpaiv-text-on-primary, #ffffff);
    border-radius: 50%; font-size: 12px; font-weight: 700; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; margin-top: 8px;
}
.wpaiv-question-row textarea {
    flex: 1; border: 1.5px solid #d1d5db; border-radius: 9px; padding: 8px 11px;
    font-size: 13px; font-family: inherit; resize: vertical; color: #1f2937; outline: none;
}
.wpaiv-question-row textarea:focus { border-color: var(--wpaiv-accent, #6366f1); }
.wpaiv-remove-q {
    background: none; border: none; cursor: pointer; color: #dc2626; font-size: 14px;
    padding: 6px; margin-top: 4px;
}

/* ---- DIVIDER ---- */
.wpaiv-divider { border: none; border-top: 1px solid #f3f4f6; margin: 24px 0; }

/* ---- TRANSCRIPT ---- */
.wpaiv-session-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    margin-bottom: 20px; gap: 12px; flex-wrap: wrap;
}
.wpaiv-session-header h2 { margin: 0 0 4px; font-size: 18px; color: #1e1b4b; }
.wpaiv-session-header p  { margin: 0; font-size: 13px; color: #6b7280; }

.wpaiv-transcript { display: flex; flex-direction: column; gap: 14px; }
.wpaiv-transcript-msg { padding: 14px 16px; border-radius: 12px; }
.wpaiv-msg-assistant { background: #f8fafc; border: 1px solid #e5e7eb; }
.wpaiv-msg-user      { background: #eef2ff; border: 1px solid #c7d2fe; }
.wpaiv-msg-role { font-size: 11px; font-weight: 700; color: #6b7280; margin-bottom: 6px; display: block; text-transform: uppercase; letter-spacing: .5px; }
.wpaiv-msg-content { font-size: 14px; line-height: 1.6; color: #374151; }

/* ---- EMPTY ---- */
.wpaiv-empty { color: #9ca3af; font-size: 14px; text-align: center; padding: 24px; }

/* ---- FORM FOOTER ---- */
.wpaiv-form-footer { padding: 20px 0 4px; }

#wpaiv-add-question {
    margin-right: 8px; margin-bottom: 14px;
}

/* ===== SESSION DETAIL LAYOUT ===== */
.wpaiv-session-detail-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.wpaiv-transcript-card h2,
.wpaiv-cost-card h2 {
    margin-bottom: 16px;
}

.wpaiv-transcript-card { max-height: none; overflow: visible; }
.wpaiv-summary-card { position: static; }

/* ===== AI SUMMARY PANEL ===== */
.wpaiv-summary-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f3f4f6;
    flex-wrap: wrap; gap: 8px;
}
.wpaiv-summary-header h2 { margin: 0; border: none; padding: 0; }

.wpaiv-summary-status {
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: #eef2ff;
    color: #4338ca;
}
.wpaiv-summary-status[data-status="processing"] { background: #ede9fe; color: #6d28d9; }
.wpaiv-summary-status[data-status="completed"] { background: #dcfce7; color: #166534; }
.wpaiv-summary-status[data-status="error"] { background: #fee2e2; color: #b91c1c; }
.wpaiv-summary-status[data-status="idle"] { background: #f3f4f6; color: #4b5563; }

.wpaiv-summary-empty {
    text-align: center; padding: 32px 16px; color: #9ca3af;
}
.wpaiv-summary-empty span { font-size: 32px; display: block; margin-bottom: 12px; }
.wpaiv-summary-empty p { font-size: 13px; margin: 4px 0; line-height: 1.6; }

.wpaiv-summary-loading {
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    padding: 32px 0; color: var(--wpaiv-accent, #6366f1); font-size: 13px;
}
.wpaiv-summary-spinner {
    width: 32px; height: 32px; border-radius: 50%;
    border: 3px solid #e0e7ff; border-top-color: var(--wpaiv-accent, #6366f1);
    animation: wpaiv-spin .8s linear infinite;
}
@keyframes wpaiv-spin { to { transform: rotate(360deg); } }

.wpaiv-summary-text {
    font-size: 13px; line-height: 1.8; color: #374151;
    background: #fafbff; border: 1px solid #e0e7ff;
    border-radius: 10px; padding: 16px;
}
.wpaiv-summary-text strong {
    color: #1e1b4b;
}
.wpaiv-summary-copy + .wpaiv-summary-copy { margin-top: 12px; }
.wpaiv-summary-table-wrap { margin: 14px 0; overflow-x: auto; }
.wpaiv-summary-md-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    background: #fff;
    border: 1px solid #dbe4ff;
}
.wpaiv-summary-md-table th,
.wpaiv-summary-md-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}
.wpaiv-summary-md-table th {
    background: rgba(var(--wpaiv-primary-rgb, 99,102,241), .08);
    color: var(--wpaiv-accent, #6366f1);
    font-weight: 700;
}
.wpaiv-summary-md-table tr:last-child td { border-bottom: none; }

/* ===== COST CARD ===== */
.wpaiv-cost-card { border-top: 3px solid var(--wpaiv-accent, #6366f1); }
.wpaiv-cost-card h2 { color: #1e1b4b; }

.wpaiv-cost-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }

.wpaiv-cost-item {
    background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 10px;
    padding: 10px 12px; display: flex; flex-direction: column; gap: 3px;
}
.wpaiv-cost-label { font-size: 11px; color: #6b7280; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; }
.wpaiv-cost-val   { font-size: 16px; font-weight: 700; color: #1e1b4b; }

.wpaiv-cost-total {
    grid-column: span 2;
    background: linear-gradient(
        135deg,
        rgba(var(--wpaiv-primary-rgb, 99,102,241), .08),
        rgba(var(--wpaiv-primary-rgb, 99,102,241), .04)
    );
    border-color: rgba(var(--wpaiv-primary-rgb, 99,102,241), .22);
}
.wpaiv-cost-usd {
    font-size: 22px; font-weight: 800; color: var(--wpaiv-accent, #6366f1);
    transition: all .3s;
}
.wpaiv-cost-updated { color: #059669 !important; }

.wpaiv-cost-note {
    font-size: 11px; color: #9ca3af; margin: 0; line-height: 1.6;
    background: #f9fafb; border-radius: 8px; padding: 8px 10px;
}

/* Cost pill in list table */
.wpaiv-cost-pill {
    font-size: 12px; font-weight: 600; color: var(--wpaiv-accent, #6366f1);
    background: rgba(var(--wpaiv-primary-rgb, 99,102,241), .08); border-radius: 6px; padding: 2px 8px; white-space: nowrap;
}
.wpaiv-score-pill {
    font-size: 12px; font-weight: 700; color: var(--wpaiv-accent, #6366f1);
    background: rgba(var(--wpaiv-primary-rgb, 99,102,241), .08); border-radius: 6px; padding: 2px 8px; white-space: nowrap;
}
.wpaiv-whatsapp-link {
    color: #059669;
    font-weight: 600;
    text-decoration: none;
}
.wpaiv-whatsapp-link:hover {
    color: #047857;
    text-decoration: underline;
}

/* Summary steps */
.wpaiv-summary-steps { font-size: 13px; color: var(--wpaiv-accent, #6366f1); min-height: 20px; }

.wpaiv-talent-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.wpaiv-talent-visibility-card {
    margin-top: 16px;
    background: #f8fafc;
}
.wpaiv-talent-visibility-card h2 {
    margin-top: 0;
}
.wpaiv-talent-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin-top: 14px;
}
.wpaiv-talent-checks label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #374151;
    font-size: 14px;
}
.wpaiv-talent-filter-bar {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}
.wpaiv-talent-grid {
    margin-top: 20px;
}
.wpaiv-talent-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.wpaiv-talent-card h2 {
    margin: 0;
    color: #1e1b4b;
}
.wpaiv-talent-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}
.wpaiv-talent-contact-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    color: #374151;
}
.wpaiv-entry-error {
    margin-top: 12px;
    font-size: 13px;
    color: #b91c1c;
}
.wpaiv-talent-browser,
.wpaiv-lead-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.wpaiv-talent-lead-form {
    margin-top: 8px;
}
.wpaiv-lead-item {
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fafbff;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wpaiv-lead-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .wpaiv-talent-form-grid,
    .wpaiv-talent-checks,
    .wpaiv-talent-filter-bar {
        grid-template-columns: 1fr;
    }
}
