.job-search{min-height:100vh;background:#f9fafb}.job-search__hero{background:linear-gradient(135deg,#1e3a8a,#2257b8);padding:4rem 1rem;text-align:center;color:#fff}.job-search__hero-inner{max-width:720px;margin:0 auto}.job-search__hero-inner h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.job-search__hero-inner p{font-size:1.125rem;opacity:.85;margin-bottom:2rem}.job-search__hero-search{background:#fff;border-radius:1rem;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.job-search__location{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #e5e7eb;padding-bottom:.75rem}.job-search__location svg{color:#1e3a8a;flex-shrink:0;font-size:1.1rem}.job-search__location input{flex:1 1;border:none;outline:none;font-size:1rem;color:#111827;background:transparent}.job-search__location input::placeholder{color:#9ca3af}.job-search__location button{background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;display:flex;align-items:center}.job-search__location button:hover{color:#4b5563}.job-search__radius{display:flex;gap:.5rem;flex-wrap:wrap}.job-search__radius-btn{padding:.25rem .75rem;border:1.5px solid #d1d5db;border-radius:999px;background:#fff;color:#4b5563;font-size:.875rem;cursor:pointer;transition:all .15s ease-in-out}.job-search__radius-btn--active{border-color:#1e3a8a;background:#1e3a8a;color:#fff}.job-search__radius-btn:hover:not(.job-search__radius-btn--active){border-color:#1e3a8a;color:#1e3a8a}.job-search__body{max-width:1280px;margin:0 auto;padding:2rem 1rem}.job-search__filter-toggle{display:none;align-items:center;gap:.5rem;background:#1e3a8a;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:500;cursor:pointer;margin-bottom:1rem;position:relative}.job-search__filter-badge{width:8px;height:8px;background:#f59e0b;border-radius:50%;display:inline-block}.job-search__layout{display:grid;grid-template-columns:280px 1fr;grid-gap:2rem;gap:2rem;align-items:start}.job-search__sidebar{background:#fff;border-radius:.75rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:1.5rem;position:-webkit-sticky;position:sticky;top:100px}.job-search__sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.job-search__sidebar-header h2{font-size:1.125rem;font-weight:600;color:#111827}.job-search__clear{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#ef4444;font-size:.875rem;cursor:pointer;padding:0}.job-search__clear:hover{text-decoration:underline}.job-search__filter-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f3f4f6}.job-search__filter-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.job-search__filter-group h3{font-size:.875rem;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.job-search__category{margin-bottom:.25rem}.job-search__category-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:.5rem .75rem;border-radius:.5rem;color:#111827;font-size:.875rem;cursor:pointer;text-align:left;transition:all .15s ease-in-out}.job-search__category-btn:hover{background:#f9fafb}.job-search__category-btn--active{background:rgba(30,58,138,.08);color:#1e3a8a;font-weight:500}.job-search__category-btn svg{font-size:.7rem;color:#9ca3af;flex-shrink:0}.job-search__subtypes{padding-left:1rem;margin-top:.25rem;display:flex;flex-direction:column;gap:2px}.job-search__subtype-btn{background:none;border:none;padding:.25rem .75rem;border-radius:.5rem;color:#4b5563;font-size:.875rem;cursor:pointer;text-align:left;transition:all .15s ease-in-out}.job-search__subtype-btn:hover{background:#f9fafb;color:#111827}.job-search__subtype-btn--active{background:rgba(30,58,138,.08);color:#1e3a8a;font-weight:500}.job-search__checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#111827;cursor:pointer;padding:.25rem 0}.job-search__checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#1e3a8a;cursor:pointer;flex-shrink:0}.job-search__salary-row{display:flex;flex-direction:column;gap:.75rem}.job-search__salary-dash{display:none}.job-search__salary-input{display:flex;flex-direction:column;gap:.25rem}.job-search__salary-input-label{font-size:.75rem;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.job-search__salary-input-field{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:.5rem;overflow:hidden;transition:border-color .15s ease-in-out}.job-search__salary-input-field:focus-within{border-color:#1e3a8a}.job-search__salary-input span{padding:.5rem;background:#f9fafb;color:#9ca3af;font-size:.875rem;border-right:1px solid #e5e7eb;flex-shrink:0}.job-search__salary-input span.suffix{border-right:none;border-left:1px solid #e5e7eb}.job-search__salary-input input{flex:1 1;border:none;outline:none;padding:.5rem;font-size:.875rem;color:#111827;background:#fff;min-width:0}.job-search__salary-input input::placeholder{color:#9ca3af}.job-search__results{display:flex;flex-direction:column;gap:1rem}.job-search__results-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.job-search__count{font-size:1rem;color:#4b5563}.job-search__count strong{color:#111827;font-weight:600}.job-search__randomised{font-size:.75rem;color:#9ca3af;font-style:italic}.job-search__list{display:flex;flex-direction:column;gap:1rem}.job-search__empty{background:#fff;border-radius:.75rem;padding:4rem;text-align:center;color:#4b5563}.job-search__empty svg{font-size:3rem;color:#d1d5db;margin-bottom:1rem}.job-search__empty h3{font-size:1.25rem;color:#111827;margin-bottom:.5rem}.job-search__empty p{margin-bottom:1.5rem}.job-search__empty-clear{background:#1e3a8a;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer}.job-search__empty-clear:hover{background:#2257b8}@media(max-width:1024px){.job-search__layout{grid-template-columns:1fr}.job-search__filter-toggle{display:flex}.job-search__sidebar{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;overflow-y:auto;border-radius:0}.job-search__sidebar--open{display:block}}@media(max-width:768px){.job-search__hero-inner h1{font-size:1.875rem}}.job-card{background:#fff;border-radius:.75rem;padding:1.25rem;display:flex;gap:1rem;cursor:pointer;transition:all .2s ease-in-out;border:2px solid transparent}.job-card,.job-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.job-card:hover{border-color:#1e3a8a;transform:translateY(-1px)}.job-card__left{flex-shrink:0}.job-card__logo{width:60px;height:60px;border-radius:.5rem;overflow:hidden;border:1px solid #e5e7eb}.job-card__logo img{width:100%;height:100%;object-fit:contain}.job-card__logo-placeholder{width:100%;height:100%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:1.5rem}.job-card__body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.75rem}.job-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.job-card__title{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:2px}.job-card__agency{font-size:.875rem;color:#1e3a8a;font-weight:500}.job-card__work-type{flex-shrink:0;background:rgba(30,58,138,.08);color:#1e3a8a;font-size:.75rem;font-weight:600;padding:3px .75rem;border-radius:999px;white-space:nowrap}.job-card__meta{display:flex;flex-wrap:wrap;gap:1rem}.job-card__meta span{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#4b5563}.job-card__meta span svg{color:#9ca3af;font-size:.75rem}.job-card__desc{font-size:.875rem;color:#4b5563;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.job-card__date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#9ca3af}.job-card__date svg{font-size:.7rem}.job-card__btn{background:#1e3a8a;color:#fff;border:none;border-radius:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease-in-out}.job-card__btn:hover{background:#2257b8}@media(max-width:640px){.job-card{flex-direction:column}.job-card__left{display:none}.job-card__top{flex-direction:column}}