.page-header{padding:2.5rem 0 2rem;text-align:center}.page-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:.75rem;color:var(--text-primary)}.title-accent{background:linear-gradient(135deg,#c084fc,#9333ea,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{color:var(--text-secondary);font-size:1rem;margin-bottom:1.5rem}.stats-row{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-value{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#c084fc,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.controls-section{margin-bottom:2rem}.search-wrapper{margin-bottom:1.5rem}.search-container{position:relative;max-width:560px;margin:0 auto}.search-input{width:100%;padding:.85rem 1.25rem .85rem 3rem;font-size:.95rem;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-secondary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text-primary);transition:all .25s ease;outline:none;font-family:inherit}.search-input:focus{border-color:rgba(147,51,234,.5);box-shadow:0 0 0 3px rgba(147,51,234,.15)}.search-input::placeholder{color:var(--text-muted)}.search-icon{left:1rem;color:var(--text-muted);pointer-events:none}.clear-search,.search-icon{position:absolute;top:50%;transform:translateY(-50%)}.clear-search{right:.85rem;background:var(--bg-tertiary);border:none;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9090b0;transition:all .2s ease}.clear-search:hover{background:rgba(147,51,234,.2);color:#eeeeff}.filters-container{margin-bottom:1.5rem}.filter-pills{position:relative;display:flex;gap:0;justify-content:center;flex-wrap:nowrap;padding:5px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:18px;backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);max-width:fit-content;margin:0 auto;box-shadow:0 2px 6px rgba(0,0,0,.4),0 16px 48px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.2)}.filter-indicator{top:5px;left:5px;height:calc(100% - 10px);background:linear-gradient(145deg,rgba(168,85,247,.95),rgba(99,102,241,.9));box-shadow:0 4px 22px rgba(147,51,234,.55),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.2);transition:transform .4s cubic-bezier(.34,1.56,.64,1),width .4s cubic-bezier(.34,1.56,.64,1);will-change:transform,width}.filter-indicator,.filter-indicator:after{position:absolute;border-radius:13px;pointer-events:none}.filter-indicator:after{content:"";inset:0;background:linear-gradient(175deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%)}.filter-pill{position:relative;z-index:1;display:flex;align-items:center;gap:.4rem;padding:.52rem 1.1rem;background:transparent;border:none;border-radius:13px;font-size:.84rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .2s ease;outline:none;font-family:inherit;white-space:nowrap;-webkit-tap-highlight-color:transparent;letter-spacing:.01em;user-select:none}.filter-pill:hover{color:var(--text-secondary)}.filter-pill:active{color:var(--text-primary)}.filter-pill.active{color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.25)}.pill-count{font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:20px;letter-spacing:.02em;background:var(--bg-tertiary);color:var(--text-muted);transition:background .2s ease,color .2s ease}.filter-pill.active .pill-count{background:rgba(255,255,255,.25);color:rgba(255,255,255,.95)}.results-summary{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.results-text{color:var(--text-secondary);font-size:.85rem}.clear-filters{background:none;border:none;color:#9333ea;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .2s ease;font-family:inherit;padding:.25rem .6rem;border-radius:6px}.clear-filters:hover{color:#c084fc;background:rgba(147,51,234,.1)}.projects-section{margin-bottom:4rem}.table-container{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}.table-wrapper{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse}.projects-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.projects-table th{padding:1rem 1.5rem;text-align:left;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.th-serial{width:60px}.th-action,.th-category{width:130px}.th-action{text-align:center}.project-row{border-bottom:1px solid var(--border-color);transition:all .2s ease;opacity:0;animation:fadeInUp .35s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-row:hover{background:rgba(147,51,234,.06)}.project-row:last-child{border-bottom:none}.projects-table td{padding:1rem 1.5rem;vertical-align:middle}.serial-number{font-size:.78rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,Roboto Mono,monospace}.project-info{display:flex;flex-direction:column}.project-name{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.4;margin:0}.td-category{text-align:center}.category-badge{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.category-badge.ml{background:rgba(147,51,234,.12);color:#c084fc;border:1px solid rgba(147,51,234,.25)}.category-badge.ai{background:rgba(59,130,246,.12);color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.category-badge.web{background:rgba(16,185,129,.12);color:#34d399;border:1px solid rgba(16,185,129,.25)}.category-badge.iot{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.category-badge.blockchain{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2)}.td-action{text-align:center}.projects-table .whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .9rem;background:#25D366;color:white;border:none;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(37,211,102,.3);outline:none;min-height:38px;font-family:inherit}.projects-table .whatsapp-btn:hover{background:#128C7E;transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,211,102,.4)}.projects-table .whatsapp-btn:active{transform:translateY(0)}.projects-table .whatsapp-icon{flex-shrink:0;fill:currentColor}.empty-state{text-align:center;padding:5rem 1.5rem;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:18px}.empty-icon{margin-bottom:1.5rem;color:var(--text-muted)}.empty-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.empty-description{color:var(--text-secondary);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto;font-size:.95rem;line-height:1.6}.reset-btn{padding:.7rem 1.5rem;background:linear-gradient(135deg,#9333ea,#6366f1);color:white;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px rgba(147,51,234,.35);font-family:inherit}.reset-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(147,51,234,.45);filter:brightness(1.1)}@media (max-width:768px){.page-header{padding:1.5rem 0 1.25rem}.stats-row{gap:1rem;flex-wrap:nowrap;justify-content:space-around}.stat-value{font-size:1.1rem}.stat-label{font-size:.65rem}.filters-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.filters-container::-webkit-scrollbar{display:none}.filter-pills{justify-content:flex-start;max-width:none;width:max-content;border-radius:16px;flex-wrap:nowrap}.filter-pill{white-space:nowrap;flex-shrink:0;padding:.45rem .85rem;font-size:.8rem}.results-summary{flex-direction:column;gap:6px}.table-wrapper{overflow-x:visible}.projects-table{table-layout:fixed;width:100%}.projects-table td,.projects-table th{padding:.7rem .6rem}.td-serial,.th-serial{display:none}.th-title{width:58%}.th-category{width:24%}.th-action{width:18%}.td-action,.th-action{text-align:center}.project-name{font-size:.875rem;word-wrap:break-word;overflow-wrap:break-word}.category-badge{font-size:.62rem;padding:.2rem .4rem}.projects-table .whatsapp-btn{width:32px;height:32px;min-height:32px;min-width:32px;max-width:32px;max-height:32px;padding:0;border-radius:8px;gap:0;box-shadow:none;overflow:hidden}.projects-table .whatsapp-icon{width:16px;height:16px;flex-shrink:0}.btn-text{display:none}}@media (max-width:480px){.projects-table td,.projects-table th{padding:.6rem .5rem}.project-name{font-size:.82rem}.category-badge{font-size:.58rem;padding:.15rem .3rem}.projects-table .whatsapp-btn{width:30px;height:30px;min-height:30px;min-width:30px;max-width:30px;max-height:30px}.projects-table .whatsapp-icon{width:14px;height:14px}}@media (min-width:769px) and (max-width:1024px){.page-title{font-size:2.5rem}}[data-theme=light] .filter-pills{box-shadow:0 2px 8px rgba(0,0,0,.08),0 8px 24px rgba(147,51,234,.1),inset 0 1px 0 rgba(255,255,255,.9)}[data-theme=light] .category-badge.ml{background:rgba(147,51,234,.1);color:#7c3aed;border-color:rgba(124,58,237,.3)}[data-theme=light] .category-badge.ai{background:rgba(37,99,235,.1);color:#2563eb;border-color:rgba(37,99,235,.3)}[data-theme=light] .category-badge.web{background:rgba(5,150,105,.1);color:#059669;border-color:rgba(5,150,105,.3)}[data-theme=light] .category-badge.iot{background:rgba(217,119,6,.1);color:#d97706;border-color:rgba(217,119,6,.3)}[data-theme=light] .category-badge.blockchain{background:rgba(220,38,38,.1);color:#dc2626;border-color:rgba(220,38,38,.25)}[data-theme=light] .project-row:hover{background:rgba(147,51,234,.04)}