.freelance-shell{--freelance-primary:#0aa892;--freelance-ink:#07164d;--freelance-muted:#71809f;background:#f7fafc;color:var(--freelance-ink)}
.freelance-hero{background:linear-gradient(135deg,#07164d 0%,#12336b 55%,#0aa892 160%);border-radius:1.25rem;color:#fff;padding:3.5rem 2rem;margin-bottom:2rem;overflow:hidden;position:relative}
.freelance-hero:after{content:"";position:absolute;width:28rem;height:28rem;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-10rem;top:-12rem;box-shadow:0 0 0 2rem rgba(255,255,255,.04),0 0 0 4rem rgba(255,255,255,.03)}
.freelance-hero>*{position:relative;z-index:1}.freelance-hero h1{font-weight:800;letter-spacing:-.03em}.freelance-search{background:#fff;border-radius:.8rem;padding:.4rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.14)}
.freelance-search .form-control{border:0;box-shadow:none;height:3.1rem}.freelance-search .btn{height:3.1rem;border-radius:.65rem}
.freelance-category-strip{display:flex;flex-wrap:wrap;gap:.65rem;overflow:visible;padding:.15rem .1rem 1rem;scrollbar-width:thin}.freelance-category-strip a{white-space:nowrap;border:1px solid #dfe8ef;border-radius:999px;padding:.65rem 1rem;background:#fff;color:var(--freelance-ink);text-decoration:none}.freelance-category-strip a:hover{border-color:var(--freelance-primary);color:var(--freelance-primary)}
.freelance-card{height:100%;overflow:hidden;border:1px solid #e4ebf1;border-radius:1rem;background:#fff;box-shadow:0 .35rem 1.2rem rgba(12,40,80,.05);transition:transform .2s ease,box-shadow .2s ease}.freelance-card:hover{transform:translateY(-3px);box-shadow:0 .8rem 2rem rgba(12,40,80,.1)}
.freelance-card-media{display:block;aspect-ratio:16/10;background:#edf3f7;overflow:hidden}.freelance-card-media img{width:100%;height:100%;object-fit:cover}.freelance-card-body{padding:1rem}.freelance-card-title{font-size:1.05rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.freelance-price{font-size:1.25rem;font-weight:800;color:var(--freelance-ink)}.freelance-stars{color:#f3a414;letter-spacing:.08em}.freelance-avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid #dcefeb}
.freelance-detail-media{border-radius:1rem;overflow:hidden;background:#edf3f7}.freelance-detail-media img{width:100%;max-height:32rem;object-fit:cover}.freelance-panel{border:1px solid #e4ebf1;border-radius:1rem;background:#fff;padding:1.4rem;box-shadow:0 .35rem 1.2rem rgba(12,40,80,.04)}.freelance-package{border:1px solid #dce7ee;border-radius:.85rem;padding:1rem;height:100%;transition:border-color .2s ease,box-shadow .2s ease}.freelance-package:has(input:checked){border-color:var(--freelance-primary);box-shadow:0 0 0 .2rem rgba(10,168,146,.12)}
.freelance-status{border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:700;background:#e8f6f3;color:#078b79}.freelance-status.pending_review,.freelance-status.pending_payment{background:#fff3d6;color:#9a6800}.freelance-status.rejected,.freelance-status.cancelled,.freelance-status.refunded{background:#ffe4e4;color:#b42318}.freelance-status.completed,.freelance-status.approved{background:#e8f6f3;color:#078b79}
.freelance-message-list{max-height:32rem;overflow:auto;background:#f7fafc;border-radius:.8rem;padding:1rem}.freelance-message{max-width:80%;padding:.75rem 1rem;border-radius:1rem;margin-bottom:.75rem;background:#fff;border:1px solid #e4ebf1}.freelance-message.mine{margin-left:auto;background:#e6faf6;border-color:#b5e8de}.freelance-file-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #dce7ee;border-radius:.55rem;padding:.45rem .65rem;background:#fff;text-decoration:none}
.freelance-builder-row{border:1px solid #e1e9ef;border-radius:.75rem;padding:1rem;background:#fbfdfe;position:relative}.freelance-builder-row .remove-row{position:absolute;right:.75rem;top:.65rem}.freelance-table td,.freelance-table th{vertical-align:middle}
@media (max-width:767.98px){.freelance-hero{padding:2.25rem 1.15rem;border-radius:.9rem}.freelance-hero h1{font-size:1.8rem}.freelance-search{display:block}.freelance-search .btn{width:100%;margin-top:.35rem}.freelance-panel{padding:1rem}.freelance-message{max-width:92%}.freelance-table{min-width:700px}}

@media (max-width:767.98px){.freelance-category-strip{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}}

.freelance-categories-panel{background:#fff;border:1px solid #e1eaf0;border-radius:1rem;padding:1.25rem;box-shadow:0 .45rem 1.4rem rgba(12,40,80,.06)}
.freelance-categories-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #edf2f6}
.freelance-categories-kicker{display:block;color:var(--freelance-primary);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.freelance-categories-title{color:var(--freelance-ink);font-size:1.35rem;font-weight:800;line-height:1.2;margin:.25rem 0 .2rem}
.freelance-categories-description{color:var(--freelance-muted);font-size:.9rem;margin:0}
.freelance-categories-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}
.freelance-categories-count{color:var(--freelance-muted);font-size:.8rem;font-weight:600;white-space:nowrap}
.freelance-categories-all,.freelance-categories-favorites{display:inline-flex;align-items:center;gap:.35rem;border-radius:.6rem;font-size:.8rem;font-weight:700;line-height:1;text-decoration:none;padding:.62rem .78rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.freelance-categories-all{background:var(--freelance-primary);color:#fff}
.freelance-categories-all:hover{background:#078f7d;color:#fff;transform:translateY(-1px)}
.freelance-categories-favorites{background:#f5fcfb;border:1px solid #cce8e2;color:var(--freelance-primary)}
.freelance-categories-favorites:hover{background:#e9f8f5;border-color:var(--freelance-primary);color:var(--freelance-primary)}
.freelance-category-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.freelance-category-group{min-width:0;border:1px solid #e5edf2;border-radius:.8rem;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);padding:.9rem;transition:border-color .2s ease,box-shadow .2s ease}
.freelance-category-group:hover{border-color:#bfe4dc;box-shadow:0 .3rem .9rem rgba(12,40,80,.05)}
.freelance-category-group-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;color:var(--freelance-ink);font-size:.92rem;font-weight:800;line-height:1.25;margin-bottom:.65rem;text-decoration:none}
.freelance-category-group-title:hover{color:var(--freelance-primary)}
.freelance-category-group-name{display:inline-flex;align-items:flex-start;gap:.45rem;min-width:0}
.freelance-category-group-name i{color:var(--freelance-primary);font-size:.82rem;margin-top:.1rem}
.freelance-category-group-meta{flex:none;background:#eaf8f5;border-radius:999px;color:#087f70;font-size:.64rem;font-weight:700;line-height:1.2;padding:.28rem .45rem;white-space:nowrap}
.freelance-category-links{display:flex;flex-wrap:wrap;gap:.35rem}
.freelance-category-link{display:inline-flex;align-items:center;border:1px solid #e2ebf0;border-radius:.45rem;background:#f8fbfc;color:var(--freelance-muted);font-size:.76rem;line-height:1.2;padding:.4rem .52rem;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.freelance-category-link:hover{background:#ecfbf8;border-color:#9edacd;color:var(--freelance-primary)}
@media (max-width:1199.98px){.freelance-category-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){.freelance-categories-panel{padding:.9rem}.freelance-categories-header{align-items:flex-start;flex-direction:column}.freelance-categories-actions{justify-content:flex-start}.freelance-category-groups{grid-template-columns:1fr}.freelance-category-group{padding:.8rem}.freelance-category-group-title{font-size:.88rem}}