@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#5e6ad2;--primary-hover:#7170ff;--primary-light:#ebedf7;--primary-bg:#f0f1fb;--bg:#f9f9fa;--bg-elevated:#fff;--bg-sunken:#f3f4f5;--border:#e8e8ec;--border-light:#f0f0f3;--border-strong:#d0d0d8;--text:#1a1a2e;--text-secondary:#6b6f76;--text-tertiary:#9ca0a8;--success:#16a34a;--success-bg:#f0fdf4;--warning:#d97706;--warning-bg:#fffbeb;--error:#dc2626;--error-bg:#fef2f2;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-primary:0 2px 8px #5e6ad240}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-feature-settings:"cv01", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}.app-container{max-width:1080px;margin:0 auto;padding:16px 24px 48px}.app-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 0 16px;display:flex}.app-header-brand{align-items:center;gap:10px;display:flex}.app-header-logo{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--primary), var(--primary-hover));width:36px;height:36px;box-shadow:var(--shadow-primary);justify-content:center;align-items:center;font-size:18px;display:flex}.app-header h1{color:var(--text);letter-spacing:-.3px;margin:0;font-size:18px;font-weight:600}.app-header-subtitle{color:var(--text-tertiary);font-size:12px;font-weight:400}.steps-container{background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-xs);padding:16px 20px;margin-bottom:28px!important}.ant-steps-item-title{font-size:13px!important;font-weight:500!important}.ant-steps-item-active .ant-steps-item-title{font-weight:600!important}.ant-card{transition:box-shadow .2s,border-color .2s;border-radius:var(--radius)!important;border:1px solid var(--border-light)!important;box-shadow:var(--shadow-xs)!important}.ant-card:hover{box-shadow:var(--shadow-sm)!important}.ant-card-head{border-bottom:1px solid var(--border-light)!important;min-height:44px!important;padding:0 14px!important}.ant-card-head-title{padding:10px 0!important}.ant-card-body{padding:14px!important}.file-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-elevated);justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 14px;transition:all .15s;display:flex}.file-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.file-item .file-info{align-items:center;gap:8px;font-size:13px;display:flex}.mapping-row{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-sunken);align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;transition:border-color .15s;display:flex}.mapping-row:hover{border-color:var(--border-strong)}.mapping-row:last-child{margin-bottom:0}.mapping-arrow{color:var(--primary);font-size:14px;font-weight:600}.download-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-primary);align-items:center;gap:8px;margin:6px;padding:12px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.download-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.preview-table{border-collapse:collapse;border-radius:var(--radius-sm);width:100%;margin-top:8px;font-size:12px;overflow:hidden}.preview-table th,.preview-table td{border:1px solid var(--border-light);text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:140px;padding:5px 8px;overflow:hidden}.preview-table th{background:var(--primary-light);color:var(--primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.preview-table td{color:var(--text-secondary)}.ant-btn{border-radius:var(--radius-sm)!important;font-weight:500!important}.ant-btn-primary{background:var(--primary)!important;box-shadow:var(--shadow-primary)!important}.ant-btn-primary:hover{background:var(--primary-hover)!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number{border-radius:var(--radius-sm)!important}.ant-tag{border-radius:4px!important;padding:1px 7px!important;font-size:11px!important;font-weight:500!important}.ant-alert{border-radius:var(--radius-sm)!important}.ant-modal-content{border-radius:var(--radius-lg)!important}.ant-modal-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0!important}.op-badge{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:inline-flex}.empty-state{text-align:center;color:var(--text-tertiary);padding:48px 24px}.empty-state-icon{opacity:.4;margin-bottom:12px;font-size:40px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.config-toolbar{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:20px;padding:10px 16px}.op-card-wrap{margin-bottom:20px;position:relative}.op-connector{background:var(--border);z-index:0;width:2px;height:20px;position:absolute;bottom:-20px;left:22px}.op-card{z-index:1;position:relative}.op-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.op-header-left{flex:1;align-items:center;gap:10px;display:flex}.op-name-input{width:200px!important;font-size:14px!important;font-weight:600!important}.op-name-input.ant-input{padding-left:6px!important}.op-file-row{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.op-file-cell{flex-direction:column;flex:1;gap:4px;display:flex}.op-file-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.op-file-arrow{color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;padding-top:22px;font-size:18px;font-weight:600;display:flex}.op-key-row{background:var(--bg-sunken);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.op-key-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.op-key-arrow{color:var(--text-tertiary);font-size:11px;font-weight:500}.op-mapping-section{margin-bottom:8px}.op-mapping-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.op-mapping-title{color:var(--text-secondary);font-size:12px;font-weight:600}.op-mapping-header .ant-btn{font-size:12px!important}.op-advanced .ant-collapse-header{padding:4px 0!important;font-size:12px!important}.op-advanced .ant-collapse-content-box{padding:8px 0 0!important}.replace-rule-row{margin-bottom:10px}.replace-rule-inputs{background:var(--bg-sunken);border:1px solid var(--border-light);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px;display:flex}.replace-arrow{color:var(--primary);font-size:16px;font-weight:600}.replace-result-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-sunken);margin-bottom:10px;padding:10px}.replace-result-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
