body {
    font-family: "Plus Jakarta Sans", sans-serif;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.10), transparent 28%),
        radial-gradient(circle at bottom left, rgba(14, 165, 233, 0.12), transparent 24%),
        #f3f7fb;
    color: #102033;
}

.app-navbar {
    background: linear-gradient(135deg, #0f3d91, #0b7ad1);
}

.brand-badge {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

.app-shell {
    min-height: calc(100vh - 72px);
}

.card {
    border: 0;
    border-radius: 1.4rem;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.96);
}

.page-header {
    margin-bottom: 1.5rem;
}

.section-card {
    padding: 1.5rem;
}

.score-badge {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.form-section-title {
    font-weight: 800;
    margin-bottom: 1rem;
    color: #0f3d91;
}

.collection-item {
    padding: 1rem;
    border: 1px solid #dbe6f3;
    border-radius: 1rem;
    background: #fff;
    margin-bottom: 1rem;
}

.dashboard-stat {
    position: relative;
    overflow: hidden;
}

.dashboard-stat::after {
    content: "";
    position: absolute;
    inset: auto -20px -20px auto;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.09);
}

.stat-icon {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    background: linear-gradient(135deg, rgba(15, 61, 145, 0.12), rgba(11, 122, 209, 0.16));
    color: #0f3d91;
}

.company-logo,
.company-logo-sm {
    border-radius: 1rem;
    background: #eff6ff;
    object-fit: cover;
}

.company-logo {
    width: 64px;
    height: 64px;
}

.company-logo-sm {
    width: 48px;
    height: 48px;
}

.logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
    color: #fff;
    font-weight: 800;
}

.job-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.job-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.11);
}

.job-meta {
    font-size: 0.92rem;
    color: #53657d;
}

.job-skill-badge {
    background: #e0f2fe;
    color: #0f3d91;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 700;
}

.filter-card {
    position: sticky;
    top: 1rem;
}

.soft-section {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 252, 0.95));
}

.profile-progress {
    height: 0.8rem;
    border-radius: 999px;
    background: #dbeafe;
}

.profile-progress .progress-bar {
    border-radius: 999px;
}

.resume-meta {
    font-size: 0.9rem;
    color: #64748b;
}

.application-status {
    border-radius: 999px;
    padding: 0.45rem 0.8rem;
    font-size: 0.78rem;
    font-weight: 800;
}

.status-applied { background: #dbeafe; color: #1d4ed8; }
.status-underreview { background: #fef3c7; color: #b45309; }
.status-shortlisted { background: #dcfce7; color: #15803d; }
.status-rejected { background: #fee2e2; color: #b91c1c; }

.hero-strip {
    background: linear-gradient(135deg, #0f3d91, #0ea5e9);
    color: #fff;
    border-radius: 1.6rem;
    padding: 1.75rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 22px 50px rgba(15, 61, 145, 0.22);
}

.hero-strip p {
    color: rgba(255, 255, 255, 0.82);
}

.search-input {
    border-radius: 999px;
    padding-left: 1rem;
}

.rounded-pill-btn {
    border-radius: 999px;
}
