.joboffer-list-page{background:#f7f9fa;min-height:100vh;padding-top:70px}.joboffer-hero{background:linear-gradient(135deg,var(--secondary) 0,rgba(52,173,129,.2) 100%);overflow:hidden;padding:4rem 0 3rem;position:relative}.joboffer-hero:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath fill='rgba(52,173,129,0.08)' fill-rule='evenodd' d='m54.627 0 .83.828-1.415 1.415L51.8 0zM5.373 0l-.83.828L5.96 2.243 8.2 0zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0 7.372 3.657 8.787 5.07 13.857 0zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9zM16.686 0 10.2 6.485 11.616 7.9l7.9-7.9zm20.97 0 9.315 9.314-1.414 1.414L34.828 0h2.83zM22.344 0 13.03 9.314l1.414 1.414L25.172 0h-2.83zM32 0l12.142 12.142-1.414 1.414L30 .828 17.272 13.556l-1.414-1.416L28 0zm-6.858 0-8.62 8.62-1.414-1.414L23.515 0zm13.716 0 8.62 8.62 1.414-1.414L36.485 0h1.627z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.joboffer-hero-title{color:var(--text-dark);font-size:2.8rem;font-weight:800;letter-spacing:-.02em;margin:0 0 1rem;text-align:center}.joboffer-hero-subtitle{color:var(--text-light);font-size:1.2rem;font-weight:500;margin:0;text-align:center}.joboffer-container{max-width:1200px;padding:3rem 2rem}.joboffer-header{margin-bottom:32px}.joboffer-header h1{color:var(--primary);font-weight:700;text-align:center}.joboffer-header h3{color:#000;font-weight:700;text-align:left}.joboffer-filters{background:#fff;border-radius:var(--card-radius);box-shadow:var(--shadow);margin-bottom:32px;padding:24px}.joboffer-filter-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}.joboffer-filter-group{flex:1 1 auto;margin-bottom:0;min-width:180px;position:relative}.joboffer-filter-group input,.joboffer-filter-group select{appearance:none;background:#f9fdfb;border:1.5px solid #e0e0e0;border-radius:10px;box-shadow:none;font-size:1rem;outline:none;padding:16px 12px 8px;transition:border-color .2s;width:100%}.joboffer-filter-group input:focus,.joboffer-filter-group select:focus{background:#fff;border-color:var(--primary)}.joboffer-filter-group label{background:transparent;color:#888;font-size:1rem;left:14px;padding:0 4px;pointer-events:none;position:absolute;top:14px;transition:.2s}.joboffer-filter-group input:focus+label,.joboffer-filter-group input:not(:placeholder-shown)+label,.joboffer-filter-group select:focus+label,.joboffer-filter-group select:not([value=""])+label{background:#f9fdfb;color:var(--primary);font-size:.82rem;left:10px;top:2px}.joboffer-filter-group select{background:#f9fdfb url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2334ad81' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 8 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center/18px 18px;padding-right:36px}.joboffer-filter-group select option[disabled][hidden]{display:none}.joboffer-filter-group select optgroup{color:var(--primary);font-size:.95rem;font-weight:700;padding:8px 0 4px}.joboffer-filter-group select optgroup option{color:#333;font-weight:500;padding-left:12px}.joboffer-filter-form .joboffer-btn-primary{background:var(--primary);border:none;border-radius:10px;box-shadow:0 2px 8px rgba(52,173,129,.08);color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;height:48px;line-height:48px;min-width:120px;text-align:center;text-decoration:none;transition:background .2s}.joboffer-filter-form .joboffer-btn-primary:hover{background:#29996d;color:#fff}.joboffer-filter-error{background:#fff0f0;border:1.5px solid #e57373;border-radius:8px;box-shadow:0 2px 8px hsla(0,71%,68%,.08);color:#b71c1c;display:none;font-size:1rem;font-weight:500;margin-top:10px;padding:12px 18px;transition:all .2s}.joboffer-filter-error.active{display:block}.joboffer-result-count{color:var(--primary,#34ad81);font-size:1.08rem;font-weight:600;margin-bottom:8px}.joboffer-pagination{margin:24px 0;text-align:center}.joboffer-pagination .pagination{background:#fff;border-radius:8px;box-shadow:var(--shadow);display:inline-flex;gap:4px;padding:8px 18px}.joboffer-pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff}.joboffer-pagination .page-link{border:1px solid #e0e0e0;border-radius:6px!important;color:var(--primary);transition:background .2s,color .2s}.joboffer-pagination .page-link:hover{background:var(--secondary);color:var(--primary-dark)}.joboffer-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.joboffer-card{background:#fff;border-left:6px solid var(--primary);border-radius:var(--card-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.joboffer-card:hover{box-shadow:0 8px 32px rgba(52,173,129,.16)}.joboffer-card-img{height:160px;object-fit:cover;width:100%}.joboffer-card-body{flex:1;padding:20px}.joboffer-card-title{color:var(--primary);font-size:1.3rem;font-weight:600;margin-bottom:8px}.joboffer-card-company{margin-bottom:8px}.joboffer-company-link{align-items:center;color:#555;display:inline-flex;font-size:.95rem;font-weight:500;gap:6px;text-decoration:none;transition:color .2s}.joboffer-company-link:hover{color:var(--primary);text-decoration:none}.joboffer-company-link i{color:var(--primary);font-size:.9rem}.joboffer-card-meta{color:#888;display:flex;font-size:.95rem;gap:3px;margin-bottom:12px}.joboffer-card-desc{color:#333;margin-bottom:16px}.joboffer-card-tags{display:flex;flex-wrap:wrap}.joboffer-badge{background:var(--secondary);border-radius:6px;color:#222;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 10px}.joboffer-badge-status-new{background:var(--primary);color:#fff}.joboffer-badge-status-active{background:#4ecca3;color:#fff}.joboffer-badge-status-closed{background:#e57373;color:#fff}.joboffer-card-footer{align-items:center;background:#fafbfc;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.joboffer-card-footer .text-muted{font-size:14px}.joboffer-btn-outline{background:transparent;border:2px solid var(--primary);border-radius:8px;color:var(--primary);font-weight:500;padding:5px 13px;text-decoration:none;transition:background .2s,color .2s}.joboffer-btn-outline:hover{background:var(--primary);color:#fff}.joboffer-empty{grid-column:1/-1;text-align:center}.joboffer-not-found{background:#fff;border-radius:var(--card-radius);box-shadow:var(--shadow);margin-top:2rem;padding:4rem 2rem;text-align:center}.joboffer-not-found-img{margin-bottom:2rem;max-width:400px;opacity:.9;width:100%}.joboffer-not-found-title{color:var(--text-dark);font-size:2rem;font-weight:700;margin-bottom:1rem}.joboffer-not-found-message{color:var(--text-light);font-size:1.1rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px}.joboffer-not-found-btn{align-items:center;background:#34ad81;border-radius:8px;box-shadow:0 4px 12px rgba(52,173,129,.2);color:#fff!important;display:inline-flex;font-size:1.05rem;font-weight:600;gap:8px;padding:14px 32px;text-decoration:none;transition:all .3s}.joboffer-not-found-btn:hover{background:#29996d;box-shadow:0 6px 16px rgba(52,173,129,.3);color:#fff!important;text-decoration:none;transform:translateY(-2px)}.joboffer-not-found-btn i{font-size:1rem}.joboffer-details-card{background:#fff;border-left:6px solid var(--primary,#34ad81);border-radius:var(--card-radius,18px);box-shadow:var(--shadow,0 4px 24px rgba(52,173,129,.08));margin-bottom:32px;padding:32px 40px;transition:box-shadow .2s}.joboffer-details-card h2{color:var(--primary,#34ad81);font-weight:700;margin-bottom:16px}.joboffer-details-company{margin-bottom:16px}.joboffer-company-details-link{align-items:center;background:rgba(52,173,129,.08);border:1px solid rgba(52,173,129,.2);border-radius:8px;color:#555;display:inline-flex;font-size:1.15rem;font-weight:600;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s}.joboffer-company-details-link:hover{background:rgba(52,173,129,.15);border-color:var(--primary,#34ad81);color:var(--primary,#34ad81);text-decoration:none}.joboffer-company-details-link i{color:var(--primary,#34ad81);font-size:1.1rem}.joboffer-details-meta{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.joboffer-details-meta>div{display:flex;flex-direction:column;gap:12px}.joboffer-details-meta-item{align-items:center;color:#444;display:flex;font-size:1.08rem;gap:8px}.joboffer-details-badges{margin-bottom:18px}.joboffer-details-badge{background:var(--secondary,#baffd3);border-radius:8px;color:var(--primary,#34ad81);display:inline-block;font-size:1rem;font-weight:600;margin-bottom:8px;margin-right:10px;padding:6px 18px}.joboffer-details-badge.primary{background:var(--primary,#34ad81);color:#fff}.joboffer-details-description{color:#222;font-size:1.08rem;line-height:1.7;margin-bottom:24px;white-space:pre-wrap;word-wrap:break-word}.joboffer-details-apply-btn{background:var(--primary,#34ad81);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(52,173,129,.08);color:#fff;display:inline-block;font-size:1.1rem;font-weight:600;padding:12px 36px;text-decoration:none;transition:background .2s}.joboffer-details-apply-btn:hover{background:#29996d;color:#fff}.joboffer-details-section-title{color:var(--primary,#34ad81);font-size:1.2rem;font-weight:600;margin-bottom:12px;margin-top:24px}.joboffer-details-divider{border:none;border-top:2px solid var(--primary,#34ad81);margin:32px auto 24px;opacity:.18;width:60%}.joboffer-content-card{background:#fff;border-left:6px solid var(--primary,#34ad81);border-radius:var(--card-radius,18px);box-shadow:var(--shadow,0 4px 24px rgba(52,173,129,.08));margin-bottom:32px;padding:32px 40px}.joboffer-apply-form-title{color:var(--primary,#34ad81);font-size:1.5rem;font-weight:700;margin-bottom:24px}.joboffer-apply-form .form-group label{color:var(--primary,#34ad81);font-weight:600}.joboffer-apply-form .form-control:focus{border-color:var(--primary,#34ad81);box-shadow:0 0 0 2px var(--secondary,#baffd3)}.joboffer-apply-form .btn-primary{background:var(--primary,#34ad81);border:none;border-radius:8px;font-size:1.1rem;font-weight:600;padding:10px 32px;transition:background .2s}.joboffer-apply-form .btn-primary:hover{background:#29996d}@media (max-width:768px){.joboffer-container{box-sizing:border-box;padding-left:.85rem;padding-right:1rem;width:100%}.joboffer-content-card,.joboffer-details-card{padding:18px 8px}.joboffer-details-meta{gap:16px;grid-template-columns:1fr}.joboffer-details-meta>div{gap:10px}.joboffer-filter-form{align-items:stretch!important;flex-direction:column;gap:10px;justify-content:flex-start!important}.joboffer-filter-group{min-width:0;width:100%}.joboffer-btn-primary{margin-left:0;margin-top:10px;width:100%}.joboffer-hero-title{font-size:2rem}.joboffer-hero-subtitle{font-size:1rem}}.joboffer-details-card-with-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;max-height:400px;min-height:250px;overflow:hidden;position:relative}.joboffer-details-card-with-bg>*{position:relative;z-index:2}.joboffer-details-card-with-bg:before{background:#ffffff9a;border-radius:var(--card-radius,18px);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.joboffer-details-card-with-bg .joboffer-bg-img{border-radius:var(--card-radius,18px);height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:0}