.jobsPage{display:flex;flex-direction:column;gap:1rem}@media (min-width:640px){.jobsPage{gap:1rem}}.jobsLocationPrompt{overflow:hidden;border-radius:var(--ui-radius);border:1px solid var(--border-default);background:linear-gradient(to bottom right,var(--colors--blue-light),var(--color-bg-primary));box-shadow:var(--shadow-card);padding:1.25rem}@media (min-width:640px){.jobsLocationPrompt{padding:1.5rem}}.jobsLocationTitle{margin:0;font-family:var(--font-family-primary);font-size:1rem;font-weight:700;color:var(--color-primary)}.jobsLocationText{margin:.25rem 0 0;font-size:.875rem;line-height:1.625;color:var(--colors--grey)}.jobsLocationSearch{margin-top:1rem}.jobsFilterBar{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:var(--ui-radius);border:1px solid var(--border-default);background-color:var(--color-bg-primary);box-shadow:var(--shadow-card)}@media (min-width:640px){.jobsFilterBar{flex-direction:row;align-items:center;gap:1rem}}.jobsSearchWrap{position:relative;min-width:0;flex:1}.jobsSearchIcon{pointer-events:none;position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--colors--grey)}.jobsInput{width:100%;box-sizing:border-box;border-radius:var(--ui-radius);border:1px solid var(--border-default);background-color:var(--color-bg-primary);padding:.625rem .875rem;font-size:.875rem;font-family:var(--font-family-primary);color:var(--color-primary);box-shadow:var(--shadow-card);outline:none;transition:border-color .2s,box-shadow .2s}.jobsInput::-moz-placeholder{color:var(--colors--grey)}.jobsInput::placeholder{color:var(--colors--grey)}.jobsInput:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--colors--blue-light)}.jobsInputWithIcon{padding-left:2.5rem}.jobsFilterControls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}@media (min-width:640px){.jobsFilterControls{gap:.75rem}}.jobsSelectWrap{position:relative;min-width:140px;flex:1}@media (min-width:640px){.jobsSelectWrap{flex:initial;width:11rem}}.jobsSelectIcon{pointer-events:none;position:absolute;left:.75rem;top:50%;height:1rem;width:1rem;transform:translateY(-50%);color:var(--colors--grey)}.jobsSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;padding-left:2.25rem}.jobsDateWrap{position:relative;min-width:140px;flex:1}@media (min-width:640px){.jobsDateWrap{flex:initial;width:11rem}}.jobsDateInput{padding-left:2.25rem;color-scheme:light}.jobsDateInput::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.jobsViewToggle{display:flex;border-radius:var(--ui-radius);border:1px solid var(--border-default);background-color:var(--colors--blue-light);padding:.25rem}.jobsViewToggleBtn{display:flex;align-items:center;gap:.375rem;border:none;border-radius:var(--ui-radius);padding:.5rem .75rem;font-size:.75rem;font-weight:600;font-family:var(--font-family-primary);background:transparent;cursor:pointer;transition:all .2s}.jobsViewToggleBtnActive{background-color:var(--color-bg-primary);color:var(--color-accent);box-shadow:var(--shadow-card)}.jobsViewToggleBtnInactive{color:var(--colors--grey)}.jobsViewToggleLabel{display:none}@media (min-width:640px){.jobsViewToggleLabel{display:inline}}.jobsMap{width:100%;height:min(70vh,420px);overflow:hidden;border-radius:var(--ui-radius);border:1px solid var(--border-default);box-shadow:var(--shadow-card)}.jobsMapSkeleton{height:18rem;width:100%;border-radius:var(--ui-radius);background:linear-gradient(90deg,var(--colors--blue-light) 0,var(--color-bg-primary) 50%,var(--colors--blue-light) 100%);background-size:200% 100%;animation:jobsShimmer 2s linear infinite}@media (min-width:640px){.jobsMapSkeleton{height:24rem}}@keyframes jobsShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.jobsCount{margin:0;font-size:.875rem;font-weight:500;color:var(--colors--grey)}.jobsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.jobsGrid>*{min-width:0}@media (max-width:1024px) and (min-width:801px){.jobsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}}@media (max-width:800px){.jobsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}}.jobsIconSm{height:1rem;width:1rem;flex-shrink:0}.jobsIconLg{height:2rem;width:2rem;flex-shrink:0}