/* ProgramBay Job Dock — Google Drive style bottom progress */
.pb-job-dock-root{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:99990;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  font-family:'no300','나눔고딕',NanumGothic,'Apple SD Gothic Neo',sans-serif;
  pointer-events:none;
}
/* 설문형·좁은 화면: 우측 하단(다음 버튼)을 가리지 않도록 왼쪽으로 */
@media (max-width:980px){
  .pb-job-dock-root{
    right:auto;
    left:12px;
    bottom:12px;
    align-items:flex-start;
  }
}
.pb-job-dock-root *{box-sizing:border-box}
.pb-job-dock-root[data-empty="1"]{display:none}

.pb-job-dock-card{
  pointer-events:auto;
  width:min(340px, calc(100vw - 24px));
  background:#fff;
  border:1px solid #e1e4ed;
  box-shadow:0 8px 28px rgba(30,31,40,.14);
  border-radius:10px;
  overflow:hidden;
  color:#333;
  animation:pbDockIn .28s ease-out;
}
@keyframes pbDockIn{
  from{opacity:0; transform:translateY(10px)}
  to{opacity:1; transform:translateY(0)}
}

.pb-job-dock-head{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:12px 12px 8px;
  background:#1e1f28;
  color:#fff;
  cursor:pointer;
}
.pb-job-dock-card.is-min .pb-job-dock-head{padding-bottom:12px}
.pb-job-dock-head-main{flex:1;min-width:0}
.pb-job-dock-title{
  margin:0;
  font-size:13px;
  font-family:'no400','나눔고딕',NanumGothic,sans-serif;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pb-job-dock-sub{
  margin:4px 0 0;
  font-size:11px;
  color:#b8bac6;
  line-height:1.3;
}
.pb-job-dock-actions{
  display:flex;
  gap:2px;
  flex-shrink:0;
}
.pb-job-dock-iconbtn{
  width:28px;height:28px;
  border:0;border-radius:6px;
  background:transparent;color:#cfd1dc;
  cursor:pointer;
  font-size:14px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.pb-job-dock-iconbtn:hover{background:#343646;color:#fff}

.pb-job-dock-body{padding:10px 12px 12px}
.pb-job-dock-card.is-min .pb-job-dock-body{display:none}

.pb-job-dock-barwrap{
  height:6px;background:#eceef5;border-radius:4px;overflow:hidden;
}
.pb-job-dock-bar{
  height:100%;width:0%;
  background:linear-gradient(90deg,#6666ff,#4a4ad3);
  border-radius:4px;
  transition:width .35s ease;
}
.pb-job-dock-card[data-status="done"] .pb-job-dock-bar{background:#33ab43}
.pb-job-dock-card[data-status="error"] .pb-job-dock-bar,
.pb-job-dock-card[data-status="cancelled"] .pb-job-dock-bar{background:#f95151}

.pb-job-dock-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:8px;font-size:12px;color:#777888;
}
.pb-job-dock-pct{font-family:'no500',sans-serif;color:#43444e}

.pb-job-dock-tasks{
  margin:8px 0 0;padding:0;list-style:none;
  max-height:72px;overflow:auto;
}
.pb-job-dock-tasks li{
  font-size:11px;color:#555;padding:2px 0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pb-job-dock-tasks li::before{
  content:'·';
  margin-right:4px;color:#6666ff;
}

.pb-job-dock-foot{
  display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;
}
.pb-job-dock-btn{
  box-sizing:border-box;
  height:30px;padding:0 12px;border-radius:5px;
  font-size:12px;font-family:'no400',sans-serif;
  line-height:1;
  border:1px solid #ddd;background:#fff;color:#43444e;cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  white-space:nowrap;
  text-decoration:none;
}
.pb-job-dock-btn:hover{border-color:#6666ff;color:#4a4ad3}
.pb-job-dock-btn.primary{
  background:#6666ff;border-color:#6666ff;color:#fff;
}
.pb-job-dock-btn.primary:hover{background:#4a4ad3;border-color:#4a4ad3}
.pb-job-dock-btn.danger{color:#f95151;border-color:#f7c4c4}
.pb-job-dock-btn.danger:hover{background:#fff5f5}

.pb-job-dock-pill{
  pointer-events:auto;
  display:none;
  align-items:center;gap:8px;
  height:40px;padding:0 14px;
  background:#1e1f28;color:#fff;
  border-radius:20px;
  box-shadow:0 6px 18px rgba(30,31,40,.2);
  cursor:pointer;border:0;
  font-size:12px;font-family:'no400',sans-serif;
}
.pb-job-dock-root[data-collapsed="1"] .pb-job-dock-card{display:none}
.pb-job-dock-root[data-collapsed="1"] .pb-job-dock-pill{display:inline-flex}
.pb-job-dock-pill .dot{
  width:8px;height:8px;border-radius:50%;
  background:#6666ff;
  animation:pbDockPulse 1.2s ease-in-out infinite;
}
@keyframes pbDockPulse{
  0%,100%{opacity:1}
  50%{opacity:.35}
}
