/* ════════════════════════════════════════════════════════════════════════
   DATA INPUT — "SETUP CONSOLE"  (v6, fully new UI)
   Sticky cockpit rail (live readiness ring + step nav + Generate) beside a
   single scrolling work area of full-width panels. Mint/white/green theme to
   match the Dashboard. Loads LAST; scoped to #tp-input. All functional IDs
   from 998-data-input-runtime.js are preserved.
   ════════════════════════════════════════════════════════════════════════ */

#tp-input {
  --ic-green:#24B47E; --ic-green-d:#1EA372; --ic-green-soft:#7FD8C5;
  --ic-tint:#EAF7F1; --ic-ink:#14202A; --ic-ink-2:#1A1D21; --ic-mut:#6B7580;
  --ic-line:#E8ECEF; --ic-card:#FFFFFF; --ic-wash:#F6FAF8;
  /* retheme injected Zones/Levels plan card (uses these fallback vars) */
  --bl:#24B47E; --am:#24B47E; --p:#FFFFFF; --p2:#EAF7F1;
  --st:#E8ECEF; --tx:#1A1D21; --st-tx:#6B7580; --r3:12px;
  color:var(--ic-ink-2) !important;
  font-family:Inter,'Plus Jakarta Sans',system-ui,-apple-system,"Segoe UI",sans-serif !important;
  letter-spacing:-.01em;
}
#tp-input.tp { padding:2px 2px 40px !important; background:transparent !important; }

/* ─── SHELL ────────────────────────────────────────────────────────────── */
#tp-input .ic-shell {
  display:grid; grid-template-columns:288px minmax(0,1fr) 288px; gap:20px;
  max-width:1600px; margin:0 auto; align-items:start;
}
#tp-input .ic-shell *, #tp-input .ic-shell *::before, #tp-input .ic-shell *::after { box-sizing:border-box; }
@media (max-width:1280px){ #tp-input .ic-shell { grid-template-columns:270px minmax(0,1fr); } #tp-input .ic-side { grid-column:1 / -1; } }
@media (max-width:1080px){ #tp-input .ic-shell { grid-template-columns:1fr; } }

/* Wide screens: the tab gets its OWN scroll — only the middle column scrolls,
   so the left rail and right section stay truly fixed. (Works around .app's
   overflow-x:hidden, which turns it into a scroll container and breaks
   position:sticky while the window is what actually scrolls.) */
@media (min-width:1281px){
  #tp-input.tp { padding-bottom:8px !important; }
  #tp-input .ic-shell { height:calc(100vh - 140px); }
  #tp-input .ic-body { height:100%; overflow-y:auto; overflow-x:hidden; padding-right:6px; }
  #tp-input .ic-rail, #tp-input .ic-side { max-height:100%; overflow:auto; }
}

/* ─── COCKPIT RAIL ─────────────────────────────────────────────────────── */
#tp-input .ic-rail {
  align-self:start;
  display:flex; flex-direction:column; gap:16px;
  padding:20px; border-radius:24px;
  background:var(--ic-card);
  border:1px solid var(--ic-line);
  box-shadow:0 12px 34px rgba(26,29,33,.055);
  animation:icUp .5s cubic-bezier(.22,.61,.36,1) both;
}

#tp-input .ic-rail-brand { display:flex; align-items:center; gap:11px; }
#tp-input .ic-rail-mark {
  width:40px; height:40px; border-radius:13px; display:grid; place-items:center; flex:0 0 40px;
  background:linear-gradient(160deg,#24B47E,#1EA372); color:#fff;
  box-shadow:0 8px 18px rgba(36,180,126,.32), inset 0 1px 0 rgba(255,255,255,.3);
}
#tp-input .ic-rail-mark svg { width:20px; height:20px; }
#tp-input .ic-rail-titles { display:flex; flex-direction:column; line-height:1.2; }
#tp-input .ic-rail-titles b { font-family:'Plus Jakarta Sans',Inter,sans-serif; font-size:16px; font-weight:800; color:var(--ic-ink); }
#tp-input .ic-rail-titles small { font-size:11px; font-weight:600; color:var(--ic-mut); }

/* readiness ring block */
#tp-input .ic-rail-ring {
  display:flex; align-items:center; gap:13px; padding:14px;
  border-radius:16px; background:var(--ic-wash); border:1px solid var(--ic-line);
}
#tp-input .dinput-ready-ring { position:relative; width:60px; height:60px; flex:0 0 60px; }
#tp-input .dinput-ready-ring svg { width:100%; height:100%; }
#tp-input .dinput-ring-bg { stroke:#DCEDE6 !important; }
#tp-input .dinput-ring-fg { stroke:var(--ic-green) !important; transition:stroke-dasharray .6s cubic-bezier(.19,1,.22,1); }
#tp-input .dinput-ring-pct { position:absolute; inset:0; display:grid; place-items:center; font-size:14px; font-weight:800; color:var(--ic-ink) !important; font-variant-numeric:tabular-nums; font-family:'Plus Jakarta Sans',Inter,sans-serif; }
#tp-input .ic-rail-ring-meta { min-width:0; }
#tp-input .ic-rail-ring-meta small { display:block; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ic-green) !important; margin-bottom:3px; }
#tp-input .ic-rail-ring-meta b { font-size:12px; font-weight:700; line-height:1.35; color:#2B3640 !important; }

/* step nav */
#tp-input .ic-steps { display:flex; flex-direction:column; gap:6px; }
#tp-input .ic-step {
  display:grid; grid-template-columns:36px minmax(0,1fr) 16px; align-items:center; gap:11px;
  padding:11px 12px; border-radius:14px; border:1px solid transparent; background:transparent;
  font:inherit; text-align:left; cursor:pointer; width:100%;
  transition:background .16s ease, border-color .16s ease, transform .12s ease;
}
#tp-input .ic-step:hover { background:var(--ic-wash); }
#tp-input .ic-step:active { transform:translateY(1px); }
#tp-input .ic-step-ic { width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--ic-tint); color:var(--ic-green); flex:0 0 36px; transition:background .16s ease, color .16s ease; }
#tp-input .ic-step-ic svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
#tp-input .ic-step-txt { min-width:0; line-height:1.25; }
#tp-input .ic-step-txt b { display:block; font-size:13.5px; font-weight:800; color:var(--ic-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tp-input .ic-step-txt small { font-size:11px; color:var(--ic-mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
#tp-input .ic-step-dot { width:20px; height:20px; border-radius:50%; background:#E4E8EC; border:1px solid #D3DAE0; justify-self:center; display:grid; place-items:center; color:#fff; transition:background .18s ease, border-color .18s ease, box-shadow .18s ease; }
#tp-input .ic-step-dot svg { width:12px; height:12px; opacity:0; transform:scale(.5); transition:opacity .18s ease, transform .18s ease; }

#tp-input .ic-step.is-active { background:#fff; border-color:var(--ic-green); box-shadow:0 6px 16px rgba(36,180,126,.14); }
#tp-input .ic-step.is-active .ic-step-ic { background:var(--ic-green); color:#fff; }
#tp-input .ic-step.is-done .ic-step-dot { background:var(--ic-green); border-color:var(--ic-green); box-shadow:0 0 0 3px rgba(36,180,126,.18); }
#tp-input .ic-step.is-done .ic-step-dot svg { opacity:1; transform:none; }

/* fixed-rail footer (Generate + settings pinned below the steps) */
#tp-input .ic-rail-foot { display:flex; flex-direction:column; gap:10px; margin-top:2px; }

/* generate + settings */
#tp-input .ic-generate {
  display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:50px;
  border-radius:15px; border:0; cursor:pointer; font:inherit; font-size:14px; font-weight:800; color:#fff;
  background:linear-gradient(160deg,#24B47E,#1EA372);
  box-shadow:0 14px 28px rgba(36,180,126,.34);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease, opacity .15s ease;
}
#tp-input .ic-generate svg { width:18px; height:18px; }
#tp-input .ic-generate:not(:disabled):hover { transform:translateY(-1px); filter:brightness(1.05); box-shadow:0 18px 34px rgba(36,180,126,.4); }
#tp-input .ic-generate:disabled { background:#E4E9ED; color:#9BA4AD; box-shadow:none; cursor:not-allowed; }
#tp-input .ic-generate.is-ready { animation:icPulse 2.2s ease-in-out infinite; }
/* Generate promoted into the Review & Generate section (out of the rail) */
#tp-input .ic-generate--section { margin-top:18px; min-height:56px; font-size:15px; border-radius:16px; }

#tp-input .ic-settings-link {
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:42px;
  border-radius:12px; border:1px solid var(--ic-line); background:transparent; cursor:pointer;
  font:inherit; font-size:12.5px; font-weight:700; color:var(--ic-mut);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
#tp-input .ic-settings-link:hover { border-color:var(--ic-green-soft); color:var(--ic-ink); background:var(--ic-wash); }
#tp-input .ic-settings-link svg { width:15px; height:15px; }

/* ─── RIGHT SECTION (Planning Setup) — fixed on scroll ─────────────────── */
#tp-input .ic-side {
  align-self:start;
  display:flex; flex-direction:column; gap:14px;
  background:var(--ic-card); border:1px solid var(--ic-line); border-radius:24px; padding:20px;
  box-shadow:0 12px 34px rgba(26,29,33,.055);
  animation:icUp .5s cubic-bezier(.22,.61,.36,1) both;
}
#tp-input .ic-side-head { display:flex; align-items:center; gap:11px; }
#tp-input .ic-side-ic { flex:0 0 40px; width:40px; height:40px; border-radius:13px; display:grid; place-items:center; background:linear-gradient(160deg,#24B47E,#1EA372); color:#fff; box-shadow:0 8px 18px rgba(36,180,126,.32), inset 0 1px 0 rgba(255,255,255,.3); }
#tp-input .ic-side-ic svg { width:20px; height:20px; }
#tp-input .ic-side-titles h2 { margin:0 0 2px; font-family:'Plus Jakarta Sans',Inter,sans-serif; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--ic-ink); }
#tp-input .ic-side-titles p { margin:0; font-size:11px; line-height:1.35; font-weight:600; color:var(--ic-mut); }

/* compact tiles — matched to the rail's step scale */
#tp-input .ic-side .ic-setup-grid { grid-template-columns:1fr; gap:6px; margin-bottom:0; }
#tp-input .ic-side .ic-setup-tile { padding:11px 12px; gap:6px; border-radius:14px; }
#tp-input .ic-side .ic-setup-k { font-size:11px; gap:8px; }
#tp-input .ic-side .ic-setup-k svg { width:15px; height:15px; }
#tp-input .ic-side .ic-setup-tile .dinput-setup-val { font-size:13px; }
@media (max-width:1280px){ #tp-input .ic-side { position:static; max-height:none; } #tp-input .ic-side .ic-setup-grid { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); } }

/* ─── WORK AREA PANELS ─────────────────────────────────────────────────── */
#tp-input .ic-body { display:flex; flex-direction:column; gap:18px; min-width:0; }
#tp-input .ic-panel {
  scroll-margin-top:18px;
  background:var(--ic-card); border:1px solid var(--ic-line); border-radius:22px; padding:26px 28px;
  box-shadow:0 12px 34px rgba(26,29,33,.055);
  animation:icUp .5s cubic-bezier(.22,.61,.36,1) both;
}
#tp-input .ic-panel:nth-child(2){ animation-delay:.05s; }
#tp-input .ic-panel:nth-child(3){ animation-delay:.1s; }
#tp-input .ic-panel:nth-child(4){ animation-delay:.15s; }
#tp-input .ic-panel:nth-child(5){ animation-delay:.2s; }

#tp-input .ic-panel-head { display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
#tp-input .ic-panel-step {
  flex:0 0 auto; min-width:44px; height:44px; padding:0 12px; border-radius:13px; display:grid; place-items:center;
  font-family:'Plus Jakarta Sans',Inter,sans-serif; font-size:16px; font-weight:800; letter-spacing:.02em;
  color:var(--ic-green); background:var(--ic-tint);
}
#tp-input .ic-panel-titles h2 { margin:0 0 4px; font-family:'Plus Jakarta Sans',Inter,sans-serif; font-size:20px; font-weight:800; letter-spacing:-.01em; color:var(--ic-ink); }
#tp-input .ic-panel-titles p { margin:0; font-size:13px; line-height:1.55; color:var(--ic-mut); max-width:66ch; }

/* ─── FORM ─────────────────────────────────────────────────────────────── */
#tp-input .dinput-form { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px 18px; }
#tp-input .dinput-field--full { grid-column:1 / -1; }
#tp-input .dinput-lbl { display:block; font-size:11px !important; font-weight:800 !important; letter-spacing:.02em !important; text-transform:none !important; color:var(--ic-mut) !important; margin-bottom:7px !important; }
#tp-input .dinput-inp, #tp-input .dinput-textarea {
  width:100% !important; min-height:46px !important; padding:12px 14px !important; font:inherit !important;
  font-size:13.5px !important; font-weight:500 !important; background:#F8FAFB !important;
  border:1px solid var(--ic-line) !important; border-radius:12px !important; color:var(--ic-ink-2) !important;
  box-shadow:none !important; transition:border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
#tp-input .dinput-inp:hover, #tp-input .dinput-textarea:hover { border-color:#CFDAD6 !important; }
#tp-input .dinput-inp:focus, #tp-input .dinput-textarea:focus { outline:none !important; background:#fff !important; border-color:var(--ic-green) !important; box-shadow:0 0 0 4px rgba(36,180,126,.12) !important; }
#tp-input .dinput-inp::placeholder, #tp-input .dinput-textarea::placeholder { color:#9AA3AC !important; }
#tp-input select.dinput-inp { cursor:pointer; }
#tp-input .dinput-textarea { min-height:96px !important; padding:13px 14px 28px !important; resize:vertical; line-height:1.55; }
#tp-input .dinput-input-wrap { position:relative; }
#tp-input .dinput-input-wrap .dinput-inp { padding-right:42px !important; }
#tp-input .dinput-input-icon { position:absolute; right:13px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--ic-green) !important; pointer-events:none; }
#tp-input .dinput-textarea-wrap { position:relative; }
#tp-input .dinput-char-count { position:absolute; bottom:9px; left:14px; font-size:10.5px; font-weight:700; color:#A2ABB3 !important; pointer-events:none; font-variant-numeric:tabular-nums; }
#tp-input .dinput-duration-hint { margin-top:6px; font-size:11px; color:var(--ic-mut) !important; line-height:1.4; }
@media (max-width:640px){ #tp-input .dinput-form { grid-template-columns:1fr; } }

/* ─── DROPZONE + FILES ─────────────────────────────────────────────────── */
#tp-input .dinput-dropzone {
  display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important;
  gap:8px !important; min-height:210px !important; padding:30px 24px !important; text-align:center; cursor:pointer;
  border:1.6px dashed rgba(36,180,126,.34) !important; border-radius:18px !important;
  background:radial-gradient(520px 180px at 50% 0%, rgba(36,180,126,.05), transparent 70%), #F8FBFA !important;
  transition:border-color .18s ease, background .18s ease !important; box-shadow:none !important;
}
#tp-input .dinput-dropzone:hover, #tp-input .dinput-dropzone.drag { border-color:var(--ic-green) !important; background:radial-gradient(520px 200px at 50% 0%, rgba(36,180,126,.12), transparent 70%), #F3FAF7 !important; }
#tp-input .dinput-dz-icon { width:66px !important; height:66px !important; margin-bottom:6px !important; display:grid !important; place-items:center; border-radius:20px; background:var(--ic-tint); color:var(--ic-green) !important; }
#tp-input .dinput-dz-icon svg { width:30px !important; height:30px !important; filter:none !important; }
#tp-input .dinput-dz-title { font-size:15px !important; font-weight:800 !important; color:var(--ic-ink) !important; }
#tp-input .dinput-dz-sub { font-size:12px !important; color:var(--ic-mut) !important; margin-bottom:6px !important; }
#tp-input .dinput-browse-btn { display:inline-flex; align-items:center; gap:8px; margin-top:6px !important; padding:10px 20px !important; background:var(--ic-green) !important; border:0 !important; color:#fff !important; border-radius:12px !important; font:inherit; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 8px 18px rgba(36,180,126,.26) !important; transition:transform .14s ease, background .14s ease !important; }
#tp-input .dinput-browse-btn:hover { transform:translateY(-1px); background:var(--ic-green-d) !important; border:0 !important; }
#tp-input .dinput-browse-btn svg { width:15px; height:15px; color:#fff !important; }

#tp-input .dinput-files-section { margin-top:18px; }
#tp-input .dinput-files-title { font-size:12.5px !important; font-weight:800 !important; color:var(--ic-ink) !important; margin-bottom:10px; }
#tp-input .dinput-files-table { border:1px solid var(--ic-line); border-radius:14px; overflow:hidden; background:#fff; }
#tp-input .dinput-files-row { display:grid !important; grid-template-columns:1.8fr .7fr .7fr 1.1fr 1fr 36px; align-items:center; gap:12px; padding:11px 16px; font-size:12.5px; border-bottom:1px solid #F0F3F5; background:transparent !important; }
#tp-input .dinput-files-row:last-child { border-bottom:none; }
#tp-input .dinput-files-row--head { background:var(--ic-wash) !important; color:var(--ic-mut) !important; font-size:10.5px !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:.08em; padding:9px 16px !important; }
#tp-input .dinput-fname { display:flex; align-items:center; gap:10px; min-width:0; }
#tp-input .dinput-fname-ico { flex:0 0 26px; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font-size:14px; background:var(--ic-tint) !important; border:0 !important; }
#tp-input .dinput-fname-text { font-weight:700; color:var(--ic-ink-2) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tp-input .dinput-ftype-pill { display:inline-block; padding:3px 9px; border-radius:7px; background:var(--ic-tint) !important; border:1px solid rgba(36,180,126,.2) !important; font-size:10.5px; font-weight:800; letter-spacing:.04em; color:var(--ic-green-d) !important; }
#tp-input .dinput-fsize, #tp-input .dinput-fdate { color:var(--ic-mut) !important; font-weight:500; }
#tp-input .dinput-fstatus { display:inline-flex; align-items:center; gap:7px; padding:3px 10px; border-radius:999px; background:var(--ic-tint) !important; border:1px solid rgba(36,180,126,.24) !important; color:var(--ic-green-d) !important; font-size:10.5px; font-weight:800; width:fit-content; }
#tp-input .dinput-status-dot { width:6px; height:6px; border-radius:50%; background:var(--ic-green) !important; box-shadow:0 0 0 3px rgba(36,180,126,.16) !important; }
#tp-input .dinput-fdel { width:28px; height:28px; border-radius:8px; border:1px solid transparent; background:transparent; color:var(--ic-mut); cursor:pointer; display:grid; place-items:center; transition:all .14s; padding:0; }
#tp-input .dinput-fdel:hover { border-color:rgba(244,116,107,.28); background:rgba(244,116,107,.1); color:#D8453A; }
#tp-input .dinput-fdel svg { width:14px; height:14px; }

/* ─── PLANNING SETUP TILES ─────────────────────────────────────────────── */
#tp-input .ic-setup-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:20px; }
#tp-input .ic-setup-tile { display:flex; flex-direction:column; gap:8px; padding:14px; border-radius:15px; background:var(--ic-wash); border:1px solid var(--ic-line); }
#tp-input .ic-setup-k { display:flex; align-items:center; gap:8px; font-size:11.5px; font-weight:700; color:var(--ic-mut); }
#tp-input .ic-setup-k svg { width:15px; height:15px; color:var(--ic-green); flex-shrink:0; }
#tp-input .ic-setup-tile .dinput-setup-val { font-family:'Plus Jakarta Sans',Inter,sans-serif; font-size:14px; font-weight:800; color:var(--ic-ink) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* injected Zones/Levels card sits flush inside its own section — the panel head
   already carries the "Zones, Levels & Phases" title, so hide the card's own */
#tp-input .ic-plan-mount { display:flex; flex-direction:column; gap:16px; }
#tp-input .ic-plan-mount .plan-card { border:0 !important; padding:0 !important; box-shadow:none !important; background:transparent !important; }
#tp-input .ic-plan-mount .plan-card > .dinput-card-hdr,
#tp-input .ic-plan-mount .plan-card > .dinput-card-desc { display:none !important; }
#tp-input .dinput-card { background:#fff !important; border:1px solid var(--ic-line) !important; border-radius:18px !important; padding:20px !important; box-shadow:0 6px 18px rgba(26,29,33,.05) !important; color:var(--ic-ink-2) !important; }
#tp-input .dinput-card::before { display:none !important; }
#tp-input .dinput-card .dinput-card-num { background:var(--ic-tint) !important; color:var(--ic-green) !important; border:0 !important; box-shadow:none !important; }
#tp-input .dinput-card .dinput-card-num svg { color:var(--ic-green) !important; }
#tp-input .dinput-card .dinput-card-title { font-family:'Plus Jakarta Sans',Inter,sans-serif !important; color:var(--ic-ink) !important; }
#tp-input .plan-seg-tab.is-active { border-color:var(--ic-green) !important; box-shadow:0 2px 8px rgba(36,180,126,.16) !important; }
#tp-input .plan-seg-tab.is-active .plan-seg-ic, #tp-input .plan-seg-tab.is-active .plan-seg-t { color:var(--ic-green) !important; }

/* ─── READINESS CHECKLIST (hidden data source in the rail) ─────────────── */
#tp-input .dinput-checklist[hidden] { display:none !important; }
#tp-input .dinput-checklist { display:flex; flex-direction:column; gap:10px; }
#tp-input .dinput-check-item { display:flex; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:1px solid var(--ic-line); border-radius:15px; transition:all .18s; cursor:default; }
#tp-input .dinput-check-item:hover { border-color:var(--ic-green-soft); box-shadow:0 8px 18px rgba(26,29,33,.05); }
#tp-input .dinput-check-icon { flex:0 0 32px; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; color:#fff; }
#tp-input .dinput-check-icon svg { width:16px; height:16px; }
#tp-input .dinput-check-item.is-ok .dinput-check-icon { background:var(--ic-green) !important; box-shadow:0 0 0 3px rgba(36,180,126,.16) !important; }
#tp-input .dinput-check-item.is-pending .dinput-check-icon { background:#CBD3DA !important; color:#fff !important; box-shadow:0 0 0 3px rgba(203,211,218,.28) !important; }
#tp-input .dinput-check-item.is-ok { border-color:rgba(36,180,126,.3); background:#F6FCF9; }
#tp-input .dinput-check-text { flex:1; min-width:0; }
#tp-input .dinput-check-title { font-size:13.5px !important; font-weight:750 !important; color:var(--ic-ink-2) !important; margin-bottom:2px; }
#tp-input .dinput-check-sub { font-size:11.5px !important; color:var(--ic-mut) !important; }
#tp-input .dinput-check-chev { font-size:22px; color:#C4CCD3 !important; font-weight:300; line-height:1; }

#tp-input .dinput-ready-cta { display:flex; align-items:center; gap:12px; margin-top:16px; padding:15px 18px; border-radius:15px; font-size:13.5px; font-weight:600; }
#tp-input .dinput-cta-icon { flex:0 0 22px; width:22px; height:22px; }
#tp-input .dinput-ready-cta--pending { background:var(--ic-tint) !important; border:1px solid rgba(36,180,126,.28) !important; color:var(--ic-green-d) !important; }
#tp-input .dinput-ready-cta--ok { background:rgba(36,180,126,.12) !important; border:1px solid rgba(36,180,126,.4) !important; color:var(--ic-green-d) !important; }
#tp-input .dinput-ready-cta svg { color:currentColor !important; stroke:currentColor !important; }

/* ─── motion ───────────────────────────────────────────────────────────── */
@keyframes icUp { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }
@keyframes icPulse { 0%,100%{ box-shadow:0 14px 28px rgba(36,180,126,.34);} 50%{ box-shadow:0 16px 40px rgba(36,180,126,.55);} }
@media (prefers-reduced-motion: reduce){
  #tp-input .ic-rail, #tp-input .ic-panel { animation:none !important; }
  #tp-input .ic-generate.is-ready { animation:none !important; }
  #tp-input .ic-step, #tp-input .dinput-card, #tp-input .dinput-dropzone, #tp-input .dinput-browse-btn { transition:none !important; }
}
