:root{
  --paper:#f6f3ec;
  --paper-raised:#fffdf8;
  --ink:#1b1f29;
  --ink-soft:#5a5f6b;
  --ink-faint:#8b8f99;
  --brass:#a1601f;
  --brass-strong:#7d4b17;
  --brass-soft:#efe1c6;
  --rule:#ddd4c0;
  --ok:#3f6b46;
  --ok-soft:#e3ecdf;
  --flag:#9c4530;
  --flag-soft:#f3e0d8;
  --hold:#5b4b8a;
  --hold-soft:#eeeaf7;
  --pending:#2b6c8f;
  --pending-soft:#e3eff4;
  --shadow: 0 1px 2px rgba(30,20,5,.06), 0 8px 24px -12px rgba(30,20,5,.18);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#13151b; --paper-raised:#1a1d25; --ink:#eae7df; --ink-soft:#a9adb6; --ink-faint:#787c86;
    --brass:#d8973f; --brass-strong:#f0b262; --brass-soft:#2c2313; --rule:#2b2e37;
    --ok:#7fb686; --ok-soft:#1c2a1e; --flag:#d9906f; --flag-soft:#2e211b;
    --hold:#a996e0; --hold-soft:#241e33; --pending:#7fb3d1; --pending-soft:#152531;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --paper:#13151b; --paper-raised:#1a1d25; --ink:#eae7df; --ink-soft:#a9adb6; --ink-faint:#787c86;
  --brass:#d8973f; --brass-strong:#f0b262; --brass-soft:#2c2313; --rule:#2b2e37;
  --ok:#7fb686; --ok-soft:#1c2a1e; --flag:#d9906f; --flag-soft:#2e211b;
  --hold:#a996e0; --hold-soft:#241e33; --pending:#7fb3d1; --pending-soft:#152531;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Public Sans',-apple-system,Segoe UI,sans-serif;line-height:1.55}
a{color:var(--brass-strong)}
a:hover{color:var(--brass)}
.wrap{max-width:1080px;margin:0 auto;padding:32px 24px 96px}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;margin:0}
.mono{font-family:'IBM Plex Mono',monospace}

/* top bar */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:26px;flex-wrap:wrap}
.topbar h1{font-size:1.7rem}
.topbar .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:6px;font-family:'Public Sans',sans-serif;font-weight:600;font-size:.85rem;padding:8px 14px;border-radius:8px;border:1px solid var(--rule);background:var(--paper-raised);color:var(--ink);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--brass)}
.btn-primary{background:var(--brass);border-color:var(--brass);color:#fff}
.btn-primary:hover{background:var(--brass-strong);color:#fff}
.btn-danger{color:var(--flag);border-color:var(--flag-soft)}
form.inline{display:inline}

/* filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.filters input, .filters select{
  font-family:'Public Sans',sans-serif;font-size:.85rem;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);color:var(--ink);
}
.filters input[type=text]{min-width:220px}

/* section nav */
.sectionnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.sectionnav a{font-family:'IBM Plex Mono',monospace;font-size:.72rem;padding:5px 11px;border-radius:999px;border:1px solid var(--rule);color:var(--ink-soft);text-decoration:none;white-space:nowrap}
.sectionnav a:hover, .sectionnav a.active{border-color:var(--brass);color:var(--brass-strong)}
.sectionnav .cnt{color:var(--ink-faint)}

/* sections */
section.group{margin-bottom:40px}
section.group > h2{font-size:1.1rem;display:flex;align-items:baseline;gap:10px}
section.group > h2 .count{font-family:'IBM Plex Mono',monospace;font-size:.75rem;font-weight:400;color:var(--ink-soft)}
section.group > p.desc{margin:4px 0 14px;font-size:.85rem;color:var(--ink-soft);max-width:640px}

.job{background:var(--paper-raised);border:1px solid var(--rule);border-radius:10px;padding:15px 18px;margin-bottom:10px;box-shadow:var(--shadow)}
.job-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.job-title{font-weight:600;font-size:.98rem}
.job-title a{color:var(--ink);text-decoration:none}
.job-title a:hover{color:var(--brass-strong)}
.job-title b{font-weight:700}
.job-meta{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--ink-soft);margin-top:3px}
.badges{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.badge{font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:500;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--brass-soft);color:var(--brass-strong)}
.badge.b-hold{background:var(--hold-soft);color:var(--hold)}
.badge.b-pending{background:var(--pending-soft);color:var(--pending)}
.badge.b-pass{background:var(--flag-soft);color:var(--flag)}
.badge.b-applied{background:var(--ok-soft);color:var(--ok)}
.badge.b-inprocess{background:var(--brass-soft);color:var(--brass-strong)}
.badge.b-caution{background:var(--flag-soft);color:var(--flag)}
.job-pay{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:.85rem;margin-top:8px}
.job-notes{margin-top:10px;font-size:.85rem;line-height:1.55}
.job-notes b{color:var(--ink)}
section.group.passed .job{opacity:.75}

/* detail page */
.detail-notes{font-size:.92rem;line-height:1.65;max-width:74ch}
.detail-notes b{color:var(--ink)}
.backlink{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--ink-soft);text-decoration:none;display:inline-block;margin-bottom:20px}

/* forms */
.formcard{background:var(--paper-raised);border:1px solid var(--rule);border-radius:10px;padding:24px;box-shadow:var(--shadow);max-width:720px}
.field{margin-bottom:16px}
.field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brass);margin-bottom:6px}
.field input, .field select, .field textarea{
  width:100%;font-family:'Public Sans',sans-serif;font-size:.9rem;padding:9px 11px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);
}
.field textarea{font-family:'IBM Plex Mono',monospace;font-size:.82rem;min-height:160px;resize:vertical}
.field .hint{font-size:.75rem;color:var(--ink-faint);margin-top:4px}
.formrow{display:flex;gap:14px}
.formrow .field{flex:1}

/* login */
.loginwrap{max-width:360px;margin:96px auto;padding:0 24px}
.loginwrap .formcard{max-width:none}
.loginwrap h1{font-size:1.4rem;margin-bottom:4px}
.loginwrap p.sub{color:var(--ink-soft);font-size:.85rem;margin:0 0 22px}
.error{background:var(--flag-soft);color:var(--flag);border-radius:8px;padding:10px 14px;font-size:.85rem;margin-bottom:16px}

.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.stat{background:var(--paper-raised);border:1px solid var(--rule);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow);min-width:110px}
.stat .n{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;color:var(--brass)}
.stat .l{font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}

.emptystate{padding:40px;text-align:center;color:var(--ink-faint);font-size:.9rem}

@media(max-width:640px){
  .topbar{flex-direction:column;align-items:flex-start}
  .formrow{flex-direction:column;gap:0}
}
