body{background:#0b1118;color:#e7edf7}.jobs-shell{max-width:1510px}.unified-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px;margin:16px 0}.filters{display:flex;flex-direction:column;gap:14px}.filters label{display:grid;gap:6px;font-size:13px}.filters input,.filters select{width:100%;min-width:0;background:#0e1925;color:#e7edf7;border:1px solid #34475d;border-radius:8px;padding:10px}.filters .jobs-note{font-size:12px}.main-column{min-width:0}.unified-plot{min-height:400px;position:relative;overflow:hidden;border:1px solid #2b4055;border-radius:12px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(33.333% - 1px),#243348 calc(33.333% - 1px),#243348 33.333%)}.lane-head{position:absolute;top:10px;text-align:center;width:33.33%;font-size:12px;color:#c6d6ea;font-weight:700;pointer-events:none}.occupation-node{position:absolute;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--sector) 19%,#0b1622);border:1px solid var(--sector);border-radius:999px;color:#eef5ff;padding:9px 11px;font-size:11px;line-height:1.2;max-width:160px;min-width:90px;min-height:35px;cursor:pointer;transition:left .25s linear,top .25s linear,opacity .25s linear;box-shadow:0 0 0 2px #0b1118}.occupation-node:focus-visible{outline:2px solid white;outline-offset:3px}.unified-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.unified-lists article{min-width:0}.unified-lists .role-row{width:100%;text-align:left}.jobs-chart h3{margin:0 0 14px}.jobs-detail{margin-top:10px}.jobs-controls input{min-width:80px;flex:1}.empty-note{padding:40px 12px;color:#bacbe0;text-align:center}.role-meta{display:block;font-size:11px;color:#b7c9df;margin-top:3px}.jobs-stats{margin:14px 0}@media(max-width:850px){.unified-grid{grid-template-columns:1fr}.unified-lists{grid-template-columns:1fr}.unified-plot{min-height:520px}.occupation-node{font-size:10px;min-width:70px;max-width:105px;padding:6px}}
.race-plot{min-height:370px;border:1px solid #2b4055;border-radius:12px;background:#0e1925;padding:12px;display:flex;flex-direction:column;gap:7px;max-height:690px;overflow:auto}.race-legend{display:flex;gap:15px;flex-wrap:wrap;color:#afc0d5;font-size:12px;margin-bottom:10px}.race-up{color:#52c9b5}.race-down{color:#f06d76}.race-row{--sector:#48a9f8;display:grid;grid-template-columns:minmax(130px,34%) minmax(70px,1fr) 88px;align-items:center;gap:9px;width:100%;background:#142235;border:1px solid #2b4055;border-left:3px solid var(--sector);border-radius:7px;color:#e7edf7;text-align:left;padding:9px 10px;cursor:pointer;font:inherit;transition:background .2s}.race-row:hover,.qual-role:hover{background:#20344c}.race-name{font-size:12px}.race-track{height:13px;background:#26384d;border-radius:9px;overflow:hidden}.race-fill{display:block;height:100%;background:var(--sector);border-radius:9px;transition:width .09s linear}.race-value{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.qualitative{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;max-height:none}.qual-group{min-width:0;display:flex;flex-direction:column;gap:7px}.qual-group h3{font-size:13px}.qual-role{--sector:#48a9f8;background:#142235;border:1px solid #30445b;border-left:3px solid var(--sector);border-radius:8px;color:#e7edf7;padding:10px;text-align:left;cursor:pointer;font-size:12px}.qual-role small{display:block;color:#aebfd3;margin-top:4px}.jobs-controls[hidden]{display:none!important}@media(max-width:850px){.qualitative{grid-template-columns:1fr}.race-row{grid-template-columns:minmax(90px,40%) minmax(35px,1fr) 66px;padding:8px 5px}.race-name,.race-value{font-size:11px}}
.emerging-race-note{color:#b9cce4;font-size:12px;border-top:1px solid #30445b;padding:12px 4px;margin:8px 0 0}
