body.page-freelancer {
    --fl-primary: #7c3aed;
    --fl-primary-strong: #6d28d9;
    --fl-primary-deep: #5b21b6;
    --fl-soft: #f4edff;
    --fl-soft-strong: #ede4ff;
    --fl-soft-border: rgba(124, 58, 237, 0.16);
    --fl-border: #e9ddfb;
    --fl-text: #101828;
    --fl-muted: #667085;
    --fl-shadow: 0 18px 40px rgba(91, 33, 182, 0.08);
    --fl-shadow-soft: 0 10px 28px rgba(17, 24, 39, 0.05);
    background:
        radial-gradient(circle at top left, rgba(124, 58, 237, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(168, 85, 247, 0.08), transparent 24%),
        #fff;
    color: var(--fl-text);
}

body.page-freelancer .site-header {
    border-bottom: 1px solid rgba(124, 58, 237, 0.12);
    box-shadow: 0 8px 30px rgba(91, 33, 182, 0.04);
    backdrop-filter: blur(14px);
}

body.page-freelancer .nav a,
body.page-freelancer .nav-mobile-menu a {
    color: var(--fl-text);
}

body.page-freelancer .nav a:hover,
body.page-freelancer .nav-mobile-menu a:hover,
body.page-freelancer .nav a:focus,
body.page-freelancer .nav-mobile-menu a:focus {
    color: var(--fl-primary);
}

body.page-freelancer .nav a.btn-primary,
body.page-freelancer .nav-mobile-menu a.btn-primary,
body.page-freelancer .btn-primary {
    background: linear-gradient(135deg, var(--fl-primary) 0%, var(--fl-primary-deep) 100%);
    border-color: transparent;
    box-shadow: 0 12px 24px rgba(124, 58, 237, 0.18);
}

body.page-freelancer .nav a.btn-primary:hover,
body.page-freelancer .nav-mobile-menu a.btn-primary:hover,
body.page-freelancer .btn-primary:hover {
    background: linear-gradient(135deg, var(--fl-primary-deep) 0%, #4c1d95 100%);
}

body.page-freelancer .btn-outline {
    border-color: var(--fl-border);
    color: var(--fl-primary-deep);
    background: #fff;
}

body.page-freelancer .btn-outline:hover {
    background: var(--fl-soft);
    border-color: var(--fl-primary);
    color: var(--fl-primary-deep);
}

body.page-freelancer .btn,
body.page-freelancer .input,
body.page-freelancer select,
body.page-freelancer textarea,
body.page-freelancer .card,
body.page-freelancer .alert,
body.page-freelancer .badge,
body.page-freelancer .meta,
body.page-freelancer .fl-page-head,
body.page-freelancer .fl-profile-header,
body.page-freelancer .fl-profile-section,
body.page-freelancer .fl-step-card,
body.page-freelancer .fl-card,
body.page-freelancer .fl-why-card,
body.page-freelancer .fl-sidebar-card,
body.page-freelancer .fl-filter-form,
body.page-freelancer .fl-projects-table,
body.page-freelancer .fl-empty,
body.page-freelancer .fl-dash-grid .fl-stat,
body.page-freelancer .fv-card,
body.page-freelancer .fv-panel {
    border-radius: 18px;
}

body.page-freelancer .card,
body.page-freelancer .fl-page-head,
body.page-freelancer .fl-profile-header,
body.page-freelancer .fl-profile-section,
body.page-freelancer .fl-step-card,
body.page-freelancer .fl-card,
body.page-freelancer .fl-why-card,
body.page-freelancer .fl-sidebar-card,
body.page-freelancer .fl-filter-form,
body.page-freelancer .fl-empty,
body.page-freelancer .fl-dash-grid .fl-stat,
body.page-freelancer .fv-card,
body.page-freelancer .fv-panel,
body.page-freelancer .fl-projects-table {
    border: 1px solid rgba(124, 58, 237, 0.12);
    box-shadow: var(--fl-shadow-soft);
    background: #fff;
}

body.page-freelancer .card,
body.page-freelancer .fl-profile-section,
body.page-freelancer .fl-step-card,
body.page-freelancer .fl-why-card,
body.page-freelancer .fl-sidebar-card,
body.page-freelancer .fv-panel {
    padding: 20px;
}

body.page-freelancer .main-content {
    padding-top: 24px;
    padding-bottom: 34px;
}

body.page-freelancer h1 {
    letter-spacing: -0.03em;
    font-size: clamp(24px, 2.8vw, 32px);
    line-height: 1.15;
}

body.page-freelancer h2,
body.page-freelancer h3,
body.page-freelancer h4 {
    letter-spacing: -0.02em;
    color: var(--fl-text);
}

body.page-freelancer h2 {
    font-size: clamp(20px, 2.1vw, 26px);
    line-height: 1.2;
}

body.page-freelancer h3 {
    font-size: 18px;
    line-height: 1.25;
}

body.page-freelancer h4 {
    font-size: 15px;
    line-height: 1.25;
}

body.page-freelancer .input,
body.page-freelancer input[type="text"],
body.page-freelancer input[type="email"],
body.page-freelancer input[type="number"],
body.page-freelancer input[type="password"],
body.page-freelancer input[type="url"],
body.page-freelancer input[type="search"],
body.page-freelancer input[type="tel"],
body.page-freelancer input[type="file"],
body.page-freelancer select,
body.page-freelancer textarea {
    border: 1px solid #e4d7fb;
    background: #fff;
    color: var(--fl-text);
    box-shadow: none;
}

body.page-freelancer .input:focus,
body.page-freelancer input:focus,
body.page-freelancer select:focus,
body.page-freelancer textarea:focus {
    border-color: var(--fl-primary);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.12);
    outline: none;
}

body.page-freelancer .badge {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
    border: 1px solid rgba(124, 58, 237, 0.10);
}

body.page-freelancer .alert {
    border: 1px solid rgba(124, 58, 237, 0.10);
    box-shadow: var(--fl-shadow-soft);
}

body.page-freelancer .alert-success {
    background: #effcf6;
    border-color: rgba(22, 163, 74, 0.18);
}

body.page-freelancer .alert-warning {
    background: #fff8e6;
}

body.page-freelancer .alert-error,
body.page-freelancer .alert-danger {
    background: #fff1f2;
}

body.page-freelancer .meta,
body.page-freelancer .fl-muted {
    color: var(--fl-muted);
}

body.page-freelancer [style*="#0369be"] {
    color: var(--fl-primary) !important;
}

body.page-freelancer [style*="background:#0369be"],
body.page-freelancer [style*="background: #0369be"] {
    background: var(--fl-primary) !important;
}

body.page-freelancer [style*="background:#e8f3ff"],
body.page-freelancer [style*="background: #e8f3ff"] {
    background: var(--fl-soft) !important;
}

body.page-freelancer [style*="border-color:#0369be"],
body.page-freelancer [style*="border-color: #0369be"] {
    border-color: var(--fl-primary) !important;
}

body.page-freelancer [style*="stroke:#0369be"],
body.page-freelancer [style*="stroke: #0369be"] {
    stroke: var(--fl-primary) !important;
}

body.page-freelancer [style*="color:#0369be"],
body.page-freelancer [style*="color: #0369be"] {
    color: var(--fl-primary) !important;
}

body.page-freelancer [style*="color:#64748b"],
body.page-freelancer [style*="color: #64748b"] {
    color: var(--fl-muted) !important;
}

/* Freelancer dashboard */
body.page-freelancer .fl-dash-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

body.page-freelancer .fl-dash-grid .fl-stat {
    padding: 16px 18px;
    background: linear-gradient(180deg, #fff 0%, #fcfaff 100%);
}

body.page-freelancer .fl-dash-grid .fl-stat strong {
    font-size: 22px;
}

body.page-freelancer .fl-dash-layout {
    gap: 18px;
    align-items: start;
}

body.page-freelancer .fl-dashboard-head {
    gap: 14px;
}

body.page-freelancer .fl-dashboard-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

body.page-freelancer .fl-dashboard-shell {
    display: grid;
    gap: 18px;
}

body.page-freelancer .fl-dashboard-hero {
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    background:
        radial-gradient(circle at top right, rgba(124, 58, 237, 0.18), transparent 34%),
        radial-gradient(circle at bottom left, rgba(59, 130, 246, 0.12), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #faf7ff 54%, #fffaf2 100%);
}

body.page-freelancer .fl-dashboard-hero h2 {
    margin: 4px 0 0;
    font-size: clamp(24px, 3vw, 36px);
    letter-spacing: -0.04em;
}

body.page-freelancer .fl-dashboard-hero-content {
    flex: 1;
    min-width: 240px;
}

body.page-freelancer .fl-dashboard-hero-note {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
}

body.page-freelancer .fl-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

body.page-freelancer .fl-summary-card {
    padding: 16px 14px;
    min-height: 118px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    border: 1px solid rgba(124, 58, 237, 0.10);
    box-shadow: 0 14px 30px rgba(91, 33, 182, 0.06);
    background: linear-gradient(180deg, #fff 0%, #fcfaff 100%);
}

body.page-freelancer .fl-summary-card strong {
    font-size: 26px;
    line-height: 1;
    color: var(--fl-text);
}

body.page-freelancer .fl-summary-card span {
    font-size: 13px;
    color: var(--fl-muted);
}

body.page-freelancer .fl-summary-link-card {
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body.page-freelancer .fl-summary-link-card:hover {
    transform: translateY(-2px);
    border-color: rgba(124, 58, 237, 0.28);
    box-shadow: 0 18px 30px rgba(91, 33, 182, 0.10);
}

body.page-freelancer .fl-summary-card-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--fl-text);
    line-height: 1.25;
}

body.page-freelancer .fl-summary-card-primary {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.10) 0%, rgba(168, 85, 247, 0.06) 100%);
}

body.page-freelancer .fl-summary-card-blue {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.10) 0%, rgba(96, 165, 250, 0.06) 100%);
}

body.page-freelancer .fl-summary-card-soft {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.09) 0%, rgba(59, 130, 246, 0.05) 100%);
}

body.page-freelancer .fl-summary-card-warm {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.10) 0%, rgba(251, 191, 36, 0.06) 100%);
}

body.page-freelancer .fl-summary-card-green {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.10) 0%, rgba(16, 185, 129, 0.06) 100%);
}

body.page-freelancer .fl-summary-card-purple {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.12) 0%, rgba(236, 72, 153, 0.05) 100%);
}

body.page-freelancer .fl-summary-card-pink {
    background: linear-gradient(135deg, rgba(236, 72, 153, 0.10) 0%, rgba(244, 114, 182, 0.06) 100%);
}

body.page-freelancer .fl-summary-card-status {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.10) 0%, rgba(124, 58, 237, 0.06) 100%);
}

body.page-freelancer .fl-summary-card-badge {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.16) 0%, rgba(251, 191, 36, 0.10) 100%);
}

body.page-freelancer .fl-summary-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    color: #fff;
    box-shadow: 0 12px 20px rgba(15, 23, 42, 0.10);
}

body.page-freelancer .fl-summary-card-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.page-freelancer .fl-summary-icon-verified { background: linear-gradient(135deg, #7c3aed, #f59e0b); }
body.page-freelancer .fl-summary-icon-blue { background: linear-gradient(135deg, #2563eb, #38bdf8); }
body.page-freelancer .fl-summary-icon-primary { background: linear-gradient(135deg, #7c3aed, #a855f7); }
body.page-freelancer .fl-summary-icon-soft { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
body.page-freelancer .fl-summary-icon-warm { background: linear-gradient(135deg, #f59e0b, #f97316); }
body.page-freelancer .fl-summary-icon-green { background: linear-gradient(135deg, #22c55e, #10b981); }
body.page-freelancer .fl-summary-icon-purple { background: linear-gradient(135deg, #7c3aed, #ec4899); }
body.page-freelancer .fl-summary-icon-pink { background: linear-gradient(135deg, #ec4899, #f472b6); }
body.page-freelancer .fl-summary-icon-status { background: linear-gradient(135deg, #6366f1, #7c3aed); }

body.page-freelancer .fl-dashboard-hero-avatar {
    width: 92px;
    height: 92px;
    border-radius: 28px;
    background: linear-gradient(135deg, #7c3aed 0%, #2563eb 48%, #f59e0b 100%);
    padding: 4px;
    box-shadow: 0 18px 36px rgba(91, 33, 182, 0.18);
    flex: 0 0 auto;
    display: grid;
    place-items: center;
}

body.page-freelancer .fl-dashboard-hero-avatar img,
body.page-freelancer .fl-dashboard-hero-avatar span {
    width: 100%;
    height: 100%;
    border-radius: 24px;
    background: #fff;
    display: grid;
    place-items: center;
    object-fit: cover;
    color: var(--fl-primary-deep);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

body.page-freelancer .fl-dashboard-main {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.95fr);
    gap: 18px;
    align-items: start;
}

body.page-freelancer .fl-dashboard-stack {
    display: grid;
    gap: 16px;
}

body.page-freelancer .fl-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

body.page-freelancer .fl-section-head h3 {
    margin: 0;
}

body.page-freelancer .fl-section-meta {
    font-size: 12px;
    color: var(--fl-muted);
}

body.page-freelancer .fl-action-card {
    padding: 18px;
    display: grid;
    gap: 12px;
}

body.page-freelancer .fl-action-card .btn {
    width: 100%;
}

body.page-freelancer .fl-action-card .fl-action-card-btn {
    min-height: 48px;
}

body.page-freelancer .fl-dashboard-side {
    display: grid;
    gap: 16px;
}

body.page-freelancer .fl-dashboard-side .card {
    padding: 18px;
}

body.page-freelancer .fl-dashboard-side .fl-chip {
    margin: 0;
}

body.page-freelancer .fl-profile-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 16px;
}

body.page-freelancer .fl-profile-form .form-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.page-freelancer .fl-profile-form .form-row.full-width {
    grid-column: 1 / -1;
}

body.page-freelancer .fl-profile-form label {
    font-size: 13px;
    color: var(--fl-text);
    font-weight: 600;
}

body.page-freelancer .fl-profile-form input,
body.page-freelancer .fl-profile-form select,
body.page-freelancer .fl-profile-form textarea {
    border: 1px solid #d9e2ec;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
    color: var(--fl-text);
    font-size: 13px;
}

body.page-freelancer .fl-profile-form textarea {
    min-height: 88px;
}

body.page-freelancer .fl-quick-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.page-freelancer .fl-quick-links li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(124, 58, 237, 0.10);
}

body.page-freelancer .fl-quick-links li:last-child {
    border-bottom: none;
}

body.page-freelancer .fl-quick-links a {
    color: var(--fl-text);
    font-weight: 600;
    text-decoration: none;
}

body.page-freelancer .fl-quick-links a:hover {
    color: var(--fl-primary);
    text-decoration: underline;
}

body.page-freelancer .fl-modal {
    width: min(960px, calc(100vw - 24px));
    border: none;
    padding: 0;
    background: transparent;
}

body.page-freelancer .fl-modal::backdrop {
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(4px);
}

body.page-freelancer .fl-modal-inner {
    background: #fff;
    border: 1px solid rgba(124, 58, 237, 0.12);
    border-radius: 22px;
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.24);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: calc(100vh - 24px);
}

body.page-freelancer .fl-modal-head {
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    border-bottom: 1px solid rgba(124, 58, 237, 0.10);
    background: linear-gradient(180deg, #fbf8ff 0%, #fff 100%);
}

body.page-freelancer .fl-modal-head h3 {
    margin: 0;
}

body.page-freelancer .fl-modal-close {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(124, 58, 237, 0.14);
    background: #fff;
    color: var(--fl-primary-deep);
    cursor: pointer;
    flex: 0 0 auto;
}

body.page-freelancer .fl-modal-body {
    padding: 20px;
    overflow: auto;
}

body.page-freelancer .fl-modal .fl-profile-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-freelancer .fl-modal .fl-profile-form .full-width {
    grid-column: 1 / -1;
}

body.page-freelancer .fl-modal .fl-profile-form .btn {
    grid-column: 1 / -1;
    justify-self: start;
}

body.page-freelancer .fl-onboard-card {
    max-width: 680px;
    margin: 32px auto !important;
    padding: 34px 28px !important;
    text-align: center;
    background:
        radial-gradient(circle at top, rgba(124, 58, 237, 0.10), transparent 42%),
        #fff;
}

body.page-freelancer .fl-onboard-card svg {
    color: var(--fl-primary);
}

body.page-freelancer .fl-chip {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.page-freelancer .fl-link {
    color: var(--fl-primary-deep);
    text-decoration: none;
    transition: color 0.2s ease;
}

body.page-freelancer .fl-link:hover {
    color: var(--fl-primary);
}

body.page-freelancer .fl-summary-link {
    cursor: pointer;
    color: var(--fl-primary-deep);
    font-size: 12px;
    font-weight: 600;
    list-style: none;
}

body.page-freelancer .fl-summary-link::-webkit-details-marker {
    display: none;
}

body.page-freelancer .fl-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

body.page-freelancer .fl-portfolio-item {
    border: 1px solid rgba(124, 58, 237, 0.12);
    border-radius: 14px;
    padding: 14px;
    background: #fff;
}

body.page-freelancer .fl-portfolio-item strong {
    font-size: 14px;
    color: var(--fl-text);
}

body.page-freelancer .fl-portfolio-item p {
    font-size: 12px;
    color: var(--fl-muted);
    margin: 4px 0 8px;
}

body.page-freelancer .fl-hire-table {
    font-size: 12px;
}

body.page-freelancer .fl-hire-table th {
    background: #faf7ff;
    color: var(--fl-muted);
    border-bottom-color: rgba(124, 58, 237, 0.10);
}

body.page-freelancer .fl-hire-table td {
    border-bottom-color: rgba(124, 58, 237, 0.08);
}

body.page-freelancer .fl-hire-status.pending {
    background: #fff5db;
    color: #b45309;
}

body.page-freelancer .fl-hire-status.active,
body.page-freelancer .fl-hire-status.contacted,
body.page-freelancer .fl-hire-status.assigned,
body.page-freelancer .fl-hire-status.in_progress {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
}

body.page-freelancer .fl-hire-status.hired {
    background: #eafbf2;
    color: #15803d;
}

body.page-freelancer .fl-followup-form textarea {
    border-radius: 12px;
    border-color: #e4d7fb;
}

body.page-freelancer .fl-followup-form textarea:focus {
    border-color: var(--fl-primary);
}

body.page-freelancer .fl-empty {
    padding: 48px 22px;
}

body.page-freelancer .fl-empty svg {
    color: var(--fl-primary);
}

body.page-freelancer .fl-tabs {
    border-bottom-color: rgba(124, 58, 237, 0.12);
}

body.page-freelancer .fl-tabs a.active {
    color: var(--fl-primary);
    border-bottom-color: var(--fl-primary);
}

body.page-freelancer .fl-projects-table {
    overflow: hidden;
}

body.page-freelancer .fl-projects-table th {
    background: #faf7ff;
    color: var(--fl-muted);
    border-bottom-color: rgba(124, 58, 237, 0.10);
}

body.page-freelancer .fl-projects-table td {
    border-bottom-color: rgba(124, 58, 237, 0.08);
}

body.page-freelancer .fl-projects-table .project-title a:hover {
    color: var(--fl-primary);
}

body.page-freelancer .fl-projects-table .status-badge.open,
body.page-freelancer .fl-projects-table .status-badge.assigned,
body.page-freelancer .fl-projects-table .status-badge.in_progress {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
}

body.page-freelancer .fl-projects-table .status-badge.pending {
    background: #fff5db;
    color: #b45309;
}

body.page-freelancer .fl-img-item {
    border-color: rgba(124, 58, 237, 0.12);
}

body.page-freelancer .fl-img-item.is-thumb {
    border-color: var(--fl-primary);
}

body.page-freelancer .fl-img-item .thumb-badge {
    background: var(--fl-primary);
}

body.page-freelancer .fl-page-head {
    padding: 22px 24px;
    gap: 14px;
}

body.page-freelancer .fl-page-head h2 {
    font-size: 20px;
}

body.page-freelancer .fl-page-head p {
    color: var(--fl-muted);
}

body.page-freelancer .fl-projects-grid {
    gap: 16px;
}

body.page-freelancer .fl-card {
    box-shadow: var(--fl-shadow-soft);
}

body.page-freelancer .fl-card:hover {
    border-color: rgba(124, 58, 237, 0.28);
    box-shadow: var(--fl-shadow);
    transform: translateY(-2px);
}

body.page-freelancer .fl-card-thumb {
    border-radius: 18px 18px 0 0;
}

body.page-freelancer .fl-project-employer-avatar {
    background: linear-gradient(135deg, var(--fl-primary), var(--fl-primary-deep));
}

body.page-freelancer .fl-budget-amount,
body.page-freelancer .fl-card-price {
    color: var(--fl-primary);
}

body.page-freelancer .fl-project-skills .skill-badge {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
}

body.page-freelancer .fl-project-skills .skill-badge.more {
    background: #f3f0ff;
    color: var(--fl-muted);
}

body.page-freelancer .fl-filter-form {
    padding: 14px;
    gap: 10px;
}

body.page-freelancer .fl-filter-group {
    border-color: #e4d7fb;
    background: #fff;
}

body.page-freelancer .fl-filter-group svg {
    color: #a78bfa;
}

body.page-freelancer .fl-filter-form .btn {
    border-radius: 12px;
}

/* Public freelancer profile and listing surfaces */
body.page-freelancer .fl-hero {
    background:
        radial-gradient(circle at top right, rgba(124, 58, 237, 0.18), transparent 35%),
        linear-gradient(135deg, #faf7ff 0%, #ffffff 60%);
    color: var(--fl-text);
}

body.page-freelancer .fl-hero::after {
    background: radial-gradient(circle, rgba(124, 58, 237, 0.10) 0%, transparent 70%);
}

body.page-freelancer .fl-hero-badge {
    background: rgba(124, 58, 237, 0.10);
    color: var(--fl-primary-deep);
}

body.page-freelancer .fl-hero p {
    color: var(--fl-muted);
}

body.page-freelancer .fl-search-wrap {
    border: 1px solid rgba(124, 58, 237, 0.12);
    box-shadow: var(--fl-shadow-soft);
}

body.page-freelancer .fl-search-wrap select {
    border-left-color: rgba(124, 58, 237, 0.12);
}

body.page-freelancer .fl-search-wrap button {
    background: linear-gradient(135deg, var(--fl-primary) 0%, var(--fl-primary-deep) 100%);
}

body.page-freelancer .fl-search-wrap button:hover {
    background: linear-gradient(135deg, var(--fl-primary-deep) 0%, #4c1d95 100%);
}

body.page-freelancer .fl-float-card {
    border: 1px solid rgba(124, 58, 237, 0.10);
}

body.page-freelancer .fl-float-card .fc-avatar {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
}

body.page-freelancer .fl-float-card .fc-rating {
    color: #f59e0b;
}

body.page-freelancer .fl-section-title h2,
body.page-freelancer .fl-why-card h4,
body.page-freelancer .fl-card-info h4,
body.page-freelancer .fl-profile-section h3 {
    color: var(--fl-text);
}

body.page-freelancer .fl-cat-card,
body.page-freelancer .fl-step-card,
body.page-freelancer .fl-why-card,
body.page-freelancer .fl-sidebar-card {
    box-shadow: var(--fl-shadow-soft);
}

body.page-freelancer .fl-cat-card:hover,
body.page-freelancer .fl-step-card:hover,
body.page-freelancer .fl-why-card:hover {
    border-color: rgba(124, 58, 237, 0.28);
    box-shadow: var(--fl-shadow);
    transform: translateY(-2px);
}

body.page-freelancer .fl-cat-card svg,
body.page-freelancer .fl-step-num,
body.page-freelancer .fl-why-card svg,
body.page-freelancer .fl-project-skills .skill-badge,
body.page-freelancer .fl-card-price,
body.page-freelancer .fl-project-head-info h4 a:hover {
    color: var(--fl-primary);
}

body.page-freelancer .fl-step-num {
    background: linear-gradient(135deg, var(--fl-primary) 0%, var(--fl-primary-deep) 100%);
    color: #fff;
}

body.page-freelancer .fl-profile-header,
body.page-freelancer .fl-profile-section {
    background: rgba(255, 255, 255, 0.96);
}

body.page-freelancer .fl-profile-avatar,
body.page-freelancer .fl-card-avatar {
    background: var(--fl-soft);
    color: var(--fl-primary-deep);
}

body.page-freelancer .fl-verified-badge {
    background: var(--fl-primary);
}

body.page-freelancer .fl-profile-price,
body.page-freelancer .fl-card-price,
body.page-freelancer .fl-budget-amount {
    color: var(--fl-primary);
}

body.page-freelancer .fl-profile-price small {
    color: var(--fl-muted);
}

body.page-freelancer .fl-profile-meta,
body.page-freelancer .fl-project-employer,
body.page-freelancer .fl-project-desc,
body.page-freelancer .fl-section-title p,
body.page-freelancer .fl-why-card p,
body.page-freelancer .fl-step-card p,
body.page-freelancer .fl-card-info .fl-title,
body.page-freelancer .fl-card-info .fl-location,
body.page-freelancer .fl-project-meta,
body.page-freelancer .fl-profile-section p,
body.page-freelancer .fl-empty p,
body.page-freelancer .fv-head p,
body.page-freelancer .fv-panel p {
    color: var(--fl-muted);
}

body.page-freelancer .fl-profile-layout {
    gap: 18px;
}

body.page-freelancer .fl-profile-section table tr + tr td {
    border-top: 1px solid rgba(124, 58, 237, 0.08);
}

body.page-freelancer .fl-profile-section table td {
    padding: 8px 0 !important;
}

body.page-freelancer .fl-portfolio-item {
    border-color: rgba(124, 58, 237, 0.12);
}

body.page-freelancer .fl-portfolio-item:hover {
    border-color: rgba(124, 58, 237, 0.28);
}

body.page-freelancer .fl-review-card {
    border-bottom-color: rgba(124, 58, 237, 0.08);
}

body.page-freelancer .fv-wrap {
    padding-left: 16px;
    padding-right: 16px;
}

body.page-freelancer .fv-card {
    overflow: hidden;
}

body.page-freelancer .fv-head {
    background: linear-gradient(180deg, #fbf8ff 0%, #fff 100%);
    border-bottom-color: rgba(124, 58, 237, 0.10);
}

body.page-freelancer .fv-head h1 {
    font-size: 26px;
}

body.page-freelancer .fv-panel {
    background: #fff;
}

body.page-freelancer .fv-status-item,
body.page-freelancer .fv-doc-link {
    border-color: rgba(124, 58, 237, 0.10);
}

body.page-freelancer .fv-doc-link:hover {
    border-color: var(--fl-primary);
    color: var(--fl-primary);
}

body.page-freelancer .fv-actions .btn {
    min-width: 0;
}

@media (max-width: 900px) {
    body.page-freelancer .fl-dash-layout,
    body.page-freelancer .fl-profile-layout,
    body.page-freelancer .fv-grid,
    body.page-freelancer .fl-dashboard-main {
        grid-template-columns: 1fr;
    }

    body.page-freelancer .fl-page-head {
        flex-direction: column;
        align-items: stretch;
    }

    body.page-freelancer .fl-page-head .btn,
    body.page-freelancer .fv-actions .btn {
        width: 100%;
    }
}

@media (max-width: 768px) {
    body.page-freelancer .main-content {
        padding-top: 18px;
        padding-bottom: 24px;
    }

    body.page-freelancer .card,
    body.page-freelancer .fl-page-head,
    body.page-freelancer .fl-profile-header,
    body.page-freelancer .fl-profile-section,
    body.page-freelancer .fl-step-card,
    body.page-freelancer .fl-card,
    body.page-freelancer .fl-why-card,
    body.page-freelancer .fl-sidebar-card,
    body.page-freelancer .fl-filter-form,
    body.page-freelancer .fl-empty,
    body.page-freelancer .fv-head,
    body.page-freelancer .fv-body {
        border-radius: 16px;
    }

    body.page-freelancer .fl-dash-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    body.page-freelancer .fl-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.page-freelancer .fl-dashboard-hero {
        padding: 18px;
    }

    body.page-freelancer .fl-dashboard-side .card,
    body.page-freelancer .fl-action-card {
        padding: 16px;
    }

    body.page-freelancer .fl-projects-grid {
        grid-template-columns: 1fr;
    }

    body.page-freelancer .fl-search-wrap {
        flex-direction: column;
    }

    body.page-freelancer .fl-search-wrap select {
        border-left: none;
        border-top: 1px solid rgba(124, 58, 237, 0.12);
        max-width: none;
    }

    body.page-freelancer .fl-section {
        padding-top: 28px;
        padding-bottom: 28px;
    }
}

@media (max-width: 560px) {
    body.page-freelancer .fl-dash-grid .fl-stat strong {
        font-size: 20px;
    }

    body.page-freelancer .fl-modal {
        width: min(100vw - 16px, 100vw);
    }

    body.page-freelancer .fl-modal-inner {
        border-radius: 18px;
    }

    body.page-freelancer .fl-modal-head,
    body.page-freelancer .fl-modal-body {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.page-freelancer .fl-modal .fl-profile-form {
        grid-template-columns: 1fr;
    }

    body.page-freelancer .fv-head h1 {
        font-size: 22px;
    }

    body.page-freelancer .fl-page-head h2 {
        font-size: 18px;
    }

    body.page-freelancer .fl-section-title h2 {
        font-size: 22px;
    }

    body.page-freelancer .fl-summary-grid {
        gap: 10px;
    }

    body.page-freelancer .fl-summary-card {
        padding: 12px;
        min-height: 92px;
    }

    body.page-freelancer .fl-summary-card strong {
        font-size: 20px;
    }

    body.page-freelancer .fl-summary-card-label {
        font-size: 13px;
    }

    body.page-freelancer .fl-project-budget,
    body.page-freelancer .fl-project-meta {
        font-size: 12px;
    }
}
