:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--bg-solid:#f5f7fa;--panel:#fff;--ink:#1a202c;--muted:#718096;--line:#e2e8f0;--primary:#667eea;--primary-light:#8b9cff;--primary-dark:#5568d3;--primary-soft:#ede9fe;--accent:#f093fb;--accent-light:#f0abfc;--danger:#f56565;--danger-soft:#fff5f5;--shadow:0 20px 60px #00000026;--shadow-sm:0 4px 12px #00000014;--shadow-lg:0 30px 80px #0003;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--bg-solid:#0f172a;--panel:#1e293b;--ink:#f1f5f9;--muted:#94a3b8;--line:#334155;--primary-soft:#312e81;--danger-soft:#7f1d1d;--shadow:0 20px 60px #00000080;--shadow-sm:0 4px 12px #0000004d;--shadow-lg:0 30px 80px #0009}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--ink);background-attachment:fixed;margin:0}.shell{width:min(1280px,100% - 32px);margin:0 auto;padding:40px 0}.toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;animation:.6s ease-out slideInDown;display:flex}.toolbar-controls{align-items:center;gap:12px;display:flex}.theme-toggle{border:2px solid var(--line);background:var(--panel);min-width:86px;height:40px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;transition:all .3s;display:flex}.theme-toggle svg{flex:none}.theme-toggle-label{font-size:13px;font-weight:700}.theme-toggle:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 0 0 3px #667eea1a}.theme-toggle:active{transform:translateY(0)scale(.98)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.eyebrow{background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;text-transform:uppercase;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:13px;font-weight:800}h1,h2{letter-spacing:-.5px;margin:0}h1{color:var(--ink);font-size:36px;font-weight:700;line-height:1.2}h2{margin-bottom:6px;font-size:18px;font-weight:600}.status-pill{border:2px solid var(--line);background:var(--panel);min-width:140px;color:var(--muted);text-align:center;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;animation:2s ease-in-out infinite pulse;display:inline-flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.status-pill.is-working{color:#22543d;background:linear-gradient(135deg,#f0fff4 0%,#e6ffed 100%);border-color:#48bb78;animation:2s ease-in-out infinite pulse-working}@keyframes pulse-working{0%,to{box-shadow:0 0 #48bb7866}50%{box-shadow:0 0 0 10px #48bb7800}}.status-pill.is-error{border-color:var(--danger);color:#c53030;background:linear-gradient(135deg,#fff5f5 0%,#ffe6e6 100%)}.workspace{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:24px;animation:.8s ease-out slideInUp;display:grid}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sync-panel,.info-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.sync-panel{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fffc;border-radius:16px;padding:28px;animation:.8s ease-out .1s both fadeIn}.info-panel{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fffc;border-radius:16px;animation:.8s ease-out .2s both fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-heading{justify-content:space-between;gap:14px;margin-bottom:18px;display:flex}.section-heading.compact{margin-top:24px;margin-bottom:14px}.section-heading h2{margin-bottom:3px}.section-heading p,.panel-heading p{color:var(--muted);margin:0;font-size:13px}.drop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:8px;display:grid}.drop-zone{border:2px dashed var(--line);text-align:center;cursor:pointer;background:linear-gradient(135deg,#667eea0d 0%,#f0abfc0d 100%);border-radius:14px;align-content:center;justify-items:center;gap:12px;min-height:220px;padding:28px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative;overflow:hidden}.drop-zone:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 0%,#667eea1a 50%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.drop-zone:hover,.drop-zone.is-over{border-color:var(--primary);background:linear-gradient(135deg,#667eea1a 0%,#f0abfc1a 100%);transform:translateY(-4px);box-shadow:0 10px 30px #667eea33}.drop-zone.has-file{border-color:var(--primary);background:linear-gradient(135deg,#667eea26 0%,#f0abfc26 100%);box-shadow:inset 0 0 0 1px #667eea33}.drop-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.step-badge{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:14px;font-weight:900;animation:.6s ease-out bounceIn;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 8px 20px #667eea4d}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.drop-icon{background:linear-gradient(135deg, var(--primary-soft) 0%, #f0abfc33 100%);width:56px;height:56px;color:var(--primary);border-radius:12px;place-items:center;font-size:28px;font-weight:800;animation:3s ease-in-out infinite float;display:grid;box-shadow:0 8px 24px #667eea26}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.drop-zone.is-over .drop-icon{animation:1.2s ease-in-out infinite float,2s linear infinite rotate}@keyframes rotate{0%{transform:rotate(0)translateY(0)}50%{transform:rotate(10deg)translateY(-8px)}to{transform:rotate(0)translateY(0)}}.drop-title{color:var(--ink);font-size:16px;font-weight:700}.drop-note{color:var(--muted);font-size:13px}.file-name{border:1px solid var(--line);width:100%;min-height:40px;color:var(--muted);overflow-wrap:anywhere;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:all .3s;display:flex}.file-name:hover{border-color:var(--primary);background:linear-gradient(135deg,#667eea0d 0%,#f0abfc0d 100%)}.file-check{color:#48bb78;flex-shrink:0;animation:.3s ease-out slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.options{background:linear-gradient(135deg,#667eea0d 0%,#f0abfc0d 100%);border:2px solid #667eea1a;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:0;padding:20px;animation:.6s ease-out .2s both fadeIn;display:grid}.options label{color:var(--ink);letter-spacing:.3px;gap:10px;font-size:13px;font-weight:700;display:grid}.options label span{color:var(--muted);align-items:center;gap:6px;font-weight:600;display:flex}.options .wide{grid-column:1/-1}.options input[type=text]{border:1px solid var(--line);width:100%;height:40px;color:var(--ink);font:inherit;background:var(--panel);box-shadow:none;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;font-weight:500;transition:all .3s}.options input[type=text]::placeholder{color:var(--muted);opacity:.7;font-weight:500}.options input[type=text]:hover{border-color:var(--primary);background:var(--panel);box-shadow:0 0 0 3px #667eea1a}.options input[type=text]:focus{border-color:var(--primary);background:var(--panel);transform:scale(1.01);box-shadow:0 0 0 3px #667eea33}.options input[type=text]:focus::placeholder{color:var(--muted)}.actions{border-top:2px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:24px;padding-top:20px;display:flex}button,.download-link{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:14px;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:inline-flex}button{border:0}.primary-button{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;min-width:240px;animation:.6s ease-out slideInRight;box-shadow:0 12px 32px #667eea4d}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.primary-button:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);transform:translateY(-2px);box-shadow:0 16px 40px #667eea66}.primary-button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:wait;opacity:.7;animation:1.5s infinite shimmer}@keyframes shimmer{0%,to{opacity:.7}50%{opacity:.85}}.download-link{border:2px solid var(--primary);color:var(--primary);background:linear-gradient(135deg,#667eea0d 0%,#f0abfc0d 100%);box-shadow:0 4px 12px #667eea26}.download-link:hover{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;box-shadow:0 12px 28px #667eea4d}.mapping-panel{border-top:2px solid var(--line);padding-top:18px}.info-panel{align-content:start;gap:20px;padding:24px;display:grid}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panel-heading h2{margin-bottom:0}.row-delete{border:2px solid var(--line);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--danger);cursor:pointer;background:#fff;border-radius:8px;place-items:center;padding:0;font-size:16px;line-height:1;transition:all .3s;display:inline-grid}.row-delete:hover{border-color:var(--danger);background:var(--danger-soft);transform:scale(1.1)}.row-delete:active{transform:scale(.95)}.mapping-header-actions{grid-template-columns:auto auto;gap:8px;min-width:150px;display:grid}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:12px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}td:nth-child(2){color:var(--primary);font-weight:600}tbody tr{transition:all .2s}tbody tr:hover{background-color:#667eea08}.mapping-table input{border:2px solid var(--line);box-sizing:border-box;background:var(--panel);width:100%;height:36px;color:var(--ink);border-radius:8px;padding:0 10px;font-family:inherit;font-size:13px;transition:all .3s}.mapping-table input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #667eea1a}.mapping-actions{text-align:center;width:50px}.mapping-table:not(.is-editing) .mapping-actions{display:none}.mapping-tools{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.secondary-button{border:2px solid var(--line);min-height:38px;color:var(--primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:all .3s;display:inline-flex}.secondary-button:hover{border-color:var(--primary);background:linear-gradient(135deg,#667eea0d 0%,#f0abfc0d 100%);transform:translateY(-1px);box-shadow:0 4px 12px #667eea1a}.secondary-button:active{transform:translateY(0)}.edit-btn{color:var(--primary)}.save-btn,.success-button{color:#22543d;background:linear-gradient(135deg,#f0fff4 0%,#e6ffed 100%);border-color:#48bb78}.save-btn:hover,.success-button:hover{background:linear-gradient(135deg,#e6ffed 0%,#c6f6d5 100%);border-color:#38a169;box-shadow:0 4px 12px #48bb7833}.cancel-btn{color:var(--danger);border-color:#f5a5a5}.cancel-btn:hover{background:var(--danger-soft);border-color:var(--danger)}.add-row-btn{color:var(--primary)}.reset-btn{color:var(--danger);border-color:#f5a5a5}.reset-btn:hover{background:var(--danger-soft);border-color:var(--danger)}.danger-light-button{color:var(--danger)}.result-card{border-top:2px solid var(--line);background:linear-gradient(135deg,#f0abfc14 0%,#667eea14 100%);border-radius:12px;padding:18px;animation:.6s ease-out .3s both slideInUp}.result-header{color:#48bb78;align-items:center;gap:10px;margin-bottom:14px;display:flex}.result-header h2{margin:0}dl{gap:12px;margin:0;display:grid}dl div{background:#fff9;border-radius:8px;justify-content:space-between;gap:14px;padding:10px;transition:all .3s;display:flex}dl div:hover{background:#fff;transform:translate(4px)}dt{color:var(--muted);font-weight:500}dd{color:var(--primary);margin:0;font-weight:700}@media (width<=920px){.workspace,.drop-grid,.options{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch;gap:14px}h1{font-size:28px}.actions,.panel-heading{flex-direction:column;align-items:stretch}.mapping-header-actions{justify-content:flex-start}.theme-toggle{align-self:flex-start}.primary-button{min-width:100%}.drop-zone{min-height:200px}.sync-panel,.info-panel{padding:20px}}
