.categories-page{background:var(--background,#fff);min-height:100vh;padding-bottom:4rem}.guest-mode-banner{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;box-shadow:var(--shadow-md);justify-content:center;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:.875rem;display:flex}.guest-mode-banner svg{flex-shrink:0}.guest-mode-banner strong{font-weight:700}.guest-mode-banner .guest-info{opacity:.9;border-left:1px solid #ffffff4d;margin-left:1rem;padding-left:1rem;font-size:.75rem}@media (max-width:768px){.guest-mode-banner{text-align:center;flex-direction:column;gap:.25rem}.guest-mode-banner .guest-info{border-top:1px solid #ffffff4d;border-left:none;margin-top:.25rem;margin-left:0;padding-top:.25rem;padding-left:0}}.categories-hero{background:linear-gradient(135deg,var(--primary,red)0%,oklch(from var(--primary,red)calc(l*.3)c h)100%);text-align:center;color:#fff;padding:4rem 2rem 3rem;position:relative;overflow:hidden}.categories-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 30%,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.categories-hero .hero-content{z-index:1;max-width:800px;margin:0 auto 3rem;position:relative}.categories-hero .hero-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;display:inline-flex}.categories-hero .hero-icon svg{color:#fff}.categories-hero .hero-title{letter-spacing:-.02em;margin:0 0 1rem;font-size:2.5rem;font-weight:700}.categories-hero .hero-subtitle{opacity:.95;margin:0;font-size:1.125rem;font-weight:400}.progress-steps{z-index:1;justify-content:center;align-items:center;gap:1rem;max-width:600px;margin:0 auto;display:flex;position:relative}.progress-steps .progress-step{flex-direction:column;flex:1;align-items:center;gap:.5rem;max-width:150px;display:flex}.progress-steps .progress-step .step-number{color:#fff9;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;transition:all .3s;display:flex}.progress-steps .progress-step .step-label{color:#fffc;font-size:.875rem;font-weight:500;transition:all .3s}.progress-steps .progress-step.active .step-number{color:var(--primary,red);background:#fff;border-color:#fff;box-shadow:0 4px 12px #00000026}.progress-steps .progress-step.active .step-label{color:#fff;font-weight:600}.progress-steps .progress-step.completed .step-number{color:var(--primary,red);background:#fff;border-color:#fff}.progress-steps .progress-step.completed .step-number svg{color:var(--primary,red)}.progress-steps .progress-step.completed .step-label{color:#fff}.progress-steps .progress-line{background:#ffffff4d;flex:1;height:2px;margin-bottom:28px}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay .loading-spinner{background:var(--card,white);border-radius:16px;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;display:flex;box-shadow:0 20px 60px #0000004d}.loading-overlay .loading-spinner .spinner-icon{color:var(--primary,red);animation:1s linear infinite spin}.loading-overlay .loading-spinner p{color:var(--foreground,#171717);margin:0;font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-banner{background:oklch(from var(--primary,red)l c h/.1);border:1px solid oklch(from var(--primary,red)l c h/.3);max-width:1200px;color:var(--primary,red);text-align:center;border-radius:12px;margin:2rem auto 0;padding:1rem 2rem;font-weight:500}.categories-section,.subjects-section,.freelancers-section{max-width:1200px;margin:0 auto;padding:3rem 2rem}.categories-section .section-header,.subjects-section .section-header,.freelancers-section .section-header{text-align:center;margin-bottom:2.5rem}.categories-section .section-header .section-title,.subjects-section .section-header .section-title,.freelancers-section .section-header .section-title{color:var(--foreground,#171717);justify-content:center;align-items:center;gap:.75rem;margin:0 0 .75rem;font-size:1.875rem;font-weight:700;display:flex}.categories-section .section-header .section-title .step-badge,.subjects-section .section-header .section-title .step-badge,.freelancers-section .section-header .section-title .step-badge{background:var(--primary,red);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:inline-flex}.categories-section .section-header .section-description,.subjects-section .section-header .section-description,.freelancers-section .section-header .section-description{color:var(--muted-foreground,#6b7280);margin:0;font-size:1rem}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.categories-grid .category-card{background:var(--card,white);border:2px solid var(--border,#e5e7eb);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;transition:all .2s;display:flex;position:relative}.categories-grid .category-card:hover{border-color:var(--primary,red);background:oklch(from var(--primary,red)l c h/.02);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.categories-grid .category-card.active{border-color:var(--primary,red);background:oklch(from var(--primary,red)l c h/.05);box-shadow:0 4px 12px oklch(from var(--primary,red)l c h/.15)}.categories-grid .category-card.active .category-name,.categories-grid .category-card.active .category-arrow{color:var(--primary,red)}.categories-grid .category-card .category-card-content{flex:1;align-items:center;gap:.75rem;display:flex}.categories-grid .category-card .category-card-content .category-name{color:var(--foreground,#171717);margin:0;font-size:1.125rem;font-weight:600;transition:color .2s}.categories-grid .category-card .category-card-content .category-check{color:var(--primary,red);align-items:center;display:flex}.categories-grid .category-card .category-arrow{color:var(--muted-foreground,#6b7280);flex-shrink:0;transition:all .2s}.subjects-chips{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.subjects-chips .subject-chip{background:var(--card,white);border:2px solid var(--border,#e5e7eb);color:var(--foreground,#171717);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:flex}.subjects-chips .subject-chip:hover{border-color:var(--primary,red);background:oklch(from var(--primary,red)l c h/.02)}.subjects-chips .subject-chip.active{background:var(--primary,red);border-color:var(--primary,red);color:#fff}.subjects-chips .subject-chip.active .chip-check{color:#fff}.subjects-chips .subject-chip .chip-check{flex-shrink:0}.empty-state{text-align:center;color:var(--muted-foreground,#6b7280);padding:4rem 2rem}.empty-state svg{opacity:.3;margin:0 auto 1.5rem}.empty-state p{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.empty-state span{opacity:.8;font-size:.9375rem}.freelancers-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.freelancers-grid .freelancer-card{background:var(--card,white);border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:1.5rem;transition:all .2s}.freelancers-grid .freelancer-card:hover{border-color:var(--primary,red);transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.freelancers-grid .freelancer-card .freelancer-card-header{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.freelancers-grid .freelancer-card .freelancer-card-header .freelancer-avatar{background:linear-gradient(135deg,var(--primary,red),oklch(from var(--primary,red)calc(l*.7)c h));color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:700;display:flex}.freelancers-grid .freelancer-card .freelancer-card-header .freelancer-info{flex:1;min-width:0}.freelancers-grid .freelancer-card .freelancer-card-header .freelancer-info .freelancer-name{color:var(--foreground,#171717);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .25rem;font-size:1.125rem;font-weight:600;overflow:hidden}.freelancers-grid .freelancer-card .freelancer-card-header .freelancer-info .admin-badge{background:oklch(from var(--primary,red)l c h/.1);color:var(--primary,red);border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.freelancers-grid .freelancer-card .freelancer-card-header .freelancer-info .admin-badge svg{fill:currentColor}.freelancers-grid .freelancer-card .freelancer-stats{border-bottom:1px solid var(--border,#e5e7eb);flex-direction:column;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.freelancers-grid .freelancer-card .freelancer-stats .stat-item{align-items:center;gap:.75rem;display:flex}.freelancers-grid .freelancer-card .freelancer-stats .stat-item .stat-icon{color:var(--muted-foreground,#6b7280);flex-shrink:0}.freelancers-grid .freelancer-card .freelancer-stats .stat-item .stat-content{flex:1;justify-content:space-between;align-items:center;display:flex}.freelancers-grid .freelancer-card .freelancer-stats .stat-item .stat-content .stat-label{color:var(--muted-foreground,#6b7280);font-size:.875rem}.freelancers-grid .freelancer-card .freelancer-stats .stat-item .stat-content .stat-value{color:var(--foreground,#171717);font-size:.9375rem;font-weight:600}.freelancers-grid .freelancer-card .freelancer-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.freelancers-grid .freelancer-card .freelancer-tags .tag{background:oklch(from var(--primary,red)l c h/.08);color:var(--primary,red);border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500}.freelancers-grid .freelancer-card .chat-button{background:var(--primary,red);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:flex}.freelancers-grid .freelancer-card .chat-button:hover:not(:disabled){background:oklch(from var(--primary,red)calc(l*.9)c h);box-shadow:0 4px 12px oklch(from var(--primary,red)l c h/.3);transform:translateY(-1px)}.freelancers-grid .freelancer-card .chat-button:active:not(:disabled){transform:translateY(0)}.freelancers-grid .freelancer-card .chat-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.categories-hero{padding:3rem 1.5rem 2.5rem}.categories-hero .hero-title{font-size:2rem}.categories-hero .hero-subtitle{font-size:1rem}.progress-steps{gap:.5rem}.progress-steps .progress-step .step-number{width:36px;height:36px;font-size:.875rem}.progress-steps .progress-step .step-label{font-size:.75rem}.categories-section,.subjects-section,.freelancers-section{padding:2rem 1rem}.categories-section .section-header .section-title,.subjects-section .section-header .section-title,.freelancers-section .section-header .section-title{flex-direction:column;gap:.5rem;font-size:1.5rem}.categories-section .section-header .section-description,.subjects-section .section-header .section-description,.freelancers-section .section-header .section-description{font-size:.9375rem}.categories-grid,.freelancers-grid{grid-template-columns:1fr}}@media (max-width:480px){.categories-hero{padding:2rem 1rem}.categories-hero .hero-icon{width:56px;height:56px}.categories-hero .hero-icon svg{width:28px;height:28px}.categories-hero .hero-title{font-size:1.75rem}.progress-steps .step-label{display:none}.progress-steps .progress-line{margin-bottom:0}}
