* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 14px; color: #1a1a1a; background: #f5f5f5; line-height: 1.5; } .container { max-width: 800px; margin: 0 auto; padding: 32px 24px; } header { margin-bottom: 32px; } header h1 { font-size: 24px; font-weight: 600; } .subtitle { color: #6b7280; margin-top: 4px; } .section { background: #fff; border-radius: 8px; padding: 24px; margin-bottom: 24px; border: 1px solid #e5e7eb; } .section h2 { font-size: 16px; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid #f3f4f6; } .section-desc { color: #6b7280; font-size: 13px; margin-bottom: 16px; } /* Settings */ .setting-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #f3f4f6; } .setting-row label { font-weight: 500; } .setting-desc { font-size: 12px; color: #9ca3af; margin-top: 2px; } .toggle { position: relative; display: inline-block; width: 40px; height: 22px; } .toggle input { display: none; } .toggle-slider { position: absolute; inset: 0; background: #d1d5db; border-radius: 22px; cursor: pointer; transition: 0.2s; } .toggle-slider::before { content: ''; position: absolute; width: 18px; height: 18px; left: 2px; bottom: 2px; background: #fff; border-radius: 50%; transition: 0.2s; } .toggle input:checked + .toggle-slider { background: #10b981; } .toggle input:checked + .toggle-slider::before { transform: translateX(18px); } .input-small { width: 80px; padding: 6px 8px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px; text-align: center; } /* Table */ .mapping-table { width: 100%; border-collapse: collapse; margin-bottom: 16px; } .mapping-table th { text-align: left; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: #6b7280; padding: 8px 10px; border-bottom: 1px solid #e5e7eb; } .mapping-table td { padding: 8px 10px; border-bottom: 1px solid #f3f4f6; font-size: 13px; } .mapping-table tr:hover { background: #f9fafb; } .mapping-table .real { color: #dc2626; } .mapping-table .sub { color: #059669; font-weight: 500; } .mapping-table .cat { font-size: 11px; background: #f3f4f6; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; } /* Add row */ .add-row { display: flex; gap: 8px; align-items: center; padding-top: 12px; border-top: 1px solid #e5e7eb; } .input { flex: 1; padding: 7px 10px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px; outline: none; } .input:focus { border-color: #111; } .select { padding: 7px 8px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px; background: #fff; } .checkbox-label { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #6b7280; } /* Buttons */ .btn { padding: 7px 14px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 12px; font-weight: 500; cursor: pointer; background: #fff; transition: all 0.15s; } .btn:hover { background: #f3f4f6; } .btn-primary { background: #111; color: #fff; border-color: #111; } .btn-primary:hover { background: #333; } .btn-danger { color: #dc2626; border-color: #fecaca; } .btn-danger:hover { background: #fef2f2; } .btn-sm { padding: 4px 8px; font-size: 11px; } .bulk-actions { display: flex; gap: 8px; margin-bottom: 16px; } /* Log */ .log-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; } .log-list { max-height: 300px; overflow-y: auto; } .log-item { display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px solid #f3f4f6; font-size: 13px; } .log-time { color: #9ca3af; font-size: 12px; white-space: nowrap; } .log-original { color: #dc2626; text-decoration: line-through; } .log-replaced { color: #059669; } footer { text-align: center; padding: 16px 0; color: #9ca3af; font-size: 12px; }