/* Job details panel that opens over the page */
.scrim{position:fixed;inset:0;background:rgba(8,14,18,.5);z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:50%;top:50%;width:min(640px,calc(100% - 20px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);background:var(--bg);z-index:60;border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translate(-50%,-47%) scale(.98);transition:opacity .2s,transform .2s,visibility 0s .2s}
.sheet.open{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .2s,transform .2s}
@media (prefers-reduced-motion:reduce){.sheet{transition:none}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 14px 20px;border-bottom:1px solid var(--line);background:var(--surface)}
.sheet-head h2{font-size:1.15rem}
.sheet-body{overflow:auto;padding:18px;flex:1;min-height:0}
.sheet-foot{padding:12px 16px;border-top:1px solid var(--line);background:var(--surface);display:flex;gap:8px}
.sheet-foot .apply,.sheet-foot .btn{flex:1;text-align:center;padding:13px}
.desc{white-space:pre-wrap;font-size:.94rem;line-height:1.6;color:var(--ink)}
.why{margin:0;padding-left:18px;color:var(--muted);font-size:.92rem}
.why li.ok{color:var(--accent)}
.stages{display:flex;flex-wrap:wrap;gap:6px}
.stages button{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font-size:.86rem;font-weight:600;display:flex;align-items:center;gap:6px}
.stages button[aria-pressed="true"]{border-color:currentColor}
.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.tl{list-style:none;margin:10px 0 0;padding:0;font-size:.86rem;color:var(--muted)}
.tl li{display:flex;gap:8px;align-items:center;padding:2px 0}
.filter-group{margin-bottom:20px}
.filter-group h3{font-size:.95rem;margin-bottom:10px}
.cos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.cocard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;text-align:left}
.cocard b{display:block;font-weight:700;line-height:1.25}
.cocard small{color:var(--muted)}
