/* BioSpark demo polish — visual overlay for the legacy application pages (dashboard / workflow / management).
   Loaded LAST. Changes only appearance; every id/class the frozen scripts read stays untouched.
   Tokens follow docs/45 (navy ink, blue action, green state, amber pending, red fail; radii 4/6/8/12; no gradients). */
:root{
  --dp-bg:#F7F8FA; --dp-surface:#FFFFFF; --dp-surface-2:#F2F4F7; --dp-ink:#0B1F3A; --dp-ink-2:#3D4B5F; --dp-muted:#6B7787;
  --dp-line:#E3E7ED; --dp-line-mid:#CBD2DC; --dp-blue:#1D5BD6; --dp-blue-ink:#17479F; --dp-blue-soft:#EAF1FC;
  --dp-green:#0E8A5F; --dp-green-soft:#E6F5EE; --dp-amber:#B45309; --dp-amber-soft:#FDF3E3; --dp-red:#B42318; --dp-red-soft:#FCEBEA;
  --dp-r:8px; --dp-r-lg:12px; --dp-font:'Inter','Pretendard','Apple SD Gothic Neo','Noto Sans KR',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* neutralise the legacy palette where it is consumed via variables */
  --accent:var(--dp-green); --accent-2:var(--dp-blue); --accent-3:var(--dp-blue); --bg:var(--dp-bg); --bg-card:var(--dp-surface); --bg-card-2:var(--dp-surface-2);
  --text-1:var(--dp-ink); --text-2:var(--dp-ink-2); --text-3:var(--dp-muted); --border:var(--dp-line);
  --font-display:var(--dp-font); --font-body:var(--dp-font); --font-sans:var(--dp-font);
  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:12px; --r-2xl:12px; --r-full:8px;
}
html{-webkit-font-smoothing:antialiased}
body{font-family:var(--dp-font)!important;background:var(--dp-bg)!important;color:var(--dp-ink)!important}
h1,h2,h3,h4{font-family:var(--dp-font)!important;letter-spacing:-.015em!important;color:var(--dp-ink)!important}

/* ---------- header / navigation (same shell as the public site) ---------- */
.navbar,.navbar.scrolled{background:var(--dp-surface)!important;border-bottom:1px solid var(--dp-line)!important;box-shadow:none!important;backdrop-filter:none!important;height:64px!important}
.navbar__inner{height:64px!important}
.navbar__link{font-size:14px!important;font-weight:500!important;color:var(--dp-ink-2)!important;border-radius:6px!important;padding:8px 12px!important;transition:background-color .15s,color .15s!important}
.navbar__link:hover,.navbar__link.active{color:var(--dp-ink)!important;background:var(--dp-surface-2)!important}
.navbar__actions .btn,.navbar__actions button{border-radius:6px!important}
/* legacy black workspace bar → quiet light secondary row */
html body #biospark-workspace-bar{background:var(--dp-surface)!important;border-bottom:1px solid var(--dp-line)!important;box-shadow:none!important;height:44px!important}
html body #biospark-workspace-bar .wsb-label{color:var(--dp-muted)!important;font-size:11px!important;letter-spacing:.08em!important}
html body #biospark-workspace-bar .wsb-link{color:var(--dp-ink-2)!important;font-size:13px!important;border-radius:6px!important;background:transparent!important;border:0!important}
html body #biospark-workspace-bar .wsb-link:hover{background:var(--dp-surface-2)!important;color:var(--dp-ink)!important}
html body #biospark-workspace-bar .wsb-link.wsb-active{background:var(--dp-blue-soft)!important;color:var(--dp-blue-ink)!important;font-weight:600!important}
#biospark-workspace-bar .wsb-link svg{opacity:.7}
/* locale toggle (added by demo-polish.js) */
.dp-locale{display:inline-flex;border:1px solid var(--dp-line-mid);border-radius:6px;overflow:hidden;margin-right:12px;vertical-align:middle}
.dp-locale button{font:600 12px/1 var(--dp-font);padding:7px 10px;border:0;background:var(--dp-surface);color:var(--dp-muted);cursor:pointer}
.dp-locale button[aria-pressed="true"]{background:var(--dp-ink);color:#fff}
.dp-locale button:focus-visible{outline:2px solid var(--dp-blue);outline-offset:-2px}

/* ---------- buttons: one system ---------- */
.btn,.dbx-btn,.w2-btn{font-family:var(--dp-font)!important;font-weight:500!important;border-radius:6px!important;box-shadow:none!important;background-image:none!important;transform:none!important;letter-spacing:0!important;transition:background-color .15s,border-color .15s,color .15s!important}
.btn-primary,.dbx-btn.primary,.w2-btn-primary{background:var(--dp-blue)!important;color:#fff!important;border:1px solid var(--dp-blue)!important}
.btn-primary:hover,.dbx-btn.primary:hover{background:var(--dp-blue-ink)!important;border-color:var(--dp-blue-ink)!important}
.btn-outline,.btn-secondary,.btn-ghost,.dbx-btn:not(.primary){background:var(--dp-surface)!important;color:var(--dp-ink)!important;border:1px solid var(--dp-line-mid)!important}
.btn-outline:hover,.dbx-btn:not(.primary):hover{background:var(--dp-surface-2)!important;border-color:#A9B3C1!important;color:var(--dp-ink)!important}
.btn[disabled],.btn:disabled{opacity:.5!important;cursor:not-allowed!important}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--dp-blue)!important;outline-offset:2px}

/* ---------- cards / tables ---------- */
.ws-card,.dbx-card,.w2-card{background:var(--dp-surface)!important;border:1px solid var(--dp-line)!important;border-radius:var(--dp-r-lg)!important;box-shadow:none!important;background-image:none!important}
.ws-card::before,.ws-card::after{display:none!important}   /* removes the top accent bar / glow decorations */
table{font-size:14px!important}
th{font-family:var(--dp-font)!important;font-size:12px!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--dp-muted)!important;font-weight:600!important;background:#FBFCFD}
td{color:var(--dp-ink)!important;border-bottom:1px solid var(--dp-line)!important;vertical-align:middle}
tbody tr:hover td{background:#FBFCFD}
input[type=search],input[type=text],select{font-family:var(--dp-font)!important;border:1px solid var(--dp-line-mid)!important;border-radius:6px!important;background:var(--dp-surface)!important;color:var(--dp-ink)!important;box-shadow:none!important}

/* status pills — one mapping everywhere (legacy pages use several class names; match by text via data attr set in JS) */
[data-dp-status]{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;border:1px solid transparent}
[data-dp-status]::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
[data-dp-status="ok"]{background:var(--dp-green-soft);color:#0A6B4A}
[data-dp-status="run"]{background:var(--dp-amber-soft);color:var(--dp-amber)}
[data-dp-status="fail"]{background:var(--dp-red-soft);color:var(--dp-red)}
[data-dp-status="neutral"]{background:var(--dp-surface-2);color:var(--dp-ink-2)}

/* ---------- dashboard: hero + start-here + workflow CTAs ---------- */
.dp-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin:8px 0 28px}
.dp-hero .eyebrow{color:var(--dp-blue)!important;font-size:12px!important;letter-spacing:.08em!important;font-weight:600!important;text-transform:uppercase}
.dp-hero h1{font-size:34px!important;line-height:1.15!important;font-weight:600!important;margin:6px 0 8px!important}
.dp-hero p{color:var(--dp-ink-2);font-size:15.5px;max-width:64ch;margin:0}
.dp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px}
.dp-step{background:var(--dp-surface);border:1px solid var(--dp-line);border-radius:var(--dp-r-lg);padding:14px 16px;display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;transition:border-color .15s,background-color .15s}
a.dp-step:hover{border-color:var(--dp-blue);background:#FBFCFF}
.dp-step .n{flex:0 0 26px;height:26px;border-radius:50%;background:var(--dp-blue-soft);color:var(--dp-blue-ink);font:600 12px/26px var(--dp-font);text-align:center}
.dp-step b{display:block;font-size:14px;color:var(--dp-ink);font-weight:600}
.dp-step span{display:block;font-size:12.5px;color:var(--dp-muted);margin-top:2px;line-height:1.4}
.dp-workflows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 32px}
.dp-wf{background:var(--dp-surface);border:1px solid var(--dp-line);border-radius:var(--dp-r-lg);padding:22px 22px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}
.dp-wf .k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dp-muted);font-weight:600}
.dp-wf h3{font-size:19px!important;margin:2px 0 4px!important;font-weight:600!important}
.dp-wf p{margin:0;color:var(--dp-ink-2);font-size:13.5px;line-height:1.5;grid-column:1}
.dp-wf .btn{grid-row:1/4;grid-column:2;align-self:center;padding:10px 16px!important;font-size:14px!important;white-space:nowrap}
.dp-wf .meta{grid-column:1;font-size:12px;color:var(--dp-muted);margin-top:4px}
.dp-section-h{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 12px}
.dp-section-h h2{font-size:18px!important;font-weight:600!important}
/* fake KPI cards (Platform Status / Storage / Access) carry no information → hidden; Total Runs stays as a quiet inline stat */
.bs-kpi-grid{display:none!important}
#run-history h3{font-size:16px!important}
.bs-output-button{padding:6px 10px!important;font-size:12.5px!important}
/* run table: raw timestamps / product ids are rewritten by JS; give the run id chip a calmer look */
#run-table-body td:first-child .btn,#run-table-body td:first-child span{border-radius:6px!important;font-weight:500!important}

/* ---------- Start New Analysis modal ---------- */
#new-run-modal{background:rgba(11,31,58,.45)!important;backdrop-filter:none!important}
#new-run-modal>.ws-card{max-width:600px!important;padding:0!important;border-radius:var(--dp-r-lg)!important;overflow:hidden}
#new-run-modal>.ws-card>div:first-child{padding:20px 24px 14px!important;margin:0!important;border-bottom:1px solid var(--dp-line)}
#new-run-modal h2{font-size:18px!important;font-weight:600!important}
.dp-modal-steps{display:flex;gap:0;padding:12px 24px 0;font-size:12px;color:var(--dp-muted)}
.dp-modal-steps span{flex:1;padding:6px 0 8px;border-bottom:2px solid var(--dp-line);text-align:center;font-weight:500}
.dp-modal-steps span[data-on="1"]{color:var(--dp-blue-ink);border-color:var(--dp-blue)}
.bs-new-run-body{padding:16px 24px 4px!important;max-height:min(62vh,640px);overflow:auto}
.bs-control-label{font-size:12.5px!important;font-weight:600!important;color:var(--dp-ink-2)!important;letter-spacing:0!important;text-transform:none!important}
.bs-control-help{font-size:12.5px!important;color:var(--dp-muted)!important}
#new-run-form select,#new-run-form input[type=text],#new-run-form input[type=search],#new-run-form input[type=number]{padding:10px 12px!important;font-size:14px!important;border-radius:6px!important;background:var(--dp-surface)!important;border:1px solid var(--dp-line-mid)!important}
#new-run-form select:focus,#new-run-form input:focus{border-color:var(--dp-blue)!important;box-shadow:0 0 0 3px var(--dp-blue-soft)!important}
/* Ready Data / My Data source tabs (rendered by r4) */
#r4-ready-tab,#r4-my-data-tab{border-radius:6px!important;padding:7px 12px!important;font-size:13px!important;font-weight:500!important;box-shadow:none!important;background-image:none!important}
#r4-ready-tab[aria-selected="true"],#r4-my-data-tab[aria-selected="true"],#r4-ready-tab.active,#r4-my-data-tab.active{background:var(--dp-blue)!important;color:#fff!important}
/* explicit R1/R2 block: make the pair read as one unit */
#r12-explicit-inputs{background:var(--dp-surface-2);border:1px solid var(--dp-line);border-radius:var(--dp-r);padding:12px 14px;margin:8px 0 4px}
#r12-explicit-inputs label{font-weight:600!important;color:var(--dp-ink)!important}
#r12-explicit-inputs select{background:var(--dp-surface)!important}
#r4-start-state,#r4-start-reason,#r3-input-help{font-size:12.5px!important;color:var(--dp-ink-2)!important}
.bs-output-segment .bs-segment-button{border-radius:6px!important;font-size:13px!important;box-shadow:none!important}
.bs-output-segment .bs-segment-button[aria-pressed="true"]{background:var(--dp-blue)!important;color:#fff!important;border-color:var(--dp-blue)!important}
.bs-profile-summary,.bs-runtime-card{border-radius:var(--dp-r)!important;background:var(--dp-surface-2)!important;border:1px solid var(--dp-line)!important;font-size:12.5px!important}
.bs-options-summary{font-size:13px!important;font-weight:600!important;cursor:pointer}
.bs-options-badge{border-radius:6px!important;background:var(--dp-green-soft)!important;color:#0A6B4A!important;font-size:11px!important}
.bs-new-run-footer{display:flex!important;justify-content:flex-end!important;gap:8px!important;padding:14px 24px 18px!important;margin:0!important;border-top:1px solid var(--dp-line);background:var(--dp-surface)}
.bs-new-run-footer .btn{padding:10px 16px!important;font-size:14px!important;border-radius:6px!important}
/* exactly one primary at a time: Validate is primary until Start becomes enabled (r4 owns the disabled flag; CSS only reads it) */
.bs-new-run-footer:has(#start-analysis-button[disabled]) #validate-settings-button{background:var(--dp-blue)!important;color:#fff!important;border-color:var(--dp-blue)!important}
.bs-new-run-footer:has(#start-analysis-button:not([disabled])) #validate-settings-button{background:var(--dp-surface)!important;color:var(--dp-ink)!important;border-color:var(--dp-line-mid)!important}
#start-analysis-button:not([disabled]){background:var(--dp-green)!important;border-color:var(--dp-green)!important;color:#fff!important}
#bs-preview-area{border-radius:var(--dp-r)!important;background:var(--dp-surface-2)!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px!important}

/* ---------- paired-FASTQ confirm dialog (created by the frozen uploader with inline styles; restyled by attribute) ---------- */
[data-p0a-pair-confirm]{background:rgba(11,31,58,.45)!important}
[data-p0a-pair-confirm]>div{border-radius:var(--dp-r-lg)!important;box-shadow:0 24px 64px rgba(11,31,58,.18)!important;padding:22px 24px!important;font-family:var(--dp-font)!important;width:min(560px,92vw)!important}
[data-p0a-pair-confirm] h3{font-size:18px;font-weight:600;color:var(--dp-ink);margin:0 0 6px!important}
[data-p0a-pair-confirm] p{color:var(--dp-ink-2)!important;font-size:13.5px!important;line-height:1.5}
[data-p0a-pair-confirm] label{background:var(--dp-surface-2);border:1px solid var(--dp-line);border-radius:var(--dp-r);padding:10px 12px!important;margin:10px 0!important}
[data-p0a-pair-confirm] label>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:12.5px!important;font-weight:500!important;color:var(--dp-ink)}
[data-p0a-pair-confirm] select{font-family:var(--dp-font)!important;font-size:13px!important;padding:8px 10px!important;border:1px solid var(--dp-line-mid)!important;border-radius:6px!important;background:#fff!important;width:120px!important;margin-top:6px!important}
[data-p0a-pair-confirm] [data-p0a-error]{font-size:12.5px!important;color:var(--dp-red)!important;margin:4px 0}
[data-p0a-pair-confirm] button{font:500 14px/1.25 var(--dp-font)!important;padding:10px 16px!important;border-radius:6px!important;cursor:pointer}
[data-p0a-pair-confirm] [data-p0a-confirm]{background:var(--dp-blue)!important;color:#fff!important;border:1px solid var(--dp-blue)!important}
[data-p0a-pair-confirm] [data-p0a-generic]{background:#fff!important;color:var(--dp-ink)!important;border:1px solid var(--dp-line-mid)!important}
.dp-pair-intro{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.dp-pair-intro div{border:1px solid var(--dp-line);border-radius:var(--dp-r);padding:10px 12px;font-size:12.5px;color:var(--dp-ink-2);line-height:1.45}
.dp-pair-intro b{display:block;color:var(--dp-ink);font-size:13px;margin-bottom:2px}
.dp-pair-intro div:first-child{border-color:var(--dp-blue);background:var(--dp-blue-soft)}
/* upload progress overlay (frozen core) */
.umj-card{border-radius:var(--dp-r-lg)!important;font-family:var(--dp-font)!important;box-shadow:0 24px 64px rgba(11,31,58,.18)!important}
.umj-fill,.upload-progress-fill{background:var(--dp-blue)!important;background-image:none!important}
.umj-btn{border-radius:6px!important;font-family:var(--dp-font)!important}

/* ---------- workflow.html (My Data) ---------- */
.ws-tab-btn{font-family:var(--dp-font)!important;font-size:14px!important;border-radius:6px 6px 0 0!important}
.ws-tab-btn.active{color:var(--dp-blue-ink)!important;border-bottom-color:var(--dp-blue)!important}
.text-gradient,[class*="gradient"]{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--dp-ink)!important}

/* ---------- management.html (Workspace V4: DataBank / Admin) ---------- */
.dbx-header,.dbx-header-inner{background:var(--dp-surface)!important;border-bottom:1px solid var(--dp-line)!important;box-shadow:none!important}
.dbx-brand{font-family:var(--dp-font)!important;color:var(--dp-ink)!important}
.dbx-eyebrow{color:var(--dp-blue)!important;letter-spacing:.08em!important;font-size:12px!important}
.dbx-hero h1{font-size:30px!important;font-weight:600!important}
.dbx-metric,.dbx-kpi{border-radius:var(--dp-r-lg)!important;box-shadow:none!important;border:1px solid var(--dp-line)!important}
.dbx-tabs a,.dbx-tab,.dbv3-workspace-tabs a{border-radius:6px!important;font-size:14px!important}
.dbx-pill,.dbx-status,.dbx-badge{border-radius:6px!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:600!important}
.dbx-view{max-width:1200px!important}
.dbx-footer,.dbx-foot{color:var(--dp-muted)!important;font-size:12px!important}
@media (max-width:900px){.dp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-workflows{grid-template-columns:1fr}.dp-hero{grid-template-columns:1fr}}
/* workflow.html hero: no glow/grid decorations; the WGS/WES/Panel stat strip claims assays production does not run → hidden (owner may restore) */
.ws-hero__glow1,.ws-hero__glow2,.ws-hero__grid{display:none!important}
.ws-hero{background:var(--dp-surface)!important;border-bottom:1px solid var(--dp-line)}
.ws-hero__title{font-size:34px!important;font-weight:600!important}
.ws-hero__badge{border-radius:6px!important;background:var(--dp-blue-soft)!important;color:var(--dp-blue-ink)!important}
.ws-stat-item:has(.ws-stat-label){display:none!important}
.ws-stat-item:has(.ws-stat-label):first-child{display:flex!important}

/* R2: recover BioSpark identity while keeping the current functional DOM. */
:root{--dp-blue:#4c8fd2;--dp-blue-ink:#2f6fae;--dp-green:#32996f;--dp-ink:#10233e;--dp-bg:#f5f7fa;--dp-teal:#53b9a0}
.r2-nav-superseded{display:none!important}.r2-app-nav{display:flex;align-items:center;justify-content:center;gap:6px;margin:auto;height:100%}.r2-app-nav a{display:flex;align-items:center;gap:6px;padding:9px 13px;border-radius:7px;text-decoration:none;color:var(--dp-ink-2);font-size:13px;font-weight:650}.r2-app-nav a.active{background:var(--dp-surface-2);color:var(--dp-ink)}.r2-app-nav a span{font-size:10px;color:var(--dp-muted)}
.r2-context{height:43px;background:#fff;border-bottom:1px solid var(--dp-line);display:flex;align-items:center;gap:20px;padding:0 max(24px,calc((100vw - 1200px)/2));position:relative;z-index:20}.r2-context b{font-size:10px;letter-spacing:.1em;color:var(--dp-muted);padding-right:18px;border-right:1px solid var(--dp-line)}.r2-context a{color:var(--dp-muted);text-decoration:none;font-size:12px}.r2-context a.active{color:var(--dp-blue-ink);font-weight:700}.r2-context .r2-context-upload{margin-left:auto;border:1px solid var(--dp-blue);background:linear-gradient(105deg,var(--dp-blue),var(--dp-teal));color:#fff;padding:7px 11px;border-radius:6px;font-weight:700}
html body #biospark-workspace-bar{display:none!important}.dp-locale{border-radius:99px}.dp-locale button{padding:6px 8px;font-size:10px}
.dp-hero{background:linear-gradient(132deg,#08172d,#103143)!important;color:#fff;border-radius:12px;padding:29px 32px;position:relative;overflow:hidden}.dp-hero:after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(83,185,160,.25);border-radius:50%;right:7%;top:-120px;box-shadow:0 0 0 45px rgba(76,143,210,.04),0 0 0 90px rgba(83,185,160,.025)}.dp-hero>div{position:relative;z-index:1}.dp-hero .eyebrow{color:#87cfbf!important}.dp-hero h1{color:white!important;font-size:36px!important}.dp-hero p{color:#bdc9d8!important}.dp-hero .btn{background:rgba(255,255,255,.08)!important;color:white!important;border-color:rgba(255,255,255,.28)!important}.dp-workflows{margin-top:17px}.dp-wf{border-radius:10px!important;position:relative;overflow:hidden}.dp-wf:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dp-blue)}.dp-wf+ .dp-wf:before{background:var(--dp-teal)}
.dp-steps{position:relative}.dp-steps:before{content:"";position:absolute;left:12%;right:12%;top:27px;height:1px;background:linear-gradient(90deg,var(--dp-blue),var(--dp-teal));z-index:0}.dp-step{border-color:transparent;background:transparent;padding:10px;position:relative;z-index:1}.dp-step:hover{border-color:var(--dp-line)}.dp-step .n{border:1px solid var(--dp-blue);background:white}.dp-step:nth-child(n+3) .n{border-color:var(--dp-teal)}
.ws-hero{padding:4.8rem 0 2.5rem!important;background:linear-gradient(145deg,#f8fafc,#f2f7fa)!important}.ws-hero__title{font-size:31px!important}.ws-stats,.ws-stat-bar{display:none!important}.ws-tab-bar{margin-top:0!important}.workflow-tab-content>.ws-card{box-shadow:none!important}
#input-data>.ws-card>.ws-card__header{padding-bottom:17px!important}.r2-data-switch{display:flex;gap:4px;padding:0 1.5rem;border-bottom:1px solid var(--dp-line)}.r2-data-switch button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--dp-muted);padding:10px 12px;font:650 13px/1 var(--dp-font);cursor:pointer}.r2-data-switch button.active{color:var(--dp-blue-ink);border-color:var(--dp-blue)}.r2-file-head,.r2-file-row{display:grid!important;grid-template-columns:minmax(260px,1fr) 105px 90px 90px 90px 42px;align-items:center;gap:12px}.r2-file-head{padding:9px 16px;border-top:1px solid var(--dp-line);border-bottom:1px solid var(--dp-line);background:#fafbfd;color:var(--dp-muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.r2-file-row{padding:10px 16px!important}.r2-file-info{display:contents!important}.r2-file-info>div:first-of-type{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere;font-weight:650!important}.r2-file-icon{width:31px;height:34px;display:grid;place-items:center;background:var(--dp-blue-soft);border:1px solid #bdd3eb;border-radius:5px;color:var(--dp-blue-ink);font-size:9px;font-weight:800;flex:0 0 31px}.r2-file-type,.r2-file-size,.r2-file-updated{font-size:12px;color:var(--dp-ink-2)}.r2-file-state{display:inline-flex;width:max-content;padding:4px 7px;border-radius:5px;background:#edf1f5;color:#607087;font-size:10px;font-weight:750}.r2-original-actions{display:none!important}.r2-row-actions{position:relative}.r2-row-actions>button{border:1px solid var(--dp-line);background:white;border-radius:6px;padding:5px 8px;font-weight:800}.r2-row-menu{position:absolute;right:0;top:36px;background:#fff;border:1px solid var(--dp-line);border-radius:7px;box-shadow:0 14px 35px rgba(7,18,38,.16);width:160px;padding:6px;z-index:8}.r2-row-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px;border-radius:5px;color:var(--dp-ink-2)}
.r2-pairs-panel{padding:15px}.r2-pair{border:1px solid var(--dp-line);border-radius:9px;background:#fff;margin-bottom:11px;overflow:hidden}.r2-pair header{display:flex;align-items:center;justify-content:space-between;background:#fafbfd;border-bottom:1px solid var(--dp-line);padding:12px 14px}.r2-pair header strong{font-size:14px}.r2-pair header span{font-size:11px;color:var(--dp-muted)}.r2-pair-state{padding:4px 7px;border-radius:5px;font-weight:700}.r2-pair-state.ok{background:var(--dp-green-soft);color:var(--dp-green)}.r2-pair-state.warn{background:var(--dp-amber-soft);color:var(--dp-amber)}.r2-pair-body{display:grid;grid-template-columns:1fr 1fr}.r2-pair-body>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px 14px}.r2-pair-body>div+div{border-left:1px solid var(--dp-line)}.r2-pair-body b{width:31px;height:24px;border-radius:5px;background:var(--dp-blue-soft);color:var(--dp-blue-ink);display:grid;place-items:center;font-size:10px}.r2-pair-body div+div b{background:#e9f7f3;color:#278870}.r2-pair-body span{font-size:12px;overflow-wrap:anywhere}.r2-pair footer{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-top:1px solid var(--dp-line);color:var(--dp-muted);font-size:10px}.r2-pair footer a{color:var(--dp-blue-ink);font-weight:700;text-decoration:none}.r2-empty{padding:28px;text-align:center;color:var(--dp-muted)}
.dp-pair-intro{grid-template-columns:1fr}.dp-pair-intro div:first-child{border-left:3px solid var(--dp-teal);background:#e9f7f3}.dp-pair-intro div:last-child{border:0;background:transparent;color:var(--dp-muted);padding-top:4px;padding-bottom:4px}.dp-pair-intro div:last-child b{display:inline;margin-right:6px;font-weight:600;color:var(--dp-muted)}[data-p0a-pair-confirm] [data-p0a-confirm]{background:linear-gradient(105deg,var(--dp-blue),var(--dp-teal))!important}[data-p0a-pair-confirm] [data-p0a-generic]{background:transparent!important;border-color:transparent!important;color:var(--dp-muted)!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:768px){.r2-app-nav{display:none}.r2-context{padding:0 14px;overflow-x:auto}.r2-context a{white-space:nowrap}.r2-context-upload{display:none}.dp-hero{padding:24px 20px}.dp-hero h1{font-size:31px!important}.dp-steps:before{left:23px;right:auto;top:18px;bottom:18px;width:1px;height:auto}.r2-file-head{display:none!important}.r2-file-row{grid-template-columns:1fr 42px!important}.r2-file-type,.r2-file-size,.r2-file-state,.r2-file-updated{display:none}.r2-pair-body{grid-template-columns:1fr}.r2-pair-body>div+div{border-left:0;border-top:1px solid var(--dp-line)}.r2-pair footer{align-items:flex-start;gap:8px}.r2-data-switch{padding-left:.75rem}.navbar__actions #user-display{display:none}.dp-locale{margin-right:4px}}

/* R2 analysis landing mode: the handler-owning workflow cards remain intact. */
.r2-analysis-mode .dp-hero,.r2-analysis-mode .dp-steps{display:none}
.r2-analysis-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:9px 0 25px}
.r2-analysis-title span{display:block;margin-bottom:7px;color:var(--dp-blue-ink);font-size:10px;font-weight:800;letter-spacing:.12em}
.r2-analysis-title h1{margin:0;color:var(--dp-ink);font-size:32px;font-weight:650;letter-spacing:-.025em}
.r2-analysis-title p{margin:7px 0 0;color:var(--dp-ink-2);font-size:14px}
.r2-analysis-mode .dp-workflows{margin-top:0}
@media(max-width:768px){.r2-analysis-title{display:block}.r2-analysis-title .btn{margin-top:16px}}

/* R69 — the existing R2 presentation authority, shared by every app surface. */
html.r2-analysis-redirecting body{visibility:hidden!important}
.r2-shell-ready{padding-top:0!important}
.r2-shell-ready .r2-shell-header{position:sticky!important;top:0!important;height:auto!important;z-index:1100!important}
.r2-shell-ready .r2-shell-inner{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:20px!important;width:100%!important;max-width:1248px!important;height:auto!important;min-height:72px!important;padding:0 24px!important;margin:auto!important;box-sizing:border-box}
.r2-shell-ready .r2-app-nav{display:flex!important;min-width:0;margin:0!important;height:auto;gap:4px}
.r2-shell-ready .r2-app-nav a{white-space:nowrap;justify-content:center;padding:10px 12px}
.r2-shell-ready .r2-shell-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.r2-shell-ready .dp-locale{flex:none;margin:0}.r2-shell-ready .dp-locale button{min-height:32px;padding:6px 8px}
.r2-shell-ready .r2-context{height:auto;min-height:44px;padding:8px max(24px,calc((100vw - 1200px)/2));gap:24px;overflow-x:auto;box-sizing:border-box}
.r2-shell-ready .r2-context a{white-space:nowrap;font-size:13px;padding:5px 0}
.r2-shell-ready .r2-app-nav a:focus-visible,.r2-shell-ready .r2-context a:focus-visible{outline:2px solid var(--dp-blue);outline-offset:2px}
.r2-shell-ready .dbx-role{display:block!important;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.r2-shell-ready .dbx-signout{display:inline-flex!important;white-space:nowrap}
.r2-management-shell .dbx-menu,.r2-management-shell .dbv4-footer>span:first-child{display:none!important}
.r2-management-shell #view-analysis,.r2-management-shell #new-run-modal,.r2-management-shell #w2-analysis-modal{display:none!important}
.r2-management-shell .dbx-brand{min-width:0;white-space:nowrap;font-size:15px}
.r2-shell-ready .dbx-brand img{height:32px!important;width:auto!important;max-width:110px!important;object-fit:contain}
.r2-shell-ready .dbx-brand>span{display:none!important}
.r2-management-shell .dbx-view{padding-top:28px!important}
.r2-management-shell .dbx-admin-layout{grid-template-columns:220px minmax(0,1fr);align-items:start}
.r2-management-shell .dbx-admin-nav{display:grid!important;grid-template-columns:1fr;overflow:visible;border-radius:12px;box-shadow:none}
.r2-management-shell .dbx-admin-nav button{white-space:normal;word-break:keep-all;min-width:0;line-height:1.5}
.r2-management-shell .dbx-admin-nav .dbx-nav-group{display:block}
.r2-management-shell .dbx-admin-layout>*,.r2-management-shell .dbx-view,.r2-management-shell .dbx-card{min-width:0}
.r2-management-shell .dbx-hero{align-items:start;flex-wrap:wrap}
html[lang="ko"] :is(.dp-hero,.dp-step,.dp-wf,.r2-context,.dbx-hero){word-break:keep-all;overflow-wrap:break-word}
.dp-steps{align-items:stretch;gap:16px}.dp-steps:before{display:none}
.dp-step{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;padding:14px 12px}
.dp-step .n{position:static;flex:none;margin:0}.dp-step b{display:block;min-height:23px}.dp-step span:not(.n){line-height:1.6}
.dp-workflows{align-items:stretch}.dp-wf{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px!important}
.dp-wf p{margin:0 0 4px;flex:1}.dp-wf .meta{margin:0}.dp-wf .btn{align-self:flex-start;margin-top:8px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.dp-hero>div:last-child{flex-wrap:wrap;align-items:center}.dp-hero .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
#run-history{scroll-margin-top:132px}
#run-history>div:first-child{align-items:center!important;gap:16px!important}
#run-history>div:first-child>div{display:grid!important;grid-template-columns:minmax(180px,1fr) auto auto auto;gap:8px!important;align-items:center;min-width:0}
#run-history>div:first-child :is(input,select,button){min-height:40px!important;min-width:0;max-width:100%}
.r2-variant-shell .header{background:transparent!important;border:0;padding:32px max(24px,calc((100vw - 1200px)/2)) 8px;color:var(--dp-ink)}
.r2-variant-shell .header h1{font-size:30px}.r2-variant-shell .header p{color:var(--dp-muted);line-height:1.6}
.r2-variant-shell .content{padding:24px;max-width:1248px;margin:auto}
.r2-variant-shell :is(.card,.search-box,.notice){background:var(--dp-surface);border:1px solid var(--dp-line);border-radius:12px;color:var(--dp-ink);box-shadow:none}
.r2-variant-shell :is(.card .label,.status,.report-status,.report-actions,.search-box h2){color:var(--dp-ink-2)}
.r2-variant-shell .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.r2-variant-shell .card{padding:16px}
.r2-variant-shell .card .value{color:var(--dp-blue-ink);font-size:18px;line-height:1.45;overflow-wrap:anywhere}
.r2-variant-shell :is(.form-row input,.form-row select,.run-meta div,.report-panel){background:var(--dp-surface);color:var(--dp-ink);border:1px solid var(--dp-line-mid)}
.r2-variant-shell .run-meta strong{color:var(--dp-ink)}.r2-variant-shell .run-meta span{color:var(--dp-muted)}
html body.r2-variant-shell #results table td{color:var(--dp-ink)!important}html body.r2-variant-shell #results table th{background:var(--dp-surface-2);color:var(--dp-ink-2)!important}
.r2-variant-shell :is(.report-actions .btn,.pager .btn){background:var(--dp-surface-2);color:var(--dp-ink);border-color:var(--dp-line-mid)}
.r2-variant-shell .report-panel a{color:var(--dp-blue-ink)}
@media(max-width:1100px){
 .r2-shell-ready .r2-shell-inner{grid-template-columns:auto minmax(0,1fr)!important;gap:0 12px!important}
 .r2-shell-ready .r2-shell-inner>.navbar__logo,.r2-shell-ready .dbx-brand{grid-row:1;grid-column:1;min-height:64px}
 .r2-shell-ready .r2-shell-actions{grid-row:1;grid-column:2;min-height:64px}
 .r2-shell-ready .r2-app-nav{grid-row:2;grid-column:1/-1;justify-content:center;min-height:44px;width:100%;border-top:1px solid var(--dp-line)}
 .r2-shell-ready .r2-app-nav a{flex:1}
 .r2-management-shell .dbx-admin-layout{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:768px){
 #run-history>div:first-child>div{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #run-history-search{grid-column:1/-1;width:100%}
 .r2-shell-ready .r2-shell-inner{padding:0 14px!important}.r2-shell-ready .r2-shell-actions{gap:6px}
 .r2-shell-ready .navbar__logo img{max-height:30px!important;width:auto!important}.r2-shell-ready .navbar__logo-sub,.r2-shell-ready .navbar__logo-sep{display:none!important}
 .r2-shell-ready .dbx-role{max-width:80px;font-size:11px}.r2-shell-ready .dbx-brand{gap:6px}.r2-shell-ready .dbx-brand img{width:30px;height:30px}
 .r2-shell-ready .dbx-signout,.r2-shell-ready #logout-btn{padding:7px 8px!important;font-size:12px!important}
 .r2-shell-ready .r2-app-nav{gap:0}.r2-shell-ready .r2-app-nav a{font-size:12px;padding:10px 5px;border-radius:5px}
 .r2-shell-ready .r2-context{padding:8px 14px;gap:22px}
 .r2-management-shell .dbx-admin-layout{grid-template-columns:minmax(0,1fr)}
 .r2-management-shell .dbx-admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .r2-management-shell .dbx-admin-nav .dbx-nav-group{grid-column:1/-1}
 .r2-variant-shell .header{padding:24px 14px 0}.r2-variant-shell .content{padding:20px 14px}.r2-variant-shell .search-box{padding:18px}
 .r2-variant-shell .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.r2-variant-shell .card{padding:14px;min-width:0}
 .r2-variant-shell .form-row>*{max-width:100%;min-width:0}.r2-variant-shell .form-row select{width:100%;flex-basis:100%}
 .dp-step b{min-height:0}.dp-hero{gap:18px}.dp-hero h1{font-size:28px!important}
}

/* R70 — one physical header and content grid; presentation only. */
.r2-shell-ready .r2-shell-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
.r2-shell-ready .r2-shell-inner .navbar__logo>img:first-child,.r2-shell-ready .r2-shell-inner .dbx-brand>img{height:32px!important;max-height:32px!important;width:auto!important;max-width:110px!important;object-fit:contain}
.r2-shell-ready .r2-shell-actions #logout-btn,.r2-shell-ready .r2-shell-actions .dbx-signout{font:500 13px/20px var(--dp-font)!important;height:38px!important;padding:8px 13px!important;border:1px solid var(--dp-line-mid)!important;border-radius:6px!important;background:var(--dp-surface)!important;color:var(--dp-ink-2)!important;white-space:nowrap;box-shadow:none!important}
.r2-shell-ready .r2-shell-actions #user-display,.r2-shell-ready .r2-shell-actions #user-email,.r2-shell-ready .r2-shell-actions .dbx-role{display:inline-block!important;max-width:180px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 12px/20px var(--dp-font)!important;color:var(--dp-ink-2)!important}
.r2-shell-ready .r2-shell-actions .dp-locale{height:34px;box-sizing:border-box;border:1px solid var(--dp-line-mid);border-radius:99px!important;overflow:hidden}
.r2-shell-ready .r2-shell-actions .dp-locale button{height:32px;min-height:32px;border:0!important;border-radius:0!important;padding:6px 8px!important;font:600 10px/20px var(--dp-font)!important;box-sizing:border-box}
.r2-shell-ready main.container,.r2-shell-ready>div>.container,.r2-shell-ready .ws-hero>.container,.r2-shell-ready>.container,.r2-management-shell .dbx-view,.r2-variant-shell>.content{width:100%!important;max-width:1248px!important;padding-left:24px!important;padding-right:24px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.r2-shell-ready>div:has(>.container){padding-top:0!important}
.r2-shell-ready .dp-wf{border-radius:var(--dp-r-lg)!important}
.r2-management-shell .dbx-grid.metrics{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important}
.r2-management-shell .dbx-metric-value{font-size:24px;line-height:32px}
@media(max-width:1100px){.r2-shell-ready .r2-shell-inner{grid-template-columns:auto minmax(0,1fr)!important}}
@media(max-width:768px){
 .r2-shell-ready .r2-shell-inner .navbar__logo>img:first-child,.r2-shell-ready .r2-shell-inner .dbx-brand>img{height:30px!important;max-height:30px!important}
 .r2-shell-ready .r2-shell-actions #user-display,.r2-shell-ready .r2-shell-actions #user-email,.r2-shell-ready .r2-shell-actions .dbx-role{max-width:70px!important;font-size:11px!important}
 .r2-shell-ready .r2-shell-actions #logout-btn,.r2-shell-ready .r2-shell-actions .dbx-signout{font-size:12px!important;padding:8px!important}
 .r2-shell-ready main.container,.r2-shell-ready>div>.container,.r2-shell-ready .ws-hero>.container,.r2-shell-ready>.container,.r2-management-shell .dbx-view,.r2-variant-shell>.content{padding-left:14px!important;padding-right:14px!important}
}

/* R73: preserve the existing journey, align its step numbers as circles. */
.dp-step .n{width:36px;height:36px;min-height:36px;display:grid;place-items:center;line-height:1;box-sizing:border-box}
/* Keep five result columns readable inside the existing scrollable modal panel. */
@media(max-width:640px){#output-modal .bs-result-table{min-width:560px}#output-modal .bs-result-table th{white-space:nowrap}}

/* R76 viewport popover: portal escapes table clipping, no execution changes. */
.r2-row-menu.r76-floating-menu{position:fixed;z-index:1001;overflow:auto;box-sizing:border-box}.r76-help{font-size:.85rem;color:#526276;margin:.55rem 0;line-height:1.5}.r76-warning{border:1px solid #e2bc71;background:#fff8e8;color:#714d10;border-radius:8px;padding:14px;margin:12px 0;line-height:1.5}[data-r76-folder]{white-space:nowrap;font-size:12px}.r2-file-updated{overflow-wrap:anywhere}
