/* Additions on top of MyStethi's own stylesheet.
   Everything here is either (a) making a native <select> look like their
   shadcn combobox button, or (b) demo-only instrumentation that is
   deliberately visually distinct so it reads as ours, not theirs. */

/* --- native selects styled as their combobox trigger --- */
.ms-select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231a4d3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .625rem center;
  padding-right:2rem; cursor:pointer;
  text-overflow:ellipsis;
}
.ms-select:focus-visible{outline:none;box-shadow:0 0 0 1px var(--ring)}
.ms-mini{background-position:right .4rem center;padding-right:1.4rem;max-width:11rem}
#f-q{max-width:11rem}
#f-q:focus-visible,.ms-mini:focus-visible{outline:none;box-shadow:0 0 0 1px var(--ring)}

/* --- demo instrumentation --- */
.demo-chip{
  font-size:.6rem;font-weight:700;letter-spacing:.06em;
  background:var(--brand-dark);color:#fff;padding:.1rem .4rem;border-radius:.25rem;
}
.demo-strip{font-size:.75rem}

/* amber badge for records that don't fit MyStethi's taxonomy */
.badge-unmapped{
  display:inline-flex;align-items:center;height:1.25rem;padding:0 .375rem;
  border-radius:.375rem;border:1px solid #f0dcb8;background:#fff5e6;color:#8a5a00;
  font-size:.65rem;font-weight:400;
}

/* provenance block on the detail pane */
.prov{
  margin-top:1.5rem;border:1px solid var(--border);background:var(--muted);
  border-radius:.5rem;padding:.75rem .9rem;font-size:.75rem;color:var(--muted-foreground);
}
.prov b{color:var(--foreground)}
.prov .row{margin:.15rem 0}

/* Full posting body. MyStethi renders no descriptions of its own, so these
   styles normalise the ATS markup Tower ships into their type scale. */
.jobbody{font-size:.875rem;line-height:1.65}
.jobbody h2,.jobbody h3,.jobbody strong.ats-heading{
  display:block;font-size:.9rem;font-weight:700;margin:1rem 0 .3rem;color:var(--brand-dark);
}
.jobbody ul{padding-left:1.15rem;margin:.4rem 0;list-style:disc}
.jobbody li{margin:.2rem 0}
.jobbody p{margin:.5rem 0}
.jobbody img{max-width:100%;height:auto}
.jobbody a{color:var(--primary);text-decoration:underline}

/* --- modal --- */
.ms-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:60;
  display:flex;align-items:center;justify-content:center;padding:1rem}
.ms-modal[hidden]{display:none}
.ms-modal-box{max-width:820px;width:100%;max-height:82vh;overflow:auto;position:relative;
  border:1px solid var(--border)}
.ms-modal-x{position:absolute;top:.4rem;right:.7rem;border:0;background:none;
  font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted-foreground)}
.ms-modal-box table{border-collapse:collapse;width:100%;font-size:.8rem;margin-bottom:1rem}
.ms-modal-box th,.ms-modal-box td{text-align:left;padding:.3rem .5rem;border-bottom:1px solid var(--border)}
.ms-modal-box th{color:var(--muted-foreground);font-weight:600}

@media (max-width:1023px){
  #detail{border-top:1px solid var(--border)}
}

/* "include unmapped jobs" toggle (demo control) */
.ms-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;
  color:var(--foreground);cursor:pointer;white-space:nowrap;user-select:none}
.ms-check input{accent-color:var(--brand);width:.9rem;height:.9rem;cursor:pointer;margin:0}
.ms-check:hover{color:var(--brand-dark)}

/* ---------------- import console ---------------- */
.imp-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}
.imp-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;
  padding:.6rem .9rem;font:inherit;font-size:.9rem;font-weight:500;
  color:var(--muted-foreground);cursor:pointer}
.imp-tab:hover{color:var(--brand-dark)}
.imp-tab.is-on{color:var(--brand-dark);border-bottom-color:var(--brand);font-weight:600}
.imp-panel{animation:impfade .15s ease-in}
@keyframes impfade{from{opacity:0}to{opacity:1}}

.imp-log{background:var(--muted);border:1px solid var(--border);border-radius:.5rem;
  padding:.75rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;line-height:1.5;color:var(--muted-foreground);
  max-height:19rem;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:0}

.badge-status{display:inline-flex;align-items:center;height:1.35rem;padding:0 .5rem;
  border-radius:999px;font-size:.68rem;font-weight:600;border:1px solid var(--border);
  background:var(--muted);color:var(--muted-foreground)}
.badge-status.is-running{background:#fff5e6;border-color:#f0dcb8;color:#8a5a00}
.badge-status.is-pending{background:#fff5e6;border-color:#f0dcb8;color:#8a5a00}
.badge-status.is-done{background:var(--accent);border-color:#c9efdd;color:var(--accent-foreground)}
.badge-status.is-error{background:#fdeaea;border-color:#f5c2c2;color:#a12626}
.badge-status.is-empty{background:var(--muted);color:var(--muted-foreground)}

.imp-table{width:100%;border-collapse:collapse;font-size:.85rem}
.imp-table th{text-align:left;font-weight:600;color:var(--muted-foreground);
  font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;
  padding:.4rem .5rem;border-bottom:1px solid var(--border)}
.imp-table td{padding:.55rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}
.imp-table tr:last-child td{border-bottom:0}
.imp-src{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.78rem}
.imp-plat{display:inline-block;margin-left:.35rem;padding:.05rem .35rem;border-radius:.25rem;
  background:var(--secondary);color:var(--secondary-foreground);font-size:.65rem}
.imp-del{appearance:none;border:1px solid var(--border);background:var(--card);
  border-radius:.35rem;padding:.15rem .45rem;color:var(--muted-foreground);
  cursor:pointer;font:inherit;font-size:.72rem}
.imp-del:hover{background:#fdeaea;border-color:#f5c2c2;color:#a12626}
.badge-status.is-interrupted{background:#fff5e6;border-color:#f0dcb8;color:#8a5a00}
