/* Imports v2: owner reference layout (source pills beside the run history, glass hero with step
   cards, CSV drop card, Track read card, real run panel, secondary disclosure for Toggl 2.0 scan,
   Focus inspection, mapped/catalog/team imports). Presentation only: every control is the original
   native element with its original ID and handler. The step cards read the existing run DOM state
   (#importRunControls hidden/aria-busy, #importConfirm/#importResume enabled, #importProgress value)
   through :has(); no sample counts, no dial, no animated flow. Scoped AA adaptations as Team v2:
   control borders in --muted, secondary text in --ink2, 44px targets, inactive = dashed border. */
.imports-v2 {--iv-text:var(--ink);--iv-text-2:var(--ink2);--iv-control-border:var(--muted);--iv-focus:var(--ink);--iv-target:44px;--iv-field:48px;--iv-card-min:400px;--iv-step-min:180px;
 display:flex;flex-direction:column;gap:var(--s-9);min-width:0;color:var(--iv-text);font-family:var(--font)}
.imports-v2 [hidden] {display:none!important}
.imports-v2 :focus-visible {outline:var(--v2-focus-width) solid var(--iv-focus);outline-offset:var(--v2-focus-offset)}
.imports-v2 .page-heading {margin:0}
.imports-v2 .page-heading .eyebrow {color:var(--iv-text-2)}
.imports-v2 h2 {margin:0;font:500 var(--fs-xl)/1.2 var(--font);color:var(--iv-text)}
.imports-v2 h3 {margin:var(--s-6) 0 var(--s-4);font:500 var(--fs-md)/1.25 var(--font);color:var(--iv-text)}
.imports-v2 :is(#csvImportForm,#togglSourceCard,#importsAdvanced,#sourceScanPanel,#focusMappedImport,#catalogImportPanel,#teamImportPanel,#importPreviewResult) {scroll-margin-top:calc(var(--v2-header-height) + var(--s-8))}

/* Toolbar: source jump pills (links to the real sections) and the native run history select. */
.imports-v2 .imports-toolbar {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-5);min-width:0}
.imports-v2 .imports-types {display:flex;gap:var(--s-2);max-width:100%;padding:var(--s-2);overflow-x:auto;border:1px solid var(--glass-brd);border-radius:var(--r-pill);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);scrollbar-width:none}
.imports-v2 .imports-type {flex:none;display:inline-flex;align-items:center;gap:var(--s-4);min-height:var(--iv-target);padding:0 var(--s-9);border-radius:var(--r-pill);color:var(--iv-text);font:400 var(--fs-base)/1 var(--font);text-decoration:none;white-space:nowrap}
.imports-v2 .imports-type::before {content:"";flex:none;width:16px;height:16px;background:currentColor;mask:var(--iv-icon) center/contain no-repeat;-webkit-mask:var(--iv-icon) center/contain no-repeat}
.imports-v2 .imports-type:hover {background:var(--btn-h)}
.imports-v2 .imports-type:focus-visible {outline-offset:-3px}
.imports-v2 .imports-type-csv {--iv-icon:url('/icons/imports.svg')}
.imports-v2 .imports-type-track {--iv-icon:url('/icons/api.svg')}
.imports-v2 .imports-type-focus {--iv-icon:url('/icons/db.svg')}
.imports-v2 #importHistory {flex:0 1 260px;min-width:0;max-width:100%;min-height:var(--iv-target);padding:0 var(--s-8);border:1px solid var(--iv-control-border);border-radius:var(--r-pill);background:var(--btn);color:var(--iv-text);font:400 var(--fs-base)/1 var(--font);cursor:pointer}
.imports-v2 #importHistory:disabled {border-style:dashed;cursor:not-allowed}

/* Hero: glass card with the four step cards. */
.imports-v2 .imports-hero {display:flex;flex-direction:column;gap:var(--s-9);min-width:0;padding:var(--s-10);border:1px solid var(--glass-brd);border-radius:var(--r-4xl);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--sh)}
.imports-v2 .imports-hero-head {display:flex;flex-direction:column;gap:var(--s-3);padding-inline-start:var(--s-6)}
.imports-v2 .imports-hero-head p {margin:0;max-width:72ch;font:400 var(--fs-sm)/1.55 var(--font);color:var(--iv-text-2)}
.imports-v2 .imports-steps {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--iv-step-min)),1fr));gap:var(--s-6);margin:0;padding:0;list-style:none}
.imports-v2 .imports-step {--st-bg:var(--card);--st-fg:var(--iv-text-2);--st-brd:var(--iv-control-border);--st-line:dashed;--st-ring:transparent;
 display:flex;align-items:center;gap:var(--s-6);min-width:0;min-height:72px;padding:var(--s-5) var(--s-6);border:1px solid var(--card-brd);border-radius:var(--r-2xl);background:var(--card);box-shadow:var(--sh-sm),inset 0 0 0 2px var(--st-ring)}
.imports-v2 .imports-step-icon {flex:none;display:grid;place-items:center;width:var(--iv-target);height:var(--iv-target);border:1px var(--st-line) var(--st-brd);border-radius:var(--r-circle);background:var(--st-bg);color:var(--st-fg)}
.imports-v2 .imports-step-icon::before {content:"";width:18px;height:18px;background:currentColor;mask:var(--iv-icon) center/contain no-repeat;-webkit-mask:var(--iv-icon) center/contain no-repeat}
.imports-v2 .imports-step-text {display:flex;flex-direction:column;gap:3px;min-width:0}
.imports-v2 .imports-step-text strong {font:500 var(--fs-md)/1.25 var(--font);color:var(--iv-text)}
.imports-v2 .imports-step-text span {font:400 var(--fs-xs)/1.35 var(--font);color:var(--iv-text-2)}
:where(.imports-v2) .imports-step.is-source {--iv-icon:url('/icons/imports.svg')}
:where(.imports-v2) .imports-step.is-review {--iv-icon:url('/icons/search.svg')}
:where(.imports-v2) .imports-step.is-write {--iv-icon:url('/icons/save.svg')}
:where(.imports-v2) .imports-step.is-reconcile {--iv-icon:url('/icons/check2.svg')}
/* Step state from the real run panel. Every rule has the same specificity; later stages win. */
:where(.imports-v2) .imports-step.is-source,
:where(.imports-v2:has(#importRunControls:not([hidden]))) .imports-step.is-review,
:where(.imports-v2:has(#importRunControls:not([hidden]):not([aria-busy="true"]) #importConfirm:disabled):has(#importResume:disabled):has(#importProgress:not([value="0"]))) .imports-step.is-reconcile,
:where(.imports-v2:has(#importRunControls:not([hidden])[aria-busy="true"]),.imports-v2:has(#importRunControls:not([hidden]) #importResume:enabled)) .imports-step.is-write
 {--st-bg:var(--acc);--st-fg:var(--on-acc);--st-brd:var(--acc);--st-line:solid;--st-ring:var(--iv-focus)}
:where(.imports-v2:has(#importRunControls:not([hidden]))) .imports-step.is-source,
:where(.imports-v2:has(#importRunControls:not([hidden]):not([aria-busy="true"]) #importConfirm:disabled):has(#importResume:disabled):has(#importProgress:not([value="0"]))) .imports-step:is(.is-review,.is-write),
:where(.imports-v2:has(#importRunControls:not([hidden])[aria-busy="true"]),.imports-v2:has(#importRunControls:not([hidden]) #importResume:enabled)) .imports-step.is-review
 {--st-bg:var(--blue-soft);--st-fg:var(--blue-ink);--st-brd:var(--blue-ink);--st-line:solid;--st-ring:transparent;--iv-icon:url('/icons/check.svg')}

/* Cards: CSV, Track, run panel and advanced panels. */
.imports-v2 .transfer-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--iv-card-min)),1fr));gap:var(--s-9);align-items:start;min-width:0}
.imports-v2 .transfer-card {display:flex;flex-direction:column;gap:var(--s-6);min-width:0;margin:0;padding:var(--s-10);border:1px solid var(--glass-brd);border-radius:var(--r-3xl);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--sh);color:var(--iv-text)}
.imports-v2 .transfer-card h2 {padding-inline-start:var(--s-2);font-size:var(--fs-xl)}
.imports-v2 .transfer-card p {margin:0;font:400 var(--fs-sm)/1.6 var(--font);color:var(--iv-text-2);overflow-wrap:anywhere}
.imports-v2 .transfer-card p:empty:not([role="status"]) {display:none}
.imports-v2 .transfer-card .notice,.imports-v2 .transfer-card .report-warning {padding:var(--s-5) var(--s-7);border-radius:var(--r-lg);background:var(--row-h);color:var(--iv-text-2)}
.imports-v2 .transfer-card .report-warning {border-inline-start:3px solid var(--red-ink)}
.imports-v2 .transfer-card label {display:flex;flex-direction:column;gap:var(--s-3);min-width:0;margin:0;font:400 var(--fs-sm)/1.3 var(--font);color:var(--iv-text-2);overflow-wrap:anywhere}
.imports-v2 .transfer-card .form-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--s-6);margin:0}
.imports-v2 .transfer-card :is(input:not([type="checkbox"]):not([type="file"]),select,textarea) {width:100%;max-width:100%;min-width:0;min-height:var(--iv-field);box-sizing:border-box;padding:0 var(--s-7);border:1px solid var(--iv-control-border);border-radius:var(--r-md);background:var(--card);color:var(--iv-text);font:400 var(--fs-md)/1.2 var(--font)}
.imports-v2 .transfer-card select[multiple] {min-height:auto;padding:var(--s-3)}
.imports-v2 .transfer-card :is(input,select,textarea):disabled {border-style:dashed;cursor:not-allowed}
.imports-v2 .transfer-card input[type="date"],.imports-v2 .transfer-card input[type="number"] {font-variant-numeric:tabular-nums}
.imports-v2 .transfer-card .inline-label {flex-direction:row;align-items:flex-start;gap:var(--s-6);min-height:var(--iv-target);padding:var(--s-5) var(--s-7);border-radius:var(--r-lg);background:var(--row-h);color:var(--iv-text-2);font:400 var(--fs-sm)/1.5 var(--font);cursor:pointer}
.imports-v2 .transfer-card .inline-label>span {flex:1;min-width:0}
.imports-v2 .transfer-card .inline-label input {flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--acc)}
.imports-v2 .transfer-card .head-actions,.imports-v2 .transfer-card .report-actions {display:flex;flex-wrap:wrap;gap:var(--s-4);margin:0}
.imports-v2 .transfer-card :is(.primary-btn,.secondary-btn,.ghost-btn) {display:inline-flex;align-items:center;justify-content:center;min-height:var(--iv-target);max-width:100%;padding:var(--s-3) var(--s-9);border:1px solid var(--iv-control-border);border-radius:var(--r-pill);background:var(--btn);color:var(--iv-text);font:400 var(--fs-base)/1.25 var(--font);text-align:center;white-space:normal;overflow-wrap:break-word;opacity:1;cursor:pointer}
.imports-v2 .transfer-card .primary-btn {border-color:var(--acc);background:var(--acc);color:var(--on-acc);font-weight:500;box-shadow:0 10px 22px -10px rgba(0,0,0,.5)}
.imports-v2 .transfer-card .ghost-btn {border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:3px}
.imports-v2 .transfer-card :is(.primary-btn,.secondary-btn,.ghost-btn):disabled {border-style:dashed;border-color:var(--iv-control-border);background:transparent;color:var(--iv-text-2);box-shadow:none;opacity:1;cursor:not-allowed}
/* Stop, forget, disconnect and rollback stay visually distinct; their confirmations are unchanged. */
.imports-v2 :is(#importCancel,#importRollbackReview,#togglDisconnect,#scanCancel,#scanForget,#scanClearKey,#teamImportCancel,#teamImportRollback):not(:disabled) {border-color:var(--red-ink);background:var(--red-soft);color:var(--red-ink);text-decoration:none}
.imports-v2 :is(pre,.source-inspection-output) {max-width:100%;max-height:360px;margin:0;overflow:auto;padding:var(--s-6);border-radius:var(--r-md);background:var(--row-h);color:var(--iv-text);direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-xs)}
.imports-v2 :is(pre,.source-inspection-output):empty {display:none}
.imports-v2 .report-scroll {max-width:100%;overflow:auto;border:1px solid var(--card-brd);border-radius:var(--r-lg);background:var(--card)}
.imports-v2 table {min-width:100%}
.imports-v2 :is(td,th) {overflow-wrap:break-word}
.imports-v2 :is(td,th)[dir="ltr"],.imports-v2 bdi {white-space:nowrap}

/* CSV: drop card around the native file input (still the real, required control). */
.imports-v2 .imports-csv label:has(#importFile) {position:relative;align-items:center;justify-content:center;gap:var(--s-5);min-height:130px;padding:var(--s-9);border:1.5px dashed var(--iv-control-border);border-radius:var(--r-2xl);background:var(--card);color:var(--iv-text);text-align:center;cursor:pointer}
.imports-v2 .imports-csv label:has(#importFile)::before {content:"";flex:none;width:46px;height:46px;border-radius:var(--r-circle);background:var(--acc);mask:url('/icons/imports.svg') center/20px 20px no-repeat,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:url('/icons/imports.svg') center/20px 20px no-repeat,linear-gradient(#000 0 0);-webkit-mask-composite:xor}
.imports-v2 .imports-csv label:has(#importFile):hover {border-color:var(--blue-ink);background:var(--blue-soft)}
.imports-v2 .imports-csv label:has(#importFile:focus-visible) {outline:var(--v2-focus-width) solid var(--iv-focus);outline-offset:var(--v2-focus-offset)}
.imports-v2 .imports-csv label:has(#importFile)>span {font:500 var(--fs-md)/1.3 var(--font)}
.imports-v2 .transfer-card input[type="file"] {max-width:100%;min-height:var(--iv-target);color:var(--iv-text-2);font:400 var(--fs-sm)/1.3 var(--font)}
.imports-v2 .transfer-card input[type="file"]::file-selector-button {min-height:var(--iv-target);margin-inline-end:var(--s-5);padding:0 var(--s-8);border:1px solid var(--iv-control-border);border-radius:var(--r-pill);background:var(--btn);color:var(--iv-text);font:inherit;cursor:pointer}
.imports-v2 #csvPreview {min-height:var(--iv-field)}

/* Run panel: real status, preview, progress, counts and run controls. */
.imports-v2 .imports-run {grid-column:1/-1}
.imports-v2 .imports-run-empty {padding:var(--s-8);border:1px dashed var(--line-2);border-radius:var(--r-xl);text-align:center}
.imports-v2 .imports-run:has(#importRunControls:not([hidden])) .imports-run-empty,.imports-v2 .imports-run:has(#importPreviewResult:not(:empty)) .imports-run-empty,.imports-v2 .imports-run:has(#importStatus:not(:empty)) .imports-run-empty {display:none}
.imports-v2 #importStatus {padding-inline-start:var(--s-2);color:var(--iv-text)}
.imports-v2 #importPreviewResult {display:flex;flex-direction:column;gap:var(--s-6);min-width:0}
.imports-v2 #importPreviewResult:empty {display:none}
.imports-v2 #importRunControls {display:flex;flex-direction:column;gap:var(--s-6);padding:var(--s-8);border-color:var(--card-brd);border-radius:var(--r-2xl);background:var(--card);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.imports-v2 #importRunControls[aria-busy="true"] {box-shadow:inset 0 0 0 2px var(--blue-ink)}
.imports-v2 #importProgress {-webkit-appearance:none;appearance:none;width:100%;height:8px;border:0;border-radius:var(--r-pill);background:var(--track);overflow:hidden;color:var(--blue-ink)}
.imports-v2 #importProgress::-webkit-progress-bar {border-radius:var(--r-pill);background:var(--track)}
.imports-v2 #importProgress::-webkit-progress-value {border-radius:var(--r-pill);background:var(--blue-ink)}
.imports-v2 #importProgress::-moz-progress-bar {border-radius:var(--r-pill);background:var(--blue-ink)}
.imports-v2 #importProgressText {font:500 var(--fs-md)/1.2 var(--font);font-variant-numeric:tabular-nums;color:var(--iv-text)}
.imports-v2 #importCounts {display:flex;flex-wrap:wrap;gap:var(--s-3)}
.imports-v2 #importCounts>span {display:inline-flex;align-items:center;min-height:28px;padding:0 var(--s-6);border-radius:var(--r-pill);background:var(--track);color:var(--iv-text);font:400 var(--fs-sm)/1 var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}
.imports-v2 #importCounts:empty {display:none}

/* Secondary disclosure: Toggl 2.0 scan, Focus inspection, team, catalog and mapped imports. */
.imports-v2 .imports-advanced {display:block;min-width:0;padding:var(--s-4) var(--s-10);border:1px dashed var(--line-2);border-radius:var(--r-3xl);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.imports-v2 .imports-advanced[open] {padding-bottom:var(--s-10)}
.imports-v2 .imports-advanced>*+* {margin-top:var(--s-9)}
.imports-v2 :is(.imports-advanced,#focusInventory,.transfer-card details)>summary {display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);min-height:52px;color:var(--iv-text);font:500 var(--fs-md)/1.25 var(--font);cursor:pointer;list-style:none}
.imports-v2 :is(.imports-advanced,#focusInventory,.transfer-card details)>summary::-webkit-details-marker {display:none}
.imports-v2 :is(.imports-advanced,#focusInventory,.transfer-card details)>summary::after {content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--iv-control-border);border-radius:var(--r-circle);font:400 var(--fs-lg)/1 var(--font)}
.imports-v2 :is(.imports-advanced,#focusInventory,.transfer-card details)[open]>summary::after {content:"\2212"}
.imports-v2 .imports-advanced>summary {font-size:var(--fs-lg)}
.imports-v2 .imports-advanced-text {display:flex;flex-direction:column;gap:3px;min-width:0}
.imports-v2 .imports-advanced-text small {font:400 var(--fs-xs)/1.35 var(--font);color:var(--iv-text-2)}
.imports-v2 .imports-advanced .transfer-card {background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--sh-sm)}
.imports-v2 #focusInventory {display:block}
.imports-v2 #focusInventory[open]>*+* {margin-top:var(--s-6)}
.imports-v2 .transfer-card details:not(#focusInventory) {display:block;padding:0 var(--s-6);border:1px solid var(--card-brd);border-radius:var(--r-xl)}
.imports-v2 .transfer-card details:not(#focusInventory)[open] {padding-bottom:var(--s-6)}
.imports-v2 .transfer-card details:not(#focusInventory)[open]>*+* {margin-top:var(--s-5)}
.imports-v2 :is(.team-person,.team-catalog-row,.team-import-member-result,.catalog-source-row) {border-color:var(--card-brd);border-radius:var(--r-lg);background:var(--row-h)}

@media(prefers-reduced-motion:no-preference){
 .imports-v2 :is(.imports-type,.imports-step-icon,.transfer-card .primary-btn,.transfer-card .secondary-btn) {transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
}
@media(prefers-reduced-motion:reduce){.imports-v2 * {transition:none!important;animation:none!important}}
@media(max-width:760px){
 .imports-v2 {--iv-card-min:280px;--iv-step-min:140px}
 .imports-v2 .imports-hero,.imports-v2 .transfer-card {padding:var(--s-8)}
 .imports-v2 .imports-advanced {padding-inline:var(--s-8)}
 .imports-v2 .imports-toolbar>* {flex:1 1 100%}
 .imports-v2 #importHistory {flex-basis:100%}
}
