:root{
  --bg:#0b0c10;--fg:#e6eef3;--muted:#9fb3c8;--card:#121418;--accent:#61dafb
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.container{max-width:1200px;margin:0 auto;padding:1rem}
h1{font-size:1.5rem;margin:0 0 1rem}
.grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
.card{display:block;padding:2rem;border-radius:.75rem;background:var(--card);color:var(--fg);text-decoration:none;text-align:center;border:1px solid #21242a}
.card:hover{border-color:var(--accent)}
.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.back{color:var(--muted);text-decoration:none}
.controls{display:flex;gap:.75rem;align-items:center;margin:1rem 0}
input[type="search"]{flex:1;padding:.6rem .8rem;border-radius:.5rem;border:1px solid #2a2e36;background:#0f1115;color:var(--fg)}
table{width:100%;border-collapse:collapse;background:var(--card);border-radius:.75rem;overflow:hidden;border:1px solid #21242a}
th,td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid #1b1f26;vertical-align:top}
th{color:var(--muted);font-weight:600}
tbody tr:hover{background:#12161d}
a{color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Job detail styles */
.job-details{max-width:500px}
.job-number{font-size:.8rem;color:var(--muted);margin-bottom:.25rem}
.job-title{margin-bottom:.5rem}
.job-org{margin-bottom:.5rem}
.job-description{font-size:.9rem;line-height:1.4;color:var(--muted)}
.job-locations{margin-bottom:.5rem}
.job-date{font-size:.85rem}
.apply-btn{display:inline-block;padding:.5rem 1rem;background:var(--accent);color:#0b0c10;border-radius:.5rem;text-decoration:none;font-weight:600}
.apply-btn:hover{background:#4fd3f7}
.muted{color:var(--muted)}

/* Expandable description styles */
.job-row.expanded .job-details{
  max-width:600px;
  background:rgba(97, 218, 251, 0.05);
  padding:.5rem;
  border-radius:.5rem;
  border-left:3px solid var(--accent);
}
.expand-hint{
  font-size:.75rem;
  margin-top:.25rem;
  opacity:0.7;
  font-style:italic;
}
.job-details:hover .expand-hint{
  opacity:1;
}
.desc-full{
  margin-top:.25rem;
  white-space:pre-wrap;
}

/* Subscription styles */
.subscription-section{
  background:var(--card);
  border-radius:.75rem;
  padding:2rem;
  margin:2rem 0;
  border:1px solid #21242a;
}
.subscription-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  margin-top:1.5rem;
}
@media(min-width:640px){
  .subscription-grid{grid-template-columns:1fr 1fr}
}
.subscription-option{
  background:#0f1115;
  border-radius:.5rem;
  padding:1.5rem;
  border:1px solid #2a2e36;
  text-align:center;
}
.subscription-option h3{
  color:var(--accent);
  margin:0 0 1rem;
}
.subscription-option p{
  margin:0 0 1.5rem;
  font-size:.9rem;
  line-height:1.4;
}
.sub-btn{
  display:inline-block;
  padding:.75rem 1.5rem;
  background:var(--accent);
  color:#0b0c10;
  border-radius:.5rem;
  text-decoration:none;
  font-weight:600;
  font-size:.9rem;
}
.sub-btn:hover{
  background:#4fd3f7;
}
.sub-btn.secondary{
  background:transparent;
  color:var(--accent);
  border:1px solid var(--accent);
}
.sub-btn.secondary:hover{
  background:var(--accent);
  color:#0b0c10;
}

@media(max-width:768px){
  th:nth-child(2), td:nth-child(2){display:none}
  .job-details{max-width:none}
  .job-row.expanded .job-details{max-width:none}
}

