/* Sourcing (#sourcing, lib/ui/sourcing.js): a request box, then one quiet card per request. */

.sc { max-width: 52rem; margin: 0 auto; padding: 1rem 1rem 6rem; }
.sc-head { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: .75rem; }
.sc-title { font: var(--title-w) 1.35rem/1.2 var(--f-title); margin: 0; flex: 1; letter-spacing: var(--title-track); }
.sc-status { font-size: .85rem; padding: .25rem .7rem; border-radius: 999px; background: var(--bg-2); color: var(--ink-2); }
.sc-status::before { content: ''; display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; margin-right: .4rem; vertical-align: .05rem; }
.sc-status[data-s="online"] { color: var(--good); }
.sc-status[data-s="offline"] { color: var(--bad); }

.sc-box { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: .75rem; margin-bottom: 1rem; }
.sc-ask { width: 100%; box-sizing: border-box; resize: vertical; font: inherit; font-size: 1rem; color: var(--ink); background: transparent; border: 0; padding: .2rem; min-height: 4.5rem; }
.sc-ask:focus { outline: none; }
.sc-row { display: flex; align-items: center; gap: .75rem; }
.sc-hint { flex: 1; margin: 0; font-size: .8rem; color: var(--ink-3); }

.sc-jobs { display: flex; flex-direction: column; gap: .6rem; }
.sc-empty { color: var(--ink-3); font-size: .9rem; text-align: center; margin: 2rem 0; }
.sc-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: .2rem .8rem .6rem; }
.sc-card[data-s="plan"] { border-color: var(--accent); }
.sc-card-head { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "p c" "w w"; gap: .15rem .6rem; width: 100%; text-align: left; background: none; border: 0; padding: .55rem 0 .2rem; font: inherit; color: inherit; cursor: pointer; }
.sc-prompt { grid-area: p; font-weight: 600; overflow-wrap: anywhere; }
.sc-chip { grid-area: c; align-self: start; font-size: .75rem; padding: .15rem .55rem; border-radius: 999px; background: var(--bg-2); color: var(--ink-2); white-space: nowrap; }
.sc-chip[data-s="plan"] { background: var(--accent); color: #fff; }
.sc-chip[data-s="done"] { color: var(--good); }
.sc-chip[data-s="failed"] { color: var(--bad); }
.sc-when { grid-area: w; font-size: .75rem; color: var(--ink-3); }

.sc-plan { margin: .4rem 0; padding: .55rem .7rem; background: var(--bg-2); border-radius: 10px; font-size: .9rem; }
.sc-plan-t { font-weight: 600; margin-bottom: .25rem; }
.sc-steps { margin: .2rem 0 .4rem; padding-left: 1.2rem; }
.sc-steps li { margin: .1rem 0; }
.sc-est { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.sc-note { margin: .35rem 0 0; font-size: .82rem; color: var(--ink-3); }
.sc-progress { margin: .35rem 0; font-size: .88rem; color: var(--ink-2); }
.sc-warn { margin: .35rem 0; font-size: .85rem; color: var(--bad); }
.sc-counts { display: flex; flex-wrap: wrap; gap: .2rem 1rem; font-size: .85rem; color: var(--ink-2); margin: .35rem 0; }
.sc-actions { display: flex; gap: .5rem; margin-top: .5rem; }
.sc-landed { margin: .35rem 0 0; font-size: .88rem; }

.sc-rows { margin-top: .5rem; border-top: 1px solid var(--line); font-size: .82rem; }
.sc-r { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1.2fr) auto; gap: .5rem; padding: .3rem 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.sc-r-n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-r-m { color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-r-o { font-size: .72rem; color: var(--ink-3); }
.sc-r[data-o="dropped"] { opacity: .55; }
@media (max-width: 720px) {
  .sc-r { display: flex; flex-wrap: wrap; gap: .1rem .6rem; }
  .sc-r .sc-r-n { flex: 1 0 70%; }
  .sc-r .sc-r-m { font-size: .78rem; }
  .sc-r .sc-r-m:empty { display: none; }
}
