:root{--jobs-gap:1rem;--jobs-card-padding:1rem;--jobs-accent-h:var(--color-primary)}.jobs-page{background:color-mix(in oklab,var(--color-surface) 92%,var(--color-text-primary));padding:var(--spacing-lg) 0}.job-board{display:grid;gap:calc(var(--jobs-gap) * 0.75)}.jobs-top-search{margin-bottom:1rem}.jobs-search-grid{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:0.5rem;align-items:center}.jobs-search-grid input[type="search"],.jobs-search-grid select{padding:0.6rem 0.75rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface)}.jobs-search-submit{background:var(--color-primary);color:var(--color-text-inverted);border:none;padding:0.6rem 0.9rem;border-radius:8px;font-weight:700}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.job-filters-sticky{position:sticky;top:1rem}.job-listing-card{background:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-border) 90%,var(--color-surface));border-radius:10px;padding:calc(var(--jobs-card-padding) * 0.85);display:grid;grid-template-columns:56px 1fr auto;gap:0.6rem;align-items:start;box-shadow:none;transition:transform 180ms var(--easing-ease-out),box-shadow 180ms var(--easing-ease-out);position:relative}.job-listing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.job-listing-logo img{width:56px;height:56px;border-radius:8px;object-fit:cover}.job-listing-content .title{font-size:clamp(1rem,2.5vw,1.15rem);font-weight:600;color:var(--color-text-primary);margin-bottom:0.25rem}.job-listing-content .company-row{display:flex;gap:0.5rem;font-size:0.9rem;color:var(--color-text-secondary);align-items:center}.job-listing-content .summary{margin-top:0.5rem;font-size:0.95rem;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-listing-meta{display:flex;flex-direction:column;gap:0.5rem;align-items:flex-end}.job-salary{background:transparent;padding:0.25rem 0.5rem;border-radius:6px;font-weight:700;font-size:0.95rem;color:var(--color-primary);border:1px solid color-mix(in oklab,var(--color-primary) 22%,var(--color-border));box-shadow:none}.job-apply-btn{display:inline-flex;align-items:center;justify-content:center;min-width:110px;min-height:44px;padding:0.45rem 0.9rem;border-radius:8px;background:var(--color-primary);color:var(--color-text-inverted);text-decoration:none;font-weight:700;box-shadow:none}.job-apply-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-xs)}.bookmark-btn{background:transparent;border:1px solid color-mix(in oklab,var(--color-border) 80%,var(--color-surface));padding:0.35rem 0.6rem;border-radius:8px;font-weight:600;cursor:pointer}.bookmark-btn.bookmarked{background:color-mix(in oklab,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);border-color:color-mix(in oklab,var(--color-primary) 22%,var(--color-border))}.company-rating{margin-top:0.25rem;font-size:0.9rem;color:var(--color-primary)}.company-rating .star{margin-right:2px;color:var(--color-border)}.company-rating .star.filled{color:var(--color-primary)}.job-board.loading .job-listing-card,.job_listings.loading li.job-listing-card{opacity:0.6}.job-board.loading .job-listing-card::after,.job_listings.loading li.job-listing-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.6),rgba(255,255,255,0));transform:translateX(-100%);animation:shimmer 900ms linear infinite;pointer-events:none}@keyframes shimmer{to{transform:translateX(100%)}}.jobs-layout{display:block}@media(min-width:1000px){.jobs-layout{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-lg);align-items:start}.jobs-sidebar{position:sticky;top:1rem;align-self:start}}@media(max-width:767px){.job-listing-card{grid-template-columns:56px 1fr}.job-listing-meta{align-items:flex-start;margin-top:0.5rem}.job-listing-card .job-apply-btn{min-width:100%;display:block}.job-listing-card{padding:calc(var(--jobs-card-padding) * 0.9)}}.job-manager-pagination{display:flex;gap:0.5rem;justify-content:center;padding:1rem 0}.job-manager-pagination a{padding:0.45rem 0.75rem;border-radius:8px;border:1px solid color-mix(in oklab,var(--color-border) 90%,var(--color-surface));text-decoration:none;color:var(--color-text-primary)}.job-manager-pagination a.current{background:var(--color-primary);color:var(--color-text-inverted);border-color:var(--color-primary)}.job-load-more-wrap{text-align:center;margin-top:1rem}.job-load-more{background:var(--color-primary);color:var(--color-text-inverted);border:none;padding:0.65rem 1rem;border-radius:10px;cursor:pointer;font-weight:700}.job-load-more:hover{transform:translateY(-2px);box-shadow:var(--shadow-xs)}.job-detail-layout{display:grid;gap:var(--jobs-gap)}.job-main{order:1}.job-aside{order:2}.single-job-header{display:flex;gap:1rem;align-items:center;padding-bottom:0.5rem;border-bottom:1px solid var(--color-border)}.company-block{display:flex;gap:0.75rem;align-items:center}.company-block img{width:72px;height:72px;border-radius:10px;object-fit:cover}.company-logo-fallback{width:72px;height:72px;border-radius:10px;background:var(--color-surface-secondary)}.company-meta .company-name{color:var(--color-text-secondary);font-size:0.95rem}.job-title{font-size:clamp(1.3rem,2.8vw,1.6rem);margin:0}.job-description{margin-top:var(--spacing-lg);line-height:1.6;color:var(--color-text-primary)}.job-aside .aside-inner{position:sticky;top:1rem;display:flex;flex-direction:column;gap:0.75rem}.aside-salary{font-size:1.05rem;font-weight:700;padding:0.6rem 0.8rem;border-radius:10px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));color:var(--color-text-inverted);text-align:center}.aside-apply{display:block;text-align:center}.job-meta-list .meta-row{font-size:0.95rem;color:var(--color-text-secondary);padding-top:0.25rem}.job-share{display:flex;gap:0.5rem;font-size:0.9rem;color:var(--color-text-secondary)}.details-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5rem}.details-list .detail-row{display:flex;gap:0.5rem;align-items:flex-start;font-size:0.95rem;color:var(--color-text-secondary)}.details-list .detail-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-secondary);border-radius:8px;color:var(--color-primary);flex:0 0 28px}.details-list .detail-key{font-weight:700;color:var(--color-text-primary);margin-right:0.25rem}.details-list .detail-value{color:var(--color-text-secondary)}.details-list .detail-value a{color:var(--color-primary);text-decoration:underline}.related-jobs{margin-top:1rem}.related-title{font-size:1rem;margin:0 0 0.5rem 0;color:var(--color-text-primary)}.related-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5rem}.related-job-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:0.5rem}.related-job-card a{display:block;text-decoration:none;color:inherit}.related-job-card .r-title{font-weight:700;font-size:0.95rem;color:var(--color-text-primary)}.related-job-card .r-meta{font-size:0.85rem;color:var(--color-text-secondary)}@media(min-width:900px){.job-detail-layout{grid-template-columns:1fr 320px;align-items:start}.job-main{order:1}.job-aside{order:2}}.single-job-card{background:linear-gradient(180deg,var(--color-surface),color-mix(in oklab,var(--color-surface) 96%,var(--color-text-primary)));padding:var(--spacing-lg);border-radius:12px}.job-aside .aside-inner{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-md);border-radius:10px;box-shadow:var(--shadow-sm)}.job-main .single-job-header{background:transparent;padding:0}.job-title{color:var(--color-text-primary)}@media(max-width:899px){.job-aside .aside-inner{position:static}.aside-salary{width:100%}}