@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.82 0 0);--sidebar-primary: oklch(.922 0 0);--sidebar-primary-foreground: oklch(.205 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--chart-1: oklch(.87 0 0);--chart-2: oklch(.556 0 0);--chart-3: oklch(.439 0 0);--chart-4: oklch(.371 0 0);--chart-5: oklch(.269 0 0);--green-weak: rgba(34, 197, 94, .12);--green-text: #86efac;--orange-weak: rgba(245, 158, 11, .13);--orange-text: #fbbf24;--red-weak: rgba(239, 68, 68, .14);--red-text: #fca5a5;--bg: var(--background);--surface: var(--card);--surface-2: var(--muted);--text: var(--foreground);--text-2: var(--muted-foreground);--text-3: oklch(.708 0 0);--border-strong: oklch(1 0 0 / 18%);--accent-strong: oklch(.88 0 0);--overlay-hover: rgba(255, 255, 255, .055);--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 1px 2px -1px rgba(0, 0, 0, .45);--radius-s: 6px;--radius-m: 8px;--radius-lg: 10px;font-family:Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;color:var(--foreground);background:var(--background)}*{box-sizing:border-box;border-color:var(--border)}html,body,#root{min-height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-size:14px;line-height:1.45}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--border);background-clip:content-box}button,input,select,textarea{font:inherit}button{cursor:pointer}code{color:var(--text-2);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:12px}.app-shell{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:100vh;background:var(--background)}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;border-right:1px solid var(--sidebar-border);background:var(--sidebar);color:var(--sidebar-foreground);padding:10px;overflow:auto}.brand-row,.login-brand-row{display:flex;align-items:center;gap:10px}.brand-row{width:100%;min-height:44px;border:0;border-radius:var(--radius-m);background:transparent;color:var(--sidebar-accent-foreground);padding:6px;text-align:left}.brand-row:hover{background:var(--sidebar-accent)}.brand-tile{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border:1px solid var(--sidebar-border);border-radius:var(--radius-m);background:var(--sidebar-primary);color:var(--sidebar-primary-foreground)}.brand-tile.large{width:36px;height:36px}.brand-mark{width:18px;height:18px;flex:0 0 auto}.brand-tile svg{color:currentColor}.brand-name{color:var(--text);font-size:14px;font-weight:600;line-height:1.2}.brand-subtitle{color:var(--text-3);font-size:12px;line-height:1.3}.brand-switch-icon{margin-left:auto;color:var(--text-3)}.sidebar-nav{display:grid;gap:10px;margin-top:14px}.nav-group{display:grid;gap:2px}.nav-group+.nav-group{margin-top:6px}.nav-title{margin:8px 8px 4px;color:var(--text-3);font-size:12px;font-weight:500}.nav-item{display:flex;width:100%;min-height:34px;align-items:center;gap:9px;border:0;border-radius:var(--radius-s);background:transparent;color:var(--sidebar-foreground);padding:7px 8px;text-align:left}.nav-item svg{width:15px;height:15px;color:currentColor}.nav-item:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.nav-item.is-active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:600}.sidebar-footer{margin-top:auto;border-top:1px solid var(--sidebar-border);padding-top:10px}.support-card{display:grid;gap:4px;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);padding:12px 14px;box-shadow:none}.support-card div{color:var(--text);font-size:13px;font-weight:600}.support-card p{margin:0;color:var(--text-3);font-size:12px;line-height:1.35}.user-card{display:flex;width:100%;align-items:center;gap:9px;border:0;border-radius:var(--radius-m);background:transparent;color:var(--sidebar-accent-foreground);padding:7px;text-align:left}.user-card:hover{background:var(--sidebar-accent)}.avatar{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:var(--radius-m);background:var(--primary);color:var(--primary-foreground);font-size:12px;font-weight:700}.user-copy{display:grid;min-width:0;flex:1}.user-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-copy span:first-child{color:var(--text);font-size:13px;font-weight:600}.user-copy span:last-child{color:var(--text-3);font-size:12px}.main-shell{min-width:0;padding:0 24px 32px}.topbar{position:sticky;top:0;z-index:10;display:flex;height:48px;align-items:center;justify-content:space-between;gap:16px;margin:0 -24px 20px;border-bottom:1px solid var(--border);background:#151515c7;padding:0 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-title{display:flex;min-width:0;align-items:center;gap:10px}.sidebar-trigger,.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-s);background:transparent;color:var(--text-2)}.sidebar-trigger{width:32px;height:32px;margin-left:-6px}.sidebar-trigger:hover,.icon-button:hover{border-color:var(--border);background:var(--muted);color:var(--text)}.topbar h1{margin:0;color:var(--text);font-size:14px;font-weight:600}.breadcrumb{display:flex;align-items:center;color:var(--text-3);font-size:13px;white-space:nowrap}.breadcrumb:after{content:"/";margin-left:10px;color:var(--border-strong)}.topbar-actions,.panel-actions,.table-actions,.step-actions{display:flex;align-items:center;gap:8px}.search-trigger{display:inline-flex;min-height:32px;align-items:center;gap:8px;border:0;border-radius:var(--radius-s);background:transparent;color:var(--text-3);padding:0 4px}.search-trigger:hover{color:var(--text)}.search-trigger kbd{display:inline-flex;height:20px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--muted);padding:0 6px;color:var(--text-2);font-size:10px;font-weight:600}.layout-chip{display:inline-flex;min-height:32px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--card);color:var(--text-2);padding:0 10px;font-size:13px}.layout-chip:hover{background:var(--muted);color:var(--text)}.page-grid,.dashboard-page{display:grid;gap:16px}.dashboard-page{gap:20px}.page-grid.narrow{max-width:980px}.dashboard-section{display:grid;gap:18px}.section-heading{display:grid;gap:4px}.section-heading h2{margin:0;color:var(--text);font-size:28px;font-weight:500;letter-spacing:0;line-height:1.15}.section-heading p{margin:0;color:var(--text-3);font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.two-column,.overview-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:16px;align-items:start}.card,.login-card,.step-card{border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow)}.card{display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:14px 0;font-size:14px}.card[data-size=sm]{gap:12px;padding-block:12px}.panel{min-width:0}.card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:min-content;align-items:start;gap:4px 12px;padding:0 16px}.card-title,.inline-header h2,.step-card h3,.step-column h4{margin:0;color:var(--text)}.card-title{font-size:15px;font-weight:500;line-height:1.3}.card-description{color:var(--text-3);font-size:14px}.card-action{display:inline-flex;align-items:center;gap:8px;grid-column:2;grid-row:1 / span 2;justify-self:end;color:var(--text-3)}.card-content{padding:0 16px}.card-footer{display:flex;align-items:center;border-top:1px solid var(--border);background:color-mix(in oklch,var(--muted),transparent 45%);color:var(--text-3);margin-bottom:-14px;padding:10px 16px;font-size:13px}.panel-content{padding:0 16px}.panel-content:has(>table){overflow-x:auto;padding:0}.metric-card{min-height:132px}.metric-icon{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--muted);color:var(--text-3)}.badge{display:inline-flex;width:fit-content;height:21px;shrink:0;align-items:center;justify-content:center;gap:4px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text);padding:2px 8px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap}.badge[data-tone=green]{border-color:#86efac40;background:var(--green-weak);color:var(--green-text)}.badge[data-tone=yellow]{border-color:#fbbf2442;background:var(--orange-weak);color:var(--orange-text)}.badge[data-tone=red]{border-color:#fca5a547;background:var(--red-weak);color:var(--red-text)}.badge[data-tone=gray]{background:var(--muted);color:var(--text-2)}.metric-label,.field-label{color:var(--text-3);font-size:12px}.metric-content{display:grid;gap:7px}.metric-value-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.metric-value{color:var(--text);font-size:28px;font-weight:600;line-height:1.1;letter-spacing:0}.metric-value.is-long{max-width:11.5ch;font-size:23px;line-height:1.12}.metric-footer-line{color:var(--text-2);font-size:13px}.metric-detail,.muted,.inline-header p,.step-card p,.element-option span,.summary-item span,.job-row span{color:var(--text-3)}.status-grid,.service-grid,.list-stack,.bar-list,.element-list,.error-stack,.action-grid{display:grid;gap:10px}.status-row,.service-row,.bar-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-status-list{display:grid;gap:12px}.workflow-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.workflow-status-meta{display:flex;min-width:0;align-items:center;gap:10px}.workflow-status-meta span{color:var(--text-3);font-size:13px}.workflow-status-row strong{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums}.status-track{grid-column:1 / -1;height:8px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--muted)}.status-track div{height:100%;border-radius:inherit;background:var(--chart-2)}.status-track.mapped div,.status-track.approved div,.status-track.published div{background:var(--green-text)}.status-track.uploaded div,.status-track.analyzing div,.status-track.needs_review div{background:var(--orange-text)}.status-track.failed div{background:var(--red-text)}.status-pill{display:inline-flex;min-height:22px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-s);padding:2px 7px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.status-pill.green{border-color:#86efac40;background:var(--green-weak);color:var(--green-text)}.status-pill.yellow{border-color:#fbbf2442;background:var(--orange-weak);color:var(--orange-text)}.status-pill.red{border-color:#fca5a547;background:var(--red-weak);color:var(--red-text)}.status-pill.gray{background:var(--muted);color:var(--text-2)}.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-s);padding:7px 12px;font-weight:600;line-height:1}.button.primary{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.button.primary:hover{background:var(--accent-strong)}.button.secondary{border-color:var(--border);background:var(--card);color:var(--text-2)}.button.secondary:hover{background:var(--muted);color:var(--text)}.button.small{min-height:30px;padding:5px 9px;font-size:12px}.button.full{width:100%}.text-button,.selector-copy{border:0;background:transparent;color:var(--text-2)}.text-button:hover,.selector-copy:hover{color:var(--text)}.icon-button{min-height:32px;padding:5px 8px;font-size:12px}.icon-button.danger:hover{color:var(--red-text)}table{width:100%;border-collapse:collapse}thead{background:var(--muted)}th,td{border-bottom:1px solid var(--border);padding:14px 16px;text-align:left;vertical-align:top}th{color:var(--text-3);font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}tbody tr:hover{background:#ffffff06}.compact-table th,.compact-table td{padding:12px 16px}.job-list{display:grid;gap:10px}.job-row{display:flex;width:100%;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--card);color:var(--text);padding:11px 12px;text-align:left}.job-row:hover{background:var(--muted)}.job-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text-2)}.job-main{display:grid;min-width:0;flex:1;gap:3px}.job-main strong{overflow:hidden;color:var(--text);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.job-main span{overflow:hidden;color:var(--text-3);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.usage-card-content{display:grid;gap:12px}.usage-copy{display:flex;align-items:baseline;gap:8px}.usage-copy strong{color:var(--text);font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1}.usage-copy span{color:var(--text-3);font-size:13px}label{display:grid;gap:7px;color:var(--text-2);font-size:13px;font-weight:600}input,select,textarea{width:100%;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--input);color:var(--text);outline:none;padding:8px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #ffffff14}.table-input{min-width:260px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.single{grid-template-columns:1fr}.scan-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px}.filter-row{display:grid;grid-template-columns:1fr 180px 1fr;gap:12px}.inline-header{display:flex;align-items:center;gap:14px}.inline-header.compact{justify-content:space-between}.review-header{display:grid;gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-item{display:grid;gap:5px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--muted);padding:10px}.summary-item strong{color:var(--text);font-weight:600}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px}.step-stack,.review-side{display:grid;gap:14px}.step-card{overflow:hidden}.step-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:14px 16px}.step-card h3{font-size:15px;font-weight:600}.step-card p{margin:5px 0 0;font-size:13px}.step-columns{display:grid;grid-template-columns:.9fr 1.05fr 1.2fr}.step-column{border-right:1px solid var(--border);padding:16px}.step-column:last-child{border-right:0}.step-column h4{margin-bottom:10px;font-size:13px;font-weight:600}.step-column.editor{display:grid;gap:10px}.search-box{position:relative;display:block}.search-box svg{position:absolute;top:10px;left:10px;color:var(--text-3)}.search-box input{padding-left:34px}.element-option{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--card);padding:10px}.element-option strong,.element-option span{display:block}.error-item,.error-line{display:flex;align-items:center;gap:8px;border:1px solid rgba(252,165,165,.28);border-radius:var(--radius-s);background:var(--red-weak);color:var(--red-text);padding:9px 10px}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-s);color:var(--text-3);padding:14px;text-align:center}.json-viewer{max-height:420px;overflow:auto;margin:0;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--input);color:var(--text-2);padding:14px;font-size:12px}.chart-shell{min-height:240px}.chart-shell svg{width:100%;height:210px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--card)}.chart-grid-line{fill:none;stroke:var(--border-strong);stroke-width:.5}.chart-line{fill:none;stroke:var(--chart-2);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.chart-axis{display:flex;justify-content:space-between;margin-top:8px;color:var(--text-3);font-size:12px}.bar-row{display:grid;gap:7px}.bar-track{height:9px;overflow:hidden;border-radius:var(--radius-s);background:var(--muted)}.bar-track div{height:100%;border-radius:inherit;background:var(--chart-2)}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.check-row{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--card);color:var(--text-2);padding:9px 10px}.check-row input{width:auto;min-height:auto}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) minmax(380px,560px);background:var(--background)}.login-visual{position:relative;display:flex;min-height:100vh;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:var(--sidebar);padding:40px}.login-visual-brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:var(--text);font-size:16px;font-weight:600}.login-grid-pattern{position:absolute;inset:8%;opacity:.48;transform:skewY(10deg);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(circle at center,black 0%,transparent 70%);mask-image:radial-gradient(circle at center,black 0%,transparent 70%)}.login-visual blockquote{position:relative;z-index:1;max-width:560px;margin:auto 0 0;color:var(--text)}.login-visual blockquote p{margin:0;font-size:20px;line-height:1.45}.login-visual footer{margin-top:12px;color:var(--text-3);font-size:13px}.login-card{align-self:center;width:min(420px,calc(100% - 48px));margin:0 auto;padding:22px}.login-form{display:grid;gap:14px;margin-top:28px}.login-form h1{margin:3px 0 0;color:var(--text);font-size:24px;font-weight:650;line-height:1.2}.login-form p,.login-hint{margin:0;color:var(--text-3)}.login-hint{text-align:center;font-size:12px}.toast{position:fixed;top:16px;right:16px;z-index:20;max-width:340px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--card);box-shadow:var(--shadow);color:var(--text);padding:12px 14px}@media(max-width:1120px){.metric-grid,.two-column,.review-layout,.step-columns{grid-template-columns:1fr}.step-column{border-right:0;border-bottom:1px solid var(--border)}.step-column:last-child{border-bottom:0}}@media(max-width:900px){.search-trigger,.layout-chip{display:none}.login-page{grid-template-columns:1fr}.login-visual{display:none}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main-shell{padding:0 18px 24px}.topbar{margin:0 -18px 18px;padding:0 18px}.topbar,.inline-header,.scan-form,.filter-row,.form-grid,.summary-grid,.scope-grid{grid-template-columns:1fr;align-items:stretch}.topbar{display:flex}.breadcrumb{display:none}.metric-grid{grid-template-columns:1fr}}
