:root{--bg-color: #0f172a;--card-bg: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--border: #334155}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.header{text-align:center;margin-bottom:3rem}.header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(to right,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header p{color:var(--text-secondary);font-size:1.1rem}.search-box{margin-top:2rem;display:flex;align-items:center;background:var(--card-bg);height:54px;padding:0 1.5rem;border-radius:50px;border:1px solid var(--border);max-width:500px;margin-left:auto;margin-right:auto;transition:all .2s ease}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #3b82f626}.search-box input{background:transparent;border:none;color:var(--text-primary);flex:1;margin-left:12px;font-size:1rem;outline:none;height:100%;font-family:inherit}.btn-clear{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:50%;transition:all .2s;margin-left:5px}.btn-clear:hover{background-color:#ffffff1a;color:#ef4444}.filters-area{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;align-items:center}.filter-group{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;min-height:36px}.filter-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-right:8px;display:flex;align-items:center;gap:6px}.filter-chip{background:var(--card-bg);border:1px solid var(--border);color:var(--text-secondary);padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit;-webkit-user-select:none;user-select:none}.filter-chip:hover{border-color:var(--text-secondary);color:var(--text-primary)}.filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-chip.tech.active{background:#8b5cf6;border-color:#8b5cf6}.stats{margin-bottom:1.5rem;color:var(--text-secondary);font-size:.95rem;text-align:center}.grid-vagas{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.card-vaga{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;height:100%}.card-vaga:hover{transform:translateY(-4px);box-shadow:0 10px 20px -5px #0000004d;border-color:var(--accent)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tag-origem{padding:4px 10px;border-radius:6px;font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.5px;background:#334155;color:var(--text-primary)}.tag-origem.github{background:#24292e;color:#fff;border:1px solid #444}.tag-origem.remoteok{background:#ff4742;color:#fff}.tag-origem.adzuna{background:#27ae60;color:#fff}.tag-origem.jooble{background:#e67e22;color:#fff}.tag-origem.jsearch{background:#8e44ad;color:#fff}.data-publicacao{color:var(--text-secondary);font-size:.8rem}.card-vaga h2{font-size:1.25rem;margin:0 0 1rem;line-height:1.4;color:var(--text-primary);flex-grow:1}.info-row{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.5rem;color:var(--text-secondary);font-size:.9rem}.info-item{display:flex;align-items:center;gap:10px}.btn-aplicar{display:flex;justify-content:center;align-items:center;gap:8px;background:var(--accent);color:#fff;text-decoration:none;padding:.8rem;border-radius:8px;font-weight:600;transition:background .2s;margin-top:auto}.btn-aplicar:hover{background:var(--accent-hover)}.empty-state{text-align:center;padding:4rem 1rem;color:var(--text-secondary)}.btn-reset{margin-top:1rem;background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:8px 16px;border-radius:20px;cursor:pointer;transition:all .2s}.btn-reset:hover{background:var(--border)}@media(max-width:600px){.header h1{font-size:1.8rem}.search-box{padding:0 1rem}.filter-group{justify-content:flex-start;overflow-x:auto;white-space:nowrap;width:100%;padding-bottom:10px}}
