:root{--jobs-primary: #0a244d;--jobs-primary-light: #1e3a8a;--jobs-accent: #00ecff;--jobs-accent-dark: #0891b2;--jobs-success: #10b981;--jobs-warning: #f59e0b;--jobs-danger: #ef4444;--jobs-bg: #f8fafc;--jobs-surface: #ffffff;--jobs-border: #e2e8f0;--jobs-text: #1e293b;--jobs-text-muted: #64748b;--jobs-text-light: #94a3b8;--jobs-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--jobs-shadow-lg: 0 10px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);--jobs-radius: 12px;--jobs-radius-lg: 16px;--jobs-transition: all .2s ease}[data-theme=dark]{--jobs-primary: #00ecff;--jobs-primary-light: #0ea5e9;--jobs-accent: #00d4e8;--jobs-accent-dark: #00bcd4;--jobs-bg: #0f172a;--jobs-surface: #1e293b;--jobs-border: #334155;--jobs-text: #f1f5f9;--jobs-text-muted: #94a3b8;--jobs-text-light: #64748b;--jobs-shadow: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--jobs-shadow-lg: 0 10px 25px -5px rgba(0,0,0,.4), 0 8px 10px -6px rgba(0,0,0,.3)}*{box-sizing:border-box}.jobs-page{background:var(--jobs-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--jobs-text);min-height:100vh}.jobs-nav{background:var(--jobs-surface);border-bottom:1px solid var(--jobs-border);position:sticky;top:0;z-index:100}.jobs-nav-inner{max-width:1400px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.jobs-nav-logo{font-size:1.5rem;font-weight:900;color:var(--jobs-primary);text-decoration:none;letter-spacing:-.02em}.jobs-nav-logo span{color:var(--jobs-accent-dark)}.jobs-nav-links{display:flex;gap:.5rem}.jobs-nav-link{padding:.5rem 1rem;color:var(--jobs-text-muted);text-decoration:none;font-weight:500;font-size:.9rem;border-radius:var(--jobs-radius);transition:var(--jobs-transition);display:flex;align-items:center;gap:.5rem}.jobs-nav-link:hover{background:var(--jobs-bg);color:var(--jobs-text)}.jobs-nav-link.active{background:var(--jobs-primary);color:#fff}.jobs-nav-user{display:flex;align-items:center;gap:1rem}.jobs-nav-fav{position:relative;background:none;border:1px solid var(--jobs-border);padding:.5rem .75rem;border-radius:var(--jobs-radius);cursor:pointer;color:var(--jobs-text-muted);transition:var(--jobs-transition)}.jobs-nav-fav:hover{border-color:var(--jobs-warning);color:var(--jobs-warning)}.jobs-nav-fav span{position:absolute;top:-6px;right:-6px;background:var(--jobs-warning);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:50px;min-width:18px;text-align:center}.jobs-nav-avatar{width:40px;height:40px;background:var(--jobs-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:var(--jobs-transition)}.jobs-nav-avatar:hover{background:var(--jobs-primary-light);transform:scale(1.05)}.jobs-hero{position:relative;padding:3rem 1.5rem;background:linear-gradient(135deg,var(--jobs-primary) 0%,#1e3a5f 50%,#0d2847 100%);overflow:hidden}.jobs-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(0,236,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,236,255,.08) 0%,transparent 40%),radial-gradient(circle at 50% 100%,rgba(0,236,255,.05) 0%,transparent 50%)}.jobs-hero-content{position:relative;max-width:900px;margin:0 auto;text-align:center;z-index:1}.jobs-hero-title{font-size:2.5rem;font-weight:800;color:#fff;margin:0 0 .5rem;letter-spacing:-.03em}.jobs-hero-subtitle{color:#ffffffb3;font-size:1.1rem;margin:0 0 2rem}.jobs-search-box{background:var(--jobs-surface);border-radius:var(--jobs-radius-lg);padding:1rem;box-shadow:var(--jobs-shadow-lg)}.jobs-search-main{display:flex;gap:.75rem;margin-bottom:1rem}.jobs-search-input{flex:1;display:flex;align-items:center;gap:.75rem;background:var(--jobs-bg);padding:.875rem 1rem;border-radius:var(--jobs-radius);border:2px solid transparent;transition:var(--jobs-transition)}.jobs-search-input:focus-within{border-color:var(--jobs-primary);background:var(--jobs-surface)}.jobs-search-input i{color:var(--jobs-text-muted);font-size:1rem}.jobs-search-input input{border:none;background:none;outline:none;width:100%;font-size:.95rem;color:var(--jobs-text)}.jobs-search-input input::placeholder{color:var(--jobs-text-light)}.jobs-search-btn{background:var(--jobs-primary);color:#fff;border:none;padding:0 2rem;border-radius:var(--jobs-radius);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--jobs-transition);display:flex;align-items:center;gap:.5rem;white-space:nowrap}.jobs-search-btn:hover{background:var(--jobs-primary-light);transform:translateY(-1px)}.jobs-search-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.jobs-search-tag{background:#0a244d14;color:var(--jobs-text);padding:.4rem .875rem;border-radius:50px;font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--jobs-transition)}.jobs-search-tag:hover{background:var(--jobs-primary);color:#fff}.jobs-hero-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.jobs-stat{text-align:center}.jobs-stat-num{display:block;font-size:1.75rem;font-weight:800;color:#fff}.jobs-stat-label{font-size:.85rem;color:#fff9}.jobs-container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem;display:grid;grid-template-columns:280px 1fr;gap:2rem}.jobs-sidebar{background:var(--jobs-surface);border-radius:var(--jobs-radius-lg);padding:1.5rem;height:fit-content;position:sticky;top:100px;box-shadow:var(--jobs-shadow)}.jobs-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--jobs-border)}.jobs-filter-header h3{font-size:1rem;font-weight:700;color:var(--jobs-text);margin:0;display:flex;align-items:center;gap:.5rem}.jobs-filter-clear{background:none;border:none;color:var(--jobs-accent-dark);font-weight:600;font-size:.85rem;cursor:pointer}.jobs-filter-clear:hover{text-decoration:underline}.jobs-filter-group{margin-bottom:1.5rem}.jobs-filter-label{display:block;font-size:.85rem;font-weight:600;color:var(--jobs-text);margin-bottom:.75rem}.jobs-filter-options{display:flex;flex-direction:column;gap:.5rem}.jobs-filter-option{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--jobs-text-muted);transition:var(--jobs-transition)}.jobs-filter-option:hover{background:var(--jobs-bg);color:var(--jobs-text)}.jobs-filter-option input{display:none}.jobs-filter-option .checkmark{width:18px;height:18px;border:2px solid var(--jobs-border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:var(--jobs-transition)}.jobs-filter-option input:checked+.checkmark{background:var(--jobs-primary);border-color:var(--jobs-primary)}.jobs-filter-option input:checked+.checkmark:after{content:"✓";color:#fff;font-size:.7rem;font-weight:700}.jobs-filter-select{width:100%;padding:.625rem .875rem;border:1px solid var(--jobs-border);border-radius:8px;font-size:.9rem;color:var(--jobs-text);background:var(--jobs-surface);cursor:pointer;outline:none;transition:var(--jobs-transition)}.jobs-filter-select:focus{border-color:var(--jobs-primary)}.jobs-main-content{min-width:0}.jobs-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.jobs-results-count{font-size:1rem;color:var(--jobs-text-muted)}.jobs-results-count span{font-weight:700;color:var(--jobs-text)}.jobs-sort{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--jobs-text-muted)}.jobs-sort select{padding:.5rem .75rem;border:1px solid var(--jobs-border);border-radius:8px;background:var(--jobs-surface);font-size:.9rem;cursor:pointer}.jobs-active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.jobs-active-filter{display:flex;align-items:center;gap:.5rem;background:var(--jobs-primary);color:#fff;padding:.375rem .75rem;border-radius:50px;font-size:.85rem;font-weight:500}.jobs-active-filter button{background:none;border:none;color:#fff;cursor:pointer;padding:0;font-size:1rem;line-height:1}.jobs-section-title{font-size:1.25rem;font-weight:700;color:var(--jobs-text);margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.jobs-section-title i{color:var(--jobs-warning)}.jobs-badge-premium{background:linear-gradient(135deg,var(--jobs-warning),#d97706);color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .6rem;border-radius:50px;letter-spacing:.05em}.jobs-featured{margin-bottom:2rem}.jobs-featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem}.jobs-card{background:var(--jobs-surface);border-radius:var(--jobs-radius-lg);padding:1.5rem;box-shadow:var(--jobs-shadow);border:1px solid var(--jobs-border);transition:var(--jobs-transition);position:relative;overflow:hidden}.jobs-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--jobs-border);transition:var(--jobs-transition)}.jobs-card:hover{box-shadow:var(--jobs-shadow-lg);transform:translateY(-3px);border-color:var(--jobs-accent-dark)}.jobs-card:hover:before{background:var(--jobs-primary)}.jobs-card.featured{border-color:var(--jobs-warning);background:linear-gradient(to bottom,#fffbeb,var(--jobs-surface))}.jobs-card.featured:before{background:var(--jobs-warning)}.jobs-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.jobs-card-company{display:flex;gap:1rem;align-items:center;flex:1;min-width:0}.jobs-card-logo{width:56px;height:56px;border-radius:var(--jobs-radius);object-fit:cover;background:var(--jobs-bg);flex-shrink:0;border:1px solid var(--jobs-border)}.jobs-card-info{min-width:0}.jobs-card-title{font-size:1.1rem;font-weight:700;color:var(--jobs-text);margin:0 0 .25rem;line-height:1.3}.jobs-card-company-name{font-size:.9rem;color:var(--jobs-text-muted);font-weight:500;text-decoration:none;transition:var(--jobs-transition)}.jobs-card-company-name:hover{color:var(--jobs-primary)}.jobs-card-fav{background:none;border:none;font-size:1.25rem;color:var(--jobs-text-light);cursor:pointer;padding:.25rem;transition:var(--jobs-transition);flex-shrink:0}.jobs-card-fav:hover{color:var(--jobs-warning);transform:scale(1.1)}.jobs-card-fav.active{color:var(--jobs-warning)}.jobs-card-featured{display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,var(--jobs-warning),#d97706);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .75rem;border-radius:50px;margin-bottom:.75rem}.jobs-card-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.875rem;color:var(--jobs-text-muted)}.jobs-card-meta-item{display:flex;align-items:center;gap:.375rem}.jobs-card-meta-item i{font-size:.8rem}.jobs-card-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.jobs-badge{padding:.35rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600}.jobs-badge-remoto{background:#d1fae5;color:#059669}.jobs-badge-hibrido{background:#fef3c7;color:#d97706}.jobs-badge-presencial{background:#f1f5f9;color:#475569}.jobs-badge-indefinido{background:#e0e7ff;color:#4f46e5}.jobs-badge-plazo{background:#fee2e2;color:#dc2626}.jobs-badge-part{background:#f3e8ff;color:#9333ea}.jobs-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--jobs-border);flex-wrap:wrap;gap:.75rem}.jobs-card-salary{font-weight:700;color:var(--jobs-primary);font-size:1rem}.jobs-card-date{font-size:.8rem;color:var(--jobs-text-light)}.jobs-card-action{display:flex;gap:.5rem}.jobs-card-btn{padding:.625rem 1.25rem;border-radius:var(--jobs-radius);font-size:.9rem;font-weight:600;text-decoration:none;transition:var(--jobs-transition);cursor:pointer}.jobs-card-btn-primary{background:var(--jobs-primary);color:#fff;border:none}.jobs-card-btn-primary:hover{background:var(--jobs-primary-light)}.jobs-card-btn-outline{background:none;border:2px solid var(--jobs-border);color:var(--jobs-text-muted)}.jobs-card-btn-outline:hover{border-color:var(--jobs-primary);color:var(--jobs-primary)}.jobs-loading{text-align:center;padding:4rem 2rem;color:var(--jobs-text-muted)}.jobs-loading-spinner{width:48px;height:48px;border:4px solid var(--jobs-border);border-top-color:var(--jobs-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.jobs-pagination{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.jobs-page-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--jobs-border);background:var(--jobs-surface);border-radius:8px;font-weight:500;color:var(--jobs-text);cursor:pointer;transition:var(--jobs-transition)}.jobs-page-btn:hover{border-color:var(--jobs-primary);color:var(--jobs-primary)}.jobs-page-btn.active{background:var(--jobs-primary);border-color:var(--jobs-primary);color:#fff}.jobs-modal{display:none;position:fixed;inset:0;background:#00000080;z-index:1000;align-items:center;justify-content:center;padding:1rem}.jjobs-modal.open{display:flex}.jobs-modal-content{background:var(--jobs-surface);border-radius:var(--jobs-radius-lg);padding:2rem;max-width:480px;width:100%;position:relative;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.jobs-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--jobs-text-light);cursor:pointer}.jobs-modal-header h3{margin:0 0 .5rem;font-size:1.25rem}.jobs-modal-header p{color:var(--jobs-text-muted);margin:0}.jobs-modal-body{margin:1.5rem 0;padding:1rem;background:var(--jobs-bg);border-radius:var(--jobs-radius)}.jobs-modal-note{font-size:.875rem;color:var(--jobs-text-muted);margin-top:.5rem}.jobs-modal-footer{display:flex;gap:1rem;justify-content:flex-end}.jobs-btn-secondary{padding:.75rem 1.5rem;border:2px solid var(--jobs-border);background:none;border-radius:var(--jobs-radius);font-weight:600;cursor:pointer;color:var(--jobs-text-muted)}.jobs-btn-primary{padding:.75rem 1.5rem;background:var(--jobs-primary);color:#fff;border:none;border-radius:var(--jobs-radius);font-weight:600;cursor:pointer}.jobs-btn-primary:hover{background:var(--jobs-primary-light)}.jobs-empty{text-align:center;padding:4rem 2rem;background:var(--jobs-surface);border-radius:var(--jobs-radius-lg);border:2px dashed var(--jobs-border)}.jobs-empty i{font-size:4rem;color:var(--jobs-text-light);margin-bottom:1rem}.jobs-empty h3{margin:0 0 .5rem;color:var(--jobs-text)}.jobs-empty p{color:var(--jobs-text-muted);margin:0}@media(max-width:1024px){.jobs-container{grid-template-columns:1fr}.jobs-sidebar{position:static;display:none}.jobs-sidebar.open{display:block}}@media(max-width:768px){.jobs-nav-inner{padding:.75rem 1rem}.jobs-nav-links{display:none}.jobs-hero{padding:2rem 1rem}.jobs-hero-title{font-size:1.75rem}.jobs-search-main{flex-direction:column}.jobs-search-btn{justify-content:center;padding:1rem}.jobs-hero-stats{gap:1.5rem}.jobs-stat-num{font-size:1.25rem}.jobs-card{padding:1.25rem}.jobs-card-footer{flex-direction:column;align-items:stretch}.jobs-card-action{flex-direction:column}.jobs-card-btn{text-align:center}}.jobs-mobile-filter{display:none;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--jobs-primary);color:#fff;padding:.875rem 1.5rem;border-radius:50px;font-weight:600;box-shadow:var(--jobs-shadow-lg);z-index:50;gap:.5rem;align-items:center}@media(max-width:1024px){.jobs-mobile-filter{display:flex}}.jobs-theme-toggle{background:none;border:1px solid var(--jobs-border);padding:.5rem .75rem;border-radius:var(--jobs-radius);cursor:pointer;color:var(--jobs-text-muted);font-size:1rem;transition:var(--jobs-transition);display:flex;align-items:center;justify-content:center}.jobs-theme-toggle:hover{border-color:var(--jobs-primary);color:var(--jobs-primary)}[data-theme=dark] .jobs-nav{background:var(--jobs-surface);border-bottom-color:var(--jobs-border)}[data-theme=dark] .jobs-nav-link:hover{background:#ffffff1a}[data-theme=dark] .jobs-hero{background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a)}[data-theme=dark] .jobs-search-box{background:var(--jobs-surface)}[data-theme=dark] .jobs-search-input{background:var(--jobs-bg);border-color:var(--jobs-border)}[data-theme=dark] .jobs-search-input:focus-within{border-color:var(--jobs-primary);background:var(--jobs-surface)}[data-theme=dark] .jobs-search-tag{background:#00ecff1a;color:var(--jobs-accent)}[data-theme=dark] .jobs-search-tag:hover{background:var(--jobs-primary);color:#0f172a}[data-theme=dark] .jobs-sidebar{background:var(--jobs-surface);box-shadow:var(--jobs-shadow)}[data-theme=dark] .jobs-filter-header{border-bottom-color:var(--jobs-border)}[data-theme=dark] .jobs-filter-option:hover{background:#ffffff0d}[data-theme=dark] .jobs-filter-select{background:var(--jobs-bg);border-color:var(--jobs-border);color:var(--jobs-text)}[data-theme=dark] .jobs-card{background:var(--jobs-surface);border-color:var(--jobs-border)}[data-theme=dark] .jobs-card:hover{border-color:var(--jobs-primary)}[data-theme=dark] .jobs-card.featured{background:linear-gradient(to bottom,#1e293b,var(--jobs-surface))}[data-theme=dark] .jobs-card-footer{border-top-color:var(--jobs-border)}[data-theme=dark] .jobs-card-salary{color:var(--jobs-primary)}[data-theme=dark] .jobs-card-btn-outline{border-color:var(--jobs-border);color:var(--jobs-text-muted)}[data-theme=dark] .jobs-card-btn-outline:hover{border-color:var(--jobs-primary);color:var(--jobs-primary)}[data-theme=dark] .jobs-sort select,[data-theme=dark] .jobs-page-btn{background:var(--jobs-surface);border-color:var(--jobs-border);color:var(--jobs-text)}[data-theme=dark] .jobs-page-btn:hover{border-color:var(--jobs-primary);color:var(--jobs-primary)}[data-theme=dark] .jobs-page-btn.active{background:var(--jobs-primary);border-color:var(--jobs-primary);color:#0f172a}[data-theme=dark] .jobs-modal-content{background:var(--jobs-surface)}[data-theme=dark] .jobs-modal-close{color:var(--jobs-text-light)}[data-theme=dark] .jobs-modal-body{background:var(--jobs-bg)}[data-theme=dark] .jobs-btn-secondary{border-color:var(--jobs-border);color:var(--jobs-text-muted)}[data-theme=dark] .jobs-empty{background:var(--jobs-surface);border-color:var(--jobs-border)}[data-theme=dark] .jobs-empty i{color:var(--jobs-text-light)}[data-theme=dark] .jobs-nav-fav{border-color:var(--jobs-border)}[data-theme=dark] .jobs-nav-fav:hover{border-color:var(--jobs-warning);color:var(--jobs-warning)}[data-theme=dark] .jobs-nav-avatar{background:var(--jobs-primary);color:#0f172a}[data-theme=dark] .jobs-badge-remoto{background:#10b98133;color:#34d399}[data-theme=dark] .jobs-badge-hibrido{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .jobs-badge-presencial{background:#94a3b833;color:#cbd5e1}[data-theme=dark] .jobs-badge-indefinido{background:#6366f133;color:#818cf8}[data-theme=dark] .jobs-badge-plazo{background:#ef444433;color:#f87171}[data-theme=dark] .jobs-badge-part{background:#9333ea33;color:#c084fc}
