:root{--background:#09090b;--foreground:#fafafa;--muted:#18181b;--muted-foreground:#a1a1aa;--card:#0f172ab3;--card-foreground:#fafafa;--border:#ffffff14;--input:#ffffff0f;--primary:#f8fafc;--primary-foreground:#020617;--secondary:#111827;--secondary-foreground:#e5e7eb;--accent:#22c55e;--accent-foreground:#052e16;--warning:#fb923c;--warning-foreground:#431407;--danger:#ef4444;--danger-foreground:#450a0a;--ring:#f8fafc66;--radius:18px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--foreground);background:radial-gradient(circle at 0 0,#22c55e24,#0000 28%),radial-gradient(circle at 100% 0,#38bdf81f,#0000 24%),linear-gradient(#020617,#09090b 28%,#09090b);margin:0;font-family:IBM Plex Sans,sans-serif}button,select,textarea,input{font:inherit}.ep-app-shell{min-height:100vh}.ep-topbar{border-bottom:1px solid var(--border);z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#020617b8;justify-content:space-between;align-items:center;gap:24px;padding:20px 32px;display:flex;position:sticky;top:0}.ep-logo{letter-spacing:.08em;text-transform:lowercase;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:600}.ep-logo span{color:#4ade80}.ep-tagline{color:var(--muted-foreground);margin-top:4px;font-size:.85rem}.ep-topbar-actions{align-items:center;gap:12px;display:flex}.ep-main{gap:24px;width:min(1240px,100vw - 32px);margin:0 auto;padding:32px 0 48px;display:grid}.ep-section-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0f172ab8,#09090be0)}.ep-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);box-shadow:0 14px 40px #0000003d}.ep-card-header{padding:20px 20px 8px}.ep-card-title{font-size:1rem;font-weight:600}.ep-card-description{color:var(--muted-foreground);margin-top:6px;font-size:.92rem;line-height:1.5}.ep-card-content{padding:16px 20px 20px}.ep-section-headline{letter-spacing:.16em;text-transform:uppercase;color:#86efac;margin-bottom:12px;font-family:IBM Plex Mono,monospace;font-size:.72rem}.ep-button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:500;transition:all .16s;display:inline-flex}.ep-button:disabled{opacity:.45;cursor:not-allowed}.ep-button-default{border-color:var(--border);color:var(--foreground);background:#ffffff0f}.ep-button-default:hover:not(:disabled),.ep-button-secondary:hover:not(:disabled),.ep-button-ghost:hover:not(:disabled){background:#ffffff17}.ep-button-primary{background:var(--primary);color:var(--primary-foreground)}.ep-button-primary:hover:not(:disabled){transform:translateY(-1px)}.ep-button-secondary{color:var(--secondary-foreground);border-color:var(--border);background:#ffffff08}.ep-button-ghost{color:var(--foreground);border-color:var(--border);background:0 0}.ep-button-danger{color:#fca5a5;background:#ef444429;border-color:#ef444442}.ep-icon-button{width:36px;height:36px;padding:0}.ep-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:.75rem;line-height:1;display:inline-flex}.ep-badge-default{color:#bfdbfe;background:#60a5fa29;border-color:#60a5fa47}.ep-badge-secondary,.ep-badge-outline{color:#d4d4d8;border-color:var(--border);background:#ffffff0a}.ep-badge-success{color:#bbf7d0;background:#22c55e29;border-color:#22c55e4d}.ep-badge-warning{color:#fdba74;background:#fb923c2e;border-color:#fb923c4d}.ep-upload-content{gap:18px;display:grid}.ep-dropzone{border-radius:calc(var(--radius) - 4px);width:100%;color:inherit;text-align:center;cursor:pointer;background:linear-gradient(#ffffff05,#ffffff03),#02061770;border:1px dashed #ffffff29;padding:42px 24px;transition:all .18s}.ep-dropzone:hover{background:linear-gradient(#22c55e14,#0f172a80);border-color:#4ade8073}.ep-dropzone-icon{border:1px solid var(--border);background:#ffffff0a;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 14px;display:grid}.ep-dropzone-title{font-size:1.1rem;font-weight:600}.ep-dropzone-copy{max-width:720px;color:var(--muted-foreground);margin:8px auto 0}.ep-queue-list{gap:10px;display:grid}.ep-queue-item{border:1px solid var(--border);background:#ffffff08;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.ep-queue-file{gap:4px;display:grid}.ep-queue-name{font-family:IBM Plex Mono,monospace;font-size:.85rem}.ep-queue-size,.ep-doc-summary,.ep-field-path,.ep-issue-body,.ep-dialog-footer-note,.ep-meta-grid span:first-child{color:var(--muted-foreground)}.ep-queue-remove{border:1px solid var(--border);width:32px;height:32px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:grid}.ep-toolbar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ep-toolbar-control{gap:8px;display:grid}.ep-toolbar-control label{text-transform:uppercase;letter-spacing:.12em;color:#d4d4d8;font-family:IBM Plex Mono,monospace;font-size:.74rem}.ep-select,.ep-textarea{border:1px solid var(--border);background:var(--input);width:100%;color:var(--foreground);border-radius:12px;outline:none;padding:10px 12px}.ep-select:focus,.ep-textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #f8fafc14}.ep-textarea{resize:vertical;min-height:72px}.ep-upload-actions,.ep-table-toolbar,.ep-dialog-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.ep-upload-meta{color:#bbf7d0;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;display:inline-flex}.ep-upload-buttons,.ep-table-actions{flex-wrap:wrap;gap:10px;display:flex}.ep-status{border:1px solid var(--border);border-radius:14px;padding:12px 14px}.ep-status-success{color:#bbf7d0;background:#22c55e1f;border-color:#22c55e38}.ep-status-error{color:#fca5a5;background:#ef444424;border-color:#ef444438}.ep-table-wrap{border:1px solid var(--border);border-radius:16px;overflow:auto}.ep-table{border-collapse:collapse;width:100%;min-width:960px}.ep-table th,.ep-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:14px 16px}.ep-table th{text-transform:uppercase;letter-spacing:.14em;color:#d4d4d8;background:#ffffff08;font-family:IBM Plex Mono,monospace;font-size:.75rem}.ep-table tbody tr:hover{background:#ffffff05}.ep-doc-cell{gap:4px;display:grid}.ep-doc-name,.ep-field-label{font-weight:600}.ep-empty-state{text-align:center;color:var(--muted-foreground);padding:40px 20px}.ep-dialog-overlay{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617c7;padding:24px;position:fixed;inset:0;overflow:auto}.ep-dialog{border:1px solid var(--border);background:linear-gradient(#0f172af7,#020617f5);border-radius:24px;width:min(1180px,100vw - 48px);margin:0 auto;box-shadow:0 24px 80px #0000006b}.ep-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.ep-dialog-title{font-size:1.08rem;font-weight:600}.ep-dialog-title-block{gap:4px;display:grid}.ep-dialog-subtitle{color:var(--muted-foreground);font-size:.88rem}.ep-dialog-body{gap:18px;padding:22px 24px;display:grid}.ep-review-grid,.ep-json-grid,.ep-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ep-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ep-stat-value{font-size:2rem;font-weight:600}.ep-meta-grid{gap:12px;display:grid}.ep-meta-grid>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.ep-muted-panel .ep-card-content{color:var(--muted-foreground)}.ep-issues-list{gap:10px;display:grid}.ep-issue-row{background:#fb923c14;border:1px solid #fb923c2e;border-radius:14px;padding:12px 14px}.ep-issue-title{margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:.78rem}.ep-json-panel .ep-card-content{padding-top:0}.ep-json-preview{border:1px solid var(--border);color:#d4d4d8;background:#09090bcc;border-radius:14px;max-height:320px;margin:0;padding:14px;font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.7;overflow:auto}.ep-field-cell{gap:4px;display:grid}.ep-field-path{word-break:break-word;font-family:IBM Plex Mono,monospace;font-size:.76rem}.ep-field-editor{gap:8px;display:grid}.ep-confidence{align-items:center;gap:10px;min-width:120px;display:flex}.ep-confidence-track{background:#ffffff14;border-radius:999px;flex:1;height:8px;overflow:hidden}.ep-confidence-fill{border-radius:inherit;height:100%}.ep-confidence-high{background:#4ade80}.ep-confidence-medium{background:#fbbf24}.ep-confidence-low{background:#fb7185}.ep-evidence-pill{border:1px solid var(--border);max-width:260px;color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;background:#ffffff0a;border-radius:12px;padding:10px 12px;overflow:hidden}.ep-spin{animation:1s linear infinite ep-spin}@keyframes ep-spin{to{transform:rotate(360deg)}}@media (width<=960px){.ep-toolbar-grid,.ep-review-grid,.ep-json-grid,.ep-stats-grid{grid-template-columns:1fr}}@media (width<=720px){.ep-topbar{flex-direction:column;align-items:flex-start;padding:16px}.ep-main{width:min(100vw - 24px,1240px);padding:20px 0 28px}.ep-dialog-overlay{padding:12px}.ep-dialog{width:100%}}
