:root {
    --sj-bg: #f6f8fb;
    --sj-soft-primary: #eef4ff;
}

body {
    background: var(--sj-bg);
}

.navbar {
    box-shadow: 0 1px 10px rgba(15, 23, 42, 0.03);
}

.hero-card,
.auth-card,
.stats-card {
    border: 0;
    border-radius: 1.5rem;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}

.badge-soft {
    background: var(--sj-soft-primary);
    color: #0d6efd;
}

.feature-card,
.stats-card {
    border-radius: 1.25rem;
}

.form-control,
.btn {
    border-radius: .8rem;
}

.btn-group .btn {
    border-radius: .8rem;
}

.btn-group .btn + .btn {
    margin-left: .35rem;
}

.form-select {
    border-radius: .8rem;
}

.rounded-4 {
    border-radius: 1.25rem !important;
}

.resume-text {
    line-height: 1.7;
    white-space: normal;
}

.resume-card-summary {
    line-height: 1.6;
}

.message-thread {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.message-row {
    display: flex;
    justify-content: flex-start;
}

.message-row-own {
    justify-content: flex-end;
}

.message-bubble {
    max-width: 78%;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 1rem;
    padding: 1rem;
    white-space: normal;
    overflow-wrap: anywhere;
}

.message-bubble-own {
    background: #e7f1ff;
    border-color: #b6d4fe;
}

.min-width-0 {
    min-width: 0;
}

.navbar .nav-link,
.navbar .dropdown-toggle,
.navbar .btn {
    white-space: nowrap;
}

.navbar .dropdown-menu {
    border-radius: 1rem;
    border: 0;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
    padding: .6rem;
}

.navbar .dropdown-item {
    border-radius: .7rem;
}

.company-cover {
    min-height: 220px;
    background-size: cover;
    background-position: center;
    background-color: #e9eef6;
}

.company-cover-empty {
    background: linear-gradient(135deg, #eef4ff 0%, #f8f9fa 55%, #e9ecef 100%);
}

.company-logo-xl,
.company-logo-sm,
.company-logo-xs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #0d6efd;
    font-weight: 700;
    flex-shrink: 0;
}

.company-logo-xl {
    width: 112px;
    height: 112px;
    border-radius: 1.5rem;
    font-size: 2.5rem;
}

.company-logo-sm {
    width: 56px;
    height: 56px;
    border-radius: 1rem;
    font-size: 1.35rem;
}

.company-logo-xs {
    width: 26px;
    height: 26px;
    border-radius: .55rem;
    font-size: .8rem;
}

.company-logo-xl img,
.company-logo-sm img,
.company-logo-xs img,
.company-logo-preview,
.profile-avatar-lg,
.profile-avatar-md {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.company-logo-preview {
    width: 120px;
    height: 120px;
    border-radius: 1.25rem;
    border: 1px solid #dee2e6;
}

.company-cover-preview {
    width: 100%;
    max-height: 180px;
    object-fit: cover;
    border-radius: 1.25rem;
    border: 1px solid #dee2e6;
}

.profile-avatar-lg {
    width: 180px;
    height: 180px;
    border-radius: 2rem;
    border: 1px solid #dee2e6;
}

.profile-avatar-md {
    width: 96px;
    height: 96px;
    border-radius: 1.25rem;
    border: 1px solid #dee2e6;
    object-fit: cover;
}

.profile-avatar-placeholder {
    width: 180px;
    height: 180px;
    border: 1px dashed #adb5bd;
    border-radius: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    background: #f8f9fa;
    text-align: center;
    padding: 1rem;
}

.site-logo-sm {
    width: 34px;
    height: 34px;
    border-radius: .65rem;
    object-fit: contain;
}

.company-gallery-img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 1rem;
    border: 1px solid #dee2e6;
}

.company-gallery-thumb {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: .85rem;
    border: 1px solid #dee2e6;
}

.profile-section-card + .profile-section-card {
    margin-top: 1rem;
}

.legal-text {
    line-height: 1.75;
    white-space: pre-wrap;
}
