/* resume-upload.css — dropzone + honest ATS checklist
   Scoped to .ru-* so it can't collide with existing builder styles. */

/* ── modal ──────────────────────────────────────────────── */
body.ru-lock{overflow:hidden}
.ru-modal{
  position:fixed;inset:0;z-index:9999;
  background:rgba(9,20,16,.55);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  overflow-y:auto;
}
.ru-modal[hidden]{display:none}
.ru-modal-card{
  position:relative;width:100%;max-width:520px;
  background:#fff;border-radius:16px;padding:26px 24px;
  box-shadow:0 24px 60px -12px rgba(0,0,0,.4);
  max-height:90vh;overflow-y:auto;
}
.ru-modal-x{
  position:absolute;top:12px;right:14px;
  background:none;border:none;font-size:26px;line-height:1;
  color:#9ca3af;cursor:pointer;padding:4px 8px;border-radius:6px;
}
.ru-modal-x:hover{color:#374151;background:#f3f4f6}
.ru-modal-title{font-size:19px;font-weight:800;color:#111827;letter-spacing:-.01em}
.ru-modal-sub{font-size:13.5px;color:#6b7280;margin:5px 0 16px;line-height:1.5}
.ru-skip{
  display:block;width:100%;margin-top:16px;padding:9px;
  background:none;border:none;cursor:pointer;font-family:inherit;
  font-size:13px;color:#6b7280;
}
.ru-skip:hover{color:#374151;text-decoration:underline}
.ru-skip--go{
  background:#059669;color:#fff;border-radius:9px;font-weight:700;font-size:14px;
}
.ru-skip--go:hover{background:#047857;color:#fff;text-decoration:none}

/* ── dropzone ───────────────────────────────────────────── */
.ru-zone{
  border:1.5px dashed #d1d5db;
  border-radius:12px;
  padding:26px 18px;
  text-align:center;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  background:#fafafa;
}
.ru-zone:hover,.ru-zone:focus-visible{border-color:#10b981;background:#f0fdf9;outline:none}
.ru-zone.is-over{border-color:#10b981;background:#ecfdf5}
.ru-ico{width:30px;height:30px;color:#10b981;margin-bottom:8px}
.ru-zone-main{font-size:14.5px;font-weight:600;color:#111827}
.ru-zone-sub{font-size:12.5px;color:#6b7280;margin-top:4px}

/* ── status ─────────────────────────────────────────────── */
.ru-status{
  display:flex;align-items:center;gap:9px;
  margin-top:12px;padding:10px 12px;border-radius:9px;font-size:13.5px;
}
.ru-status--loading{background:#f3f4f6;color:#374151}
.ru-status--ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.ru-status--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.ru-spin{
  width:14px;height:14px;flex:0 0 auto;border-radius:50%;
  border:2px solid #d1d5db;border-top-color:#10b981;
  animation:ru-spin .7s linear infinite;
}
@keyframes ru-spin{to{transform:rotate(360deg)}}

/* ── headline ───────────────────────────────────────────── */
.ru-result{margin-top:16px}
.ru-headline{margin-bottom:14px}
.ru-headline-txt{font-size:15px;font-weight:700;color:#111827;margin-bottom:8px}
.ru-headline.is-green .ru-headline-txt{color:#065f46}
.ru-bar{height:7px;border-radius:99px;background:#e5e7eb;overflow:hidden}
.ru-bar-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,#34d399,#10b981);
  transition:width .45s cubic-bezier(.2,.8,.2,1);
}

/* ── checklist ──────────────────────────────────────────── */
.ru-list{list-style:none;margin:0;padding:0}
.ru-item{
  display:flex;gap:11px;align-items:flex-start;
  padding:12px 0;border-bottom:1px solid #f3f4f6;
}
.ru-item:last-child{border-bottom:none}
.ru-mark{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;margin-top:1px;
}
.ru-item--pass .ru-mark{background:#d1fae5;color:#059669}
.ru-item--fix  .ru-mark{background:#fef3c7;color:#b45309}
/* 'unknown' stays neutral grey — never a red failure. We only say what we know. */
.ru-item--unknown .ru-mark{background:#f3f4f6;color:#9ca3af}

.ru-item-label{font-size:14px;font-weight:600;color:#111827}
.ru-item--pass .ru-item-label{color:#4b5563;font-weight:500}
.ru-item-detail{font-size:12.8px;color:#6b7280;margin-top:3px;line-height:1.5}

.ru-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.ru-chip{
  font-size:11.5px;font-weight:600;color:#b45309;
  background:#fffbeb;border:1px solid #fde68a;
  padding:2px 8px;border-radius:99px;
}

.ru-cta{
  margin-top:8px;font-size:12.5px;font-weight:600;
  color:#059669;background:none;border:none;padding:0;cursor:pointer;
}
.ru-cta:hover{text-decoration:underline}

.ru-green-note{
  margin-top:14px;padding:11px 13px;border-radius:9px;
  background:#ecfdf5;border:1px solid #a7f3d0;
  font-size:13px;color:#065f46;line-height:1.55;
}

@media (max-width:560px){
  .ru-zone{padding:20px 12px}
  .ru-zone-main{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  .ru-bar-fill,.ru-zone{transition:none}
  .ru-spin{animation:none}
}