.page-header{padding:var(--spacing-5) var(--spacing-4) var(--spacing-4);text-align:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.page-header h1{margin-bottom:var(--spacing-1)}.page-header p{color:var(--color-text-muted);margin-bottom:0}.page-main{padding-bottom:var(--spacing-6)}.job-filters{margin-top:var(--spacing-5);padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow-sm)}.job-filters__title{margin:0 0 var(--spacing-2);font-size:1rem}.job-filters__row{align-items:center;gap:var(--spacing-2);flex-wrap:wrap;display:flex}.job-filters__row .field{flex:150px;width:auto;min-width:0;padding:.5rem .75rem;font-size:.875rem}.job-filters__row .field[type=date]{width:8.5rem;color:var(--color-text-muted);flex:auto}.job-filters__row .btn{flex:none}.job-filters__date-group{flex-direction:column;flex:none;gap:.25rem;display:flex}.job-filters__date-label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.job-filters__date-inputs{align-items:center;gap:var(--spacing-1);display:flex}.job-filters__date-sep{color:var(--color-text-muted)}.job-filters__clear{color:var(--color-text-muted);white-space:nowrap;flex:none;padding:.5rem .25rem;font-size:.8125rem;text-decoration:none}.job-filters__clear:hover{color:var(--color-primary);text-decoration:underline}@media (width<=640px){.job-filters__row .field,.job-filters__date-group{flex:100%}.job-filters__date-inputs .field{flex:1 1 calc(50% - var(--spacing-1));width:auto}.job-filters__row .btn,.job-filters__clear{text-align:center;flex:100%}}.job-list{margin:var(--spacing-5) 0;gap:var(--spacing-3);grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;padding:0;list-style:none;display:grid}@media (width<=768px){.job-list{grid-template-columns:1fr}}.job-list>li{display:flex}.job-card{text-align:left;width:100%;min-height:200px;padding:var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:inherit;cursor:pointer;font:inherit;box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.job-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow);transform:translateY(-2px)}.job-card__header{align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-2);display:flex}.job-card__logo{border-radius:var(--radius-sm);border:1px solid var(--color-border);-o-object-fit:cover;object-fit:cover;flex-shrink:0;width:2.75rem;height:2.75rem}.job-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.125rem;display:-webkit-box;overflow:hidden}.job-card__body{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.job-card__company{color:var(--color-primary-dark);margin:2px 0 0;font-size:.875rem;font-weight:600}.job-card__meta{color:var(--color-text-muted);margin:0;font-size:.875rem}.job-card__salary{color:var(--color-primary-dark);margin:var(--spacing-2) 0 0;font-size:.875rem;font-weight:600}.job-card__date{color:var(--color-text-muted);margin:var(--spacing-1) 0 0;font-size:.8125rem}.job-tag{background:var(--color-primary-light);color:var(--color-primary-dark);margin-right:var(--spacing-1);border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.job-detail__meta{color:var(--color-text-muted);margin-bottom:var(--spacing-4)}.job-detail__description{white-space:pre-line;margin-bottom:var(--spacing-4);color:var(--color-text)}.pagination{gap:var(--spacing-2);margin-top:var(--spacing-4);justify-content:center;display:flex}.empty-state{text-align:center;padding:var(--spacing-6) var(--spacing-4);color:var(--color-text-muted)}.job-modal-overlay{z-index:100;padding:var(--spacing-4);background:#0f172a80;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.job-modal-overlay.is-open{display:flex}.job-modal{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:640px;max-height:85vh;padding:var(--spacing-5);position:relative;overflow-y:auto}.job-modal__close{top:var(--spacing-3);right:var(--spacing-3);background:var(--color-bg-alt);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:999px;font-size:1.125rem;line-height:1;position:absolute}.job-modal__close:hover{background:var(--color-border);color:var(--color-text)}.job-modal h2{padding-right:var(--spacing-5)}
